Přeskočit na obsah
Orchestrace

Apache Airflow — orchestrace datových pipeline v praxi

12 min čtení
Apache AirflowOrchestraceDAGPipeline

Apache Airflow je nejrozšířenější orchestrátor datových pipeline. Definujte workflow jako Python kód, plánujte spouštění a monitorujte průběh.

Co je Apache Airflow

Airflow definuje workflow jako DAG (Directed Acyclic Graph) — graf úloh s operátory a závislostmi.

Základní koncepty

  • DAG — workflow jako Python kód
  • Operator — jednotlivá úloha (Bash, Python, SQL)
  • Scheduler — plánovač podle cron výrazů
  • Executor — Local, Celery, Kubernetes
from airflow import DAG
from airflow.operators.python import PythonOperator
from datetime import datetime, timedelta

with DAG(
    dag_id='daily_sales',
    schedule_interval='0 6 * * *',
    start_date=datetime(2026, 1, 1),
    catchup=False,
) as dag:
    extract = PythonOperator(task_id='extract', python_callable=extract_fn)
    transform = PythonOperator(task_id='transform', python_callable=transform_fn)
    load = PythonOperator(task_id='load', python_callable=load_fn)
    extract >> transform >> load

TaskFlow API (Airflow 2.x)

from airflow.decorators import dag, task

@dag(schedule_interval='@daily', start_date=datetime(2026, 1, 1))
def sales_pipeline():
    @task()
    def extract(): return fetch_data()
    @task()
    def transform(data): return clean(data)
    @task()
    def load(data): save(data)
    load(transform(extract()))

sales_pipeline()

Best practices

  • Idempotence — bezpečné opakované spuštění
  • Atomicita — task uspěje nebo selže kompletně
  • XCom jen pro metadata — ne pro velké datasety

Shrnutí

Airflow je standard pro orchestraci. TaskFlow API zjednodušuje kód, klíčem je idempotence a správná správa credentials.

CORE SYSTEMS tým

Enterprise architekti a AI inženýři. Stavíme systémy, které fungují.