Apache Airflow — это платформа для программного создания, планирования и мониторинга рабочих процессов (workflow) в виде направленных ациклических графов (DAG). Используется для управления ETL/ELT процессами, запуска задач по расписанию и автоматизации различных операций.
Основные компоненты:
- Scheduler: Отвечает за триггеринг задач и их передачу на выполнение.
- Webserver: Предоставляет пользовательский интерфейс для мониторинга DAGs, управления задачами и просмотра логов.
- Worker: Запускает задачи (Operators).
- Database: Хранит состояние Airflow, метаданные DAGs, информацию о задачах и запусках.
Особенности и преимущества:
- Python: Рабочие процессы пишутся на Python.
- Dynamic: DAGs могут быть генерированы динамически.
- Extensible: Легко создавать кастомные операторы и хуки.
- Scalable: Архитектура позволяет горизонтально масштабировать компоненты.
- GUI: Информативный веб-интерфейс для мониторинга и отладки.
Пример простого DAG:
python