Выбор ответа Middle ETL, ELT и Airflow обновлено

Catchup

Вопрос

Новый ежедневный DAG включили с start_date год назад. Через минуту Airflow создал 365 запусков. Почему?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Включён catchup: Airflow создаёт запуски за все пропущенные интервалы с startdate. Catchup догоняет все интервалы от startdate до текущего момента.

Варианты ответа

  1. Это ошибка планировщика при большой разнице между start_date и текущей датой, нужен рестарт
  2. Включён catchup: Airflow создаёт запуски за все пропущенные интервалы с start_dateправильный ответ
  3. Airflow при включении DAG создаёт запуски на год вперёд, чтобы спланировать нагрузку
  4. start_date игнорируется, а число запусков равно числу задач в DAG, умноженному на ретраи

Разбор

Catchup догоняет все интервалы от start_date до текущего момента. Это удобно для бэкфилла, но для нового DAG часто не нужно. Значение по умолчанию зависит от версии и настроек, поэтому его задают явно. Ошибкой планировщика это не является. Вперёд запуски не создаются, и start_date как раз определяет первый интервал.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.