tgoop.com/data_days/365
Last Update:
😱 етл-таски в очереди по ~23 часа
в Яндекс Го была довольно стандартная (да ведь?) дата-архитектура: были дата-лейк на YT и DWH на Greenplum. Вначале все данные попадали в лейк, там как-то предобрабатывалось и потом можно было залить в GP для всяких там джойнов и прочих оптимальных доступов.
Два наблюдения:
- между YT и GP случались заторы — данные туда-сюда заливались немаленькие и задача перекладывания джейсонов между базами довольно нетривиальная
- одного не самого инженера могло быть достаточно, чтобы сделать GP плохо ( :wave: ) — как-то ко мне пришёл наш ДБА и попросил засунуть в остановить свой запрос и немного его оптимизировать перед следующим запуском
⌘⌘⌘
Проблема, видимо, распространённая, так как в Кларне схожая картина: есть лейк на S3/Athena и DWH в Redshift. По умолчанию все данные заливаются в Редшифт и там уже обрабатываются.
Дата платформа хотела как лучше и сделала удобный фреймоврк по клепанию Airflow-тасков: нужно всего лишь написать sql-файлики и добавить их в yaml по нужной форме. Вуаля! и ваш даг уже задеплоен Дженкинсом в коммунальный Airflow.
Фреймворк получися удобным и всё больше дата-инженеров и аналитиков стали добавлять свои тасочки. В начале задержек не было, потом очередь стала больше и свободные слоты в пуле Редшифта заполнились.
Начались очереди на запуск тасков — квадратик таска в Airflow никак не хочет становиться ярко-зелёным, хотя ДАГ запущен.
Задержки в очереди всё росли и росли; и к текущему моменту нельзя с точностью сказать когда запуститься твой таск. При кроне в 7 утра он может начать работать в 10, 18 или даже завтра! О новый дивный мир!
⌘⌘⌘
При этом управленчески вроде хотели как лучше: поддерживают коммунальный Airflow для демократизации доступа к данным и минимальным порогом доступа.
Но, видимо, в какой-то момент что-то пошло не так. Коммунальное и доступное привело к ситуациям, когда дата-саентист жалуется в поддержке, что его запрос выдаёт ошибку. Начинают разбираться и оказывается что он пытается скопировать к себе во временную таблицу все заказы за пять лет — и не просто инкрементально, а через drop-create каждый раз!
Получается, пользователи наклепали запросов, они как-то работают, но вот до рефакторинга и оптимизации обычно дело не доходит: надо фичи деплоить и велью деливерить, а не вот это вот ваше.
⌘⌘⌘
у команды платформы тоже не хватет рук на всё: несколько человек не могут уследить за поделками тысячи! при этом предмодерация каждой джобы здесь тоже не сработает — сломается демократизация и тот самый селф-сервис, куда все так стремятся.
и сейчас всеми силами пытаются исправить это бутылочное горлышко в виде Редшифта и перевести таски на Афину или Спарк с выделенным компьютом.
ещё из альтернативных предложений — каждая команда может заказать себе выделенный кластер Redshift Serverless. Всё то же самое, только ваше собственное: ни с кем делиться не надо и локтями толкаться в очереди не придётся.
BY data будни
Share with your friend now:
tgoop.com/data_days/365