Раздел 26 · Data Engineering

Что такое оркестрация и Airflow

junior~15 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Ночной пайплайн «Гонца» вырос. Он забирает заказы, чистит их, собирает факт доставок, пересобирает витрины и проверяет результат. Пять шагов, пять скриптов, и запускает их cron: первый в 06:00, второй в 06:20, третий в 06:40, на всякий случай с запасом. Однажды выгрузка шла 35 минут вместо пятнадцати, и чистка в 06:20 обработала половину заказов. В другую ночь упала загрузка, и об этом узнали в 10 утра, когда Отто спросил, куда делся вчерашний день.

Музыканты с будильниками

Представь оркестр без дирижёра. Каждому музыканту выдали будильник: скрипки вступают в 20:00, виолончели в 20:03, трубы в 20:07. Пока всё идёт по нотам, это работает. Но если скрипки начали на минуту позже, трубы всё равно вступят в 20:07, и выйдет какофония. А если первая скрипка заболела, остальные доиграют концерт без неё и даже не заметят.

Дирижёр устроен иначе. Он даёт трубам знак, когда скрипки закончили, а не когда пробило 20:07. Если кто-то сбился, он останавливает и повторяет фрагмент. И после концерта точно знает, что прошло хорошо, а что нет.

Cron это будильники. Оркестратор это дирижёр.

Чего не умеет cron

Cron запускает команду по расписанию и больше ничего не знает. Для одного скрипта этого хватает. Для пайплайна из нескольких шагов не хватает четырёх вещей.

  1. Зависимостей. Cron не знает, что чистка должна начаться после выгрузки, а не в 06:20. Поэтому расписание ставят с запасом и надеются, что запаса хватит.
  2. Повторов. Сеть моргнула, база на минуту недоступна, шаг упал. Cron не попробует ещё раз.
  3. Истории. Какие ночи прошли успешно, сколько шёл каждый шаг, где упало? Cron не помнит.
  4. Реакции на сбой. Упал первый шаг, а остальные всё равно запустятся по расписанию на неполных данных, и никто об этом не узнает.

Оркестратор

Оркестратор закрывает все четыре дыры. Ты описываешь пайплайн целиком: какие в нём шаги, в каком порядке, по какому расписанию, сколько раз повторять. А оркестратор:

  • запускает каждый шаг, когда закончились те, от кого он зависит;
  • повторяет упавший шаг через несколько минут;
  • не запускает шаги, у которых упал предшественник, и помечает весь запуск красным;
  • хранит историю каждого запуска и показывает её в интерфейсе.

Самый распространённый оркестратор в дата-инженерии это Apache Airflow. Его сделали в Airbnb в 2014 году, позже он стал проектом Apache. В этом блоке мы работаем с Airflow 3, который вышел в 2025 году.

урок из курса

Урок из курса «Data Engineering». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.