Оркестрация данных
Правила выполнения
- Определите версии планировщика и провайдеров, владельца, логический интервал данных, часовой пояс, зависимости, требуемую свежесть, пределы повторов и порядок реагирования на сбой.
- Изучите конфигурацию проекта и официальную документацию нужной версии, прежде чем предполагать поведение догоняющих запусков, условий запуска, параллельности и расписания.
Ключевые решения
- Привязывайте входы задач к стабильному интервалу или снимку. Повторный запуск того же интервала не должен читать постоянно меняющийся последний раздел или выбирать другие бизнес-данные по текущему времени.
- Повторяйте временные сбои только при идемпотентности операций или наличии порядка восстановления. Для детерминированных ошибок схемы или данных нужны явные правила остановки или карантина; дополнительные повторы не делают такие ошибки временными.
- Ограничивайте параллельность перерасчёта истории с учётом лимитов источника и пропускной способности потребителей; согласуйте пересечение с текущими запусками. Определите, какому запуску принадлежит раздел при конфликте и как после перезапуска распознаётся уже зафиксированная работа.
- Определяйте успех по обязательным бизнес-результатам и проверкам качества. Успешная задача очистки не должна скрывать сбой предыдущей задачи; завершение в планировщике и свежесть данных являются разными сигналами.
Результат и проверка
- Подготовьте запрошенное расписание, DAG или заключение с правилами зависимостей, повторов, перерасчёта истории, оповещения и восстановления.
- При изменении кода проверяйте разбор DAG и поведение значимых задач отдельно; избегайте сетевых запросов и тяжёлых операций при обнаружении DAG.
- Где это затронуто изменением, проверьте повторный запуск, отсутствующую зависимость и сбой обязательной задачи. Для обмена результатами между исполнителями используйте надёжное общее хранилище, передавая ссылки на крупные артефакты.
- Добавляйте эксплуатационные пояснения в объёме, необходимом для изменённого конвейера.
Ограничения
- У производственного сбоя должен быть ответственный; повторы не заменяют идемпотентность.
- Храните секреты в согласованных подключениях или хранилище секретов, вне определений процессов и вывода.
Источник
- Рекомендации Airflow по задачам и DAG; сверяйтесь с развёрнутой версией.