Data Pipelines with Apache Airflow, 2nd edition. Orchestration for data and AI — книга Julian de Ruiter, Ismael Cabral, Kris Geusebroek, Daniel van der Ende и Bas Harenslak (Manning, 2026). Она учит строить и запускать pipelines в Apache Airflow 3. В книге 17 глав в четырёх частях: основы, расширение Airflow, два проекта и работа в production.
Это собственный пересказ, а не перевод. За полным текстом и кодом идите в оригинал. Схемы нарисованы заново по содержанию глав.
- Основы без воды. DAG, tasks, operators, расписания и перезапуск после сбоя.
- Новое в Airflow 3. Assets, DAG versioning, deferrable operators, изменения в
catchup.
- Идемпотентность и атомарность. Как писать tasks, которые можно безопасно повторить.
- Своя логика. Hooks, operators и sensors, тесты и запуск задач в контейнерах.
- Production. Executors, метрики, безопасность и варианты развёртывания.
| Часть | Главы | О чём |
|---|
| 1. Getting started | 1–6 | Что такое Airflow, первый DAG, расписания по времени и по данным, templating, зависимости |
| 2. Beyond the basics | 7–11 | Внешние события, связь с системами, свои operators, тесты, контейнеры |
| 3. Airflow in practice | 12–14 | Best practices и два проекта: транспорт NYC и GenAI с RAG |
| 4. Airflow in production | 15–17 | Эксплуатация, безопасность, развёртывание |
| Идея | Где |
|---|
| Pipeline это граф небольших задач | Глава 1 |
Расписание через data interval, а не «время запуска» | Глава 3 |
Связь DAG через asset, а не через общий cron | Глава 4 |
| Task должна быть атомарной и идемпотентной | Глава 3, глава 12 |
| Airflow оркестрирует, тяжёлую работу делают другие системы | Глава 8 |
| Код DAG лёгкий: его парсят постоянно | Глава 12 |
| Production: executor, метрики, секреты, развёртывание | Главы 15–17 |
| Роль | Путь |
|---|
| Новичок | Главы 1–6 подряд. Потом 12 |
| Analytics engineer | Главы 1–3, 5, 6, 12 |
| Data engineer | Вся книга. Особенно 4, 7–9, 12, 15 |
| Platform engineer | Главы 11, 15, 16, 17 |
| Руководитель | Главы 1, 12, 15, 17 |
- В главах есть короткие примеры на Python. Имена в них свои, это не код из книги.
- Все примеры проверены на Airflow 3.4. DAG без внешних систем проходят
airflow dags test. Hooks, operators и triggers проверены в pytest с mock.
- Примеры с Docker, Kubernetes, Kafka, S3 и HTTP только загружаются. Для запуска нужны эти сервисы.
- Проверку можно повторить:
scripts/airflow-book-check/check.sh в репозитории сайта.
| Глава | Тема |
|---|
| 1. Знакомство с Airflow | Pipeline как граф, компоненты Airflow, когда его выбирать |
| 2. Анатомия DAG | Первый DAG, tasks и operators, перезапуск, DAG versioning |
| 3. Расписания по времени | Trigger и data interval timetables, backfill, идемпотентность |
| 4. Asset-aware scheduling | Producer и consumer DAG, события assets |
| 5. Templating и контекст | Jinja, context, шаблоны в operators |
| 6. Зависимости задач | Ветки, условия, trigger rules, XCom, Taskflow API |
| 7. Внешние события | Sensors, REST API, сообщения |
| 8. Внешние системы | ML pipeline, A-to-B operators |
| 9. Свои operators | Hooks, operators, sensors, deferrable |
| 10. Тестирование | DAG integrity test, unit tests, mock, CI/CD |
| 11. Задачи в контейнерах | DockerOperator, KubernetesPodOperator |
| 12. Best practices | Чистый код, идемпотентность, dynamic task mapping |
| 13. Проект: транспорт NYC | Свой operator, raw и processed слои |
| 14. Проект: GenAI и рецепты | RAG, векторная база, Weaviate |
| 15. Airflow в production | Executors, логи, метрики, алерты |
| 16. Безопасность | RBAC, Fernet, secrets backend, HTTPS |
| 17. Развёртывание | Managed сервисы, Helm Chart, доставка DAG |