Ответ
Airflow применяется для оркестрации сложных ETL/ELT процессов, планирования задач и мониторинга workflow. Основные сценарии:
- Планирование регулярных задач (daily ETL, отчеты)
- Зависимые пайплайны (запуск B только после успешного A)
- Параллельное выполнение независимых задач
- Обработка ошибок (retry, alerting)
- Управление ресурсами (ограничение параллельных задач)
Пример DAG для ежедневной загрузки данных:
from airflow import DAG
from airflow.operators.python import PythonOperator
from datetime import datetime
def extract(): ...
def transform(): ...
def load(): ...
with DAG('etl_pipeline', schedule_interval='@daily') as dag:
extract_task = PythonOperator(task_id='extract', python_callable=extract)
transform_task = PythonOperator(task_id='transform', python_callable=transform)
load_task = PythonOperator(task_id='load', python_callable=load)
extract_task >> transform_task >> load_task