Как стать автором
Обновить
13
0
Никита @sowow359

Data Engineer

Отправить сообщение
Всё верно, мы сначала решили сначала рассмотреть opensource продукты в надежде, что один из них нам подойдет
У нас для этого есть модуль libs, который лежит в репозитории (и на нодах эйрфлоу) рядом с дагами, туда мы кладем все наши генераторы, кастомные операторы и прочие штуки, которые могут как-то переиспользоваться в разных местах в коде пайплайнов
Спасибо за замечание, исправились:)
Как-то автоматически делается или руками?

Автоматически, на основе schedule_interval

Правильно ли понимаю, что идемпотентность достигается за счет использования {{ ds }}, как в примере про Hive?

Всё верно, за счет макросов, основанных на execution_date

Правильно ли я понимаю, что при использовании airflow больше подходит DAG/task вида «Загрузить данные за такой-то час такого-то дня (основанный, например, на {{ ts }}) » с расписанием раз в час?

Всё правильно понимаете:) Можете забирать все данные, например, между execution_date и next_execution_date.

Может ли второй подход сработать для интервалов в 10 минут и стоит ли его применять?

It depends, возможно, для вашей задачи это подойдет. Для таких интервалов запуска нужно помнить, что задачи в некоторых случаях могут не успеть отработать за это время, и пайплайн будет опаздывать, поэтому пробуйте на свой страх и риск. Если всё-таки нужно что-то около-реалтаймовое, то имеет смысл посмотреть на другие инструменты

Правильно ли я понимаю, что после того как scheduler прочитает обновленную конфигурацию DAGов, если {{ dag_id }} будет новый, то следующего запуска (и всех последующих) старой версии DAG не будет, а новая версия будет запускаться согласно расписанию.

Если вы заменили и schedule_interval, и dag_id, то у вас просто добавится новый даг, а старый будет недоступен (он останется в UI, но если попробовать в него зайти, то вылетит ошибка вида DAG seems to be missing, запускаться он соответственно тоже не будет). А вот если вы поменяли только schedule_interval, то что-то странное очень вероятно:) Применяйте версионирование и все будет работать хорошо.

Могут ли возникнуть проблемы с расписанием, если поменять название c X на Y и потом обратно на X? Не сталкивались?

При изменении названия (только названия) с X на Y даг с названием X перестанет запускаться, активным станет Y. Соответственно, при изменении обратно на X снова станет активным старый пайплайн, и будет запускаться без проблем, разве что несколько запусков могут быть пропущены.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность