Комментарии 7
Привет! Крутая статья, спасибо :)
А расскажите, как долго ваши пайплайны взаимодействующие с хайвом работают?
И ещё вопрос про частоту запусков. Из статьи я понял что у вас только раз в день что-то запускаются, это так? Ничего чаще нет?
А если пайплайн сломался, у вас его перезапускает сам airflow или оператор?
> А расскажите, как долго ваши пайплайны взаимодействующие с хайвом работают?
Мы используем Spark — у нас внутри пайплайнов множество джойнов и хитрых аггрегаций, но получается очень быстро, спарк с хайвом дружат хорошо.
> И ещё вопрос про частоту запусков. Из статьи я понял что у вас только раз в день что-то запускаются, это так? Ничего чаще нет?
«Тяжелые» джобы с обучением моделей запускаем раз в сутки. Есть сервисные пайплайны, например переливка Postgres->Redis содержит несколько операторов, самый долгий из которых отрабатывает за 4 минуты. Этот пайплан запускается каждый час
> А если пайплайн сломался, у вас его перезапускает сам airflow или оператор?
Если сломался пайплайн — значит, покрашилась какая-то переливка уровнем выше, которой мы не управляем. Поэтому каждая поломка требует разбирательств — посмотреть в заббикс, в канал слака для мониторинга. Если проблема решена — рестартуем внучную.
Мы используем Spark — у нас внутри пайплайнов множество джойнов и хитрых аггрегаций, но получается очень быстро, спарк с хайвом дружат хорошо.
> И ещё вопрос про частоту запусков. Из статьи я понял что у вас только раз в день что-то запускаются, это так? Ничего чаще нет?
«Тяжелые» джобы с обучением моделей запускаем раз в сутки. Есть сервисные пайплайны, например переливка Postgres->Redis содержит несколько операторов, самый долгий из которых отрабатывает за 4 минуты. Этот пайплан запускается каждый час
> А если пайплайн сломался, у вас его перезапускает сам airflow или оператор?
Если сломался пайплайн — значит, покрашилась какая-то переливка уровнем выше, которой мы не управляем. Поэтому каждая поломка требует разбирательств — посмотреть в заббикс, в канал слака для мониторинга. Если проблема решена — рестартуем внучную.
Можете уточнить что значит «переливки Clickhouse → Hive». Вы bспользуете КХ как хранилище сырых данных, а считаете на Hive?
Да, раньше все данные хранились в хайве, продуктовые аналитики использовали Presto для отчётов.
Потом аналититики переехали в Clickhouse (об этом есть небольшой пост: habr.com/ru/company/ivi/blog/347408 ) А ML остался в хайве, потому что у нас пайплайны подготовки данных написаны на Spark, в Clickhouse не хочется переезжать. Мы на стороне кликхауса делаем предагрегацию и переливаем агрегаты в Hive, откуда их спарком подсасываем.
Потом аналититики переехали в Clickhouse (об этом есть небольшой пост: habr.com/ru/company/ivi/blog/347408 ) А ML остался в хайве, потому что у нас пайплайны подготовки данных написаны на Spark, в Clickhouse не хочется переезжать. Мы на стороне кликхауса делаем предагрегацию и переливаем агрегаты в Hive, откуда их спарком подсасываем.
Поясните, пожалуйста, про ваш пайплайн от начала до спарк-сабмита: на сколько я уловил из статьи, у вас стартует главный баш (крон?), который дергает даг и сидит ждет N времени, при этом каждые 10 минут опрашивает ваш API над airflow на предмет статуса дага, я верно понял?
Добрый день! Сможете раскрыть тему с логами Spark'a?
Как настраивали их сохранение? "По классике" они сохраняются в странном формате, который читается только через YARN, при попытке открыть их тем же pySparkом - выводятся кривые иероглифы, а при попытке перекодировки в utf-8 выстреливает ошибка.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Внедрение Airflow для управления Spark-джобами в ivi: надежды и костыли