Выбор ответа Middle ETL, ELT и Airflow обновлено
Catchup
Вопрос
Новый ежедневный DAG включили с start_date год назад. Через минуту Airflow создал 365 запусков. Почему?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Включён catchup: Airflow создаёт запуски за все пропущенные интервалы с startdate. Catchup догоняет все интервалы от startdate до текущего момента.
Варианты ответа
- Это ошибка планировщика при большой разнице между start_date и текущей датой, нужен рестарт
- Включён catchup: Airflow создаёт запуски за все пропущенные интервалы с start_dateправильный ответ
- Airflow при включении DAG создаёт запуски на год вперёд, чтобы спланировать нагрузку
start_dateигнорируется, а число запусков равно числу задач в DAG, умноженному на ретраи
Разбор
Catchup догоняет все интервалы от start_date до текущего момента. Это удобно для бэкфилла, но для нового DAG часто не нужно. Значение по умолчанию зависит от версии и настроек, поэтому его задают явно. Ошибкой планировщика это не является. Вперёд запуски не создаются, и start_date как раз определяет первый интервал.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.