Pull to refresh

Comments 7

Привет! Крутая статья, спасибо :)


  1. А расскажите, как долго ваши пайплайны взаимодействующие с хайвом работают?


  2. И ещё вопрос про частоту запусков. Из статьи я понял что у вас только раз в день что-то запускаются, это так? Ничего чаще нет?


  3. А если пайплайн сломался, у вас его перезапускает сам airflow или оператор?


> А расскажите, как долго ваши пайплайны взаимодействующие с хайвом работают?
Мы используем Spark — у нас внутри пайплайнов множество джойнов и хитрых аггрегаций, но получается очень быстро, спарк с хайвом дружат хорошо.

> И ещё вопрос про частоту запусков. Из статьи я понял что у вас только раз в день что-то запускаются, это так? Ничего чаще нет?

«Тяжелые» джобы с обучением моделей запускаем раз в сутки. Есть сервисные пайплайны, например переливка Postgres->Redis содержит несколько операторов, самый долгий из которых отрабатывает за 4 минуты. Этот пайплан запускается каждый час
image

> А если пайплайн сломался, у вас его перезапускает сам airflow или оператор?

Если сломался пайплайн — значит, покрашилась какая-то переливка уровнем выше, которой мы не управляем. Поэтому каждая поломка требует разбирательств — посмотреть в заббикс, в канал слака для мониторинга. Если проблема решена — рестартуем внучную.
Можете уточнить что значит «переливки Clickhouse → Hive». Вы bспользуете КХ как хранилище сырых данных, а считаете на Hive?
Да, раньше все данные хранились в хайве, продуктовые аналитики использовали Presto для отчётов.

Потом аналититики переехали в Clickhouse (об этом есть небольшой пост: habr.com/ru/company/ivi/blog/347408 ) А ML остался в хайве, потому что у нас пайплайны подготовки данных написаны на Spark, в Clickhouse не хочется переезжать. Мы на стороне кликхауса делаем предагрегацию и переливаем агрегаты в Hive, откуда их спарком подсасываем.
Поясните, пожалуйста, про ваш пайплайн от начала до спарк-сабмита: на сколько я уловил из статьи, у вас стартует главный баш (крон?), который дергает даг и сидит ждет N времени, при этом каждые 10 минут опрашивает ваш API над airflow на предмет статуса дага, я верно понял?
Всё верно. Но это только в одном самом важном DAG. Все остальные графы (их около десятка) работают по штатному механизму расписаний Airflow.

Добрый день! Сможете раскрыть тему с логами Spark'a?
Как настраивали их сохранение? "По классике" они сохраняются в странном формате, который читается только через YARN, при попытке открыть их тем же pySparkом - выводятся кривые иероглифы, а при попытке перекодировки в utf-8 выстреливает ошибка.

Sign up to leave a comment.