В каких ситуациях используешь Airflow

«В каких ситуациях используешь Airflow» — вопрос из категории Инструменты аналитика, который задают на 33% собеседований Аналитик Данных. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Airflow применяется для оркестрации сложных ETL/ELT процессов, планирования задач и мониторинга workflow. Основные сценарии:

  1. Планирование регулярных задач (daily ETL, отчеты)
  2. Зависимые пайплайны (запуск B только после успешного A)
  3. Параллельное выполнение независимых задач
  4. Обработка ошибок (retry, alerting)
  5. Управление ресурсами (ограничение параллельных задач)

Пример 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