Airflow — это open-source платформа для программного создания, планирования и мониторинга рабочих процессов (workflows). Он позволяет определять задачи и их зависимости в коде Python, визуализировать их граф (DAG), запускать задачи по расписанию или триггерам, а также отслеживать их выполнение через веб-интерфейс.
Основные компоненты Airflow:
DAG (Directed Acyclic Graph) — это основная концепция Airflow. DAG представляет собой набор задач (операторов), соединенных зависимостями в виде ориентированного графа без циклов.
Примеры операторов:
BashOperator: Выполнение команды bash.PythonOperator: Выполнение функции Python.PostgresOperator: Выполнение SQL-запроса в PostgreSQL.Распределенная архитектура позволяет масштабировать Airflow, используя различные исполнители (executors):
SequentialExecutor: Для тестирования, выполняет задачи последовательно.LocalExecutor: Запускает задачи параллельно на одной машине.CeleryExecutor: Использует Celery для распределенного выполнения задач на нескольких worker'ах.KubernetesExecutor: Запускает каждую задачу в отдельном Kubernetes-поде.Преимущества Airflow: