Airflow: ацикличность DAG и первый запуск

DAG ацикличен, чтобы зависимости имели допустимый порядок выполнения. Цикл делает ожидания взаимными, и Airflow отклоняет такой граф при проверке.

Короткий ответ

Что ответить на собеседовании

DAG ацикличен, чтобы зависимости имели допустимый порядок выполнения. Цикл делает ожидания взаимными, и Airflow отклоняет такой граф при проверке.

Подробный разбор

Ответ с пояснениями

Условие

Условие

  • Почему граф должен быть ацикличным?
  • Что произойдет, если появится цикл?
  • Какие ключевые параметры DAG (dag_id, schedule_interval, start_date, default_args) вы знаете и для чего они нужны?
  • Как Airflow понимает, когда запускать DAG в первый раз? (Важность start_date + schedule_interval)

Ответ

DAG ацикличен, чтобы зависимости имели допустимый порядок выполнения. Цикл делает ожидания взаимными, и Airflow отклоняет такой граф при проверке.

dag_id идентифицирует граф, start_date задаёт нижнюю границу планирования, default_args — общие параметры задач. В новых версиях используют schedule; schedule_interval относится к прежнему интерфейсу.

Первый запуск зависит от расписания, timetable, start_date и catchup. Для модели интервалов данных запуск обычно появляется после завершения первого подходящего интервала, а не просто в момент start_date. При schedule=None автоматического запуска нет. Используйте фиксированную дату и явный часовой пояс.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее