Apache Airflow ist der am weitesten verbreitete Orchestrator fuer Datenpipelines. Definieren Sie Workflows als Python-Code, planen Sie die Ausfuehrung und ueberwachen Sie den Fortschritt.
Was ist Apache Airflow¶
Airflow definiert Workflows als DAG (Directed Acyclic Graph) — ein Graph von Aufgaben mit Operatoren und Abhaengigkeiten.
Kernkonzepte¶
- DAG — Workflow als Python-Code
- Operator — einzelne Aufgabe (Bash, Python, SQL)
- Scheduler — Planung basierend auf Cron-Ausdruecken
- 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()
Bewaehrte Praktiken¶
- Idempotenz — sicheres wiederholtes Ausfuehren
- Atomaritaet — Aufgabe gelingt oder scheitert vollstaendig
- XCom nur fuer Metadaten — nicht fuer grosse Datensaetze
Zusammenfassung¶
Airflow ist der Standard fuer die Orchestrierung. Die TaskFlow API vereinfacht den Code, der Schluessel liegt in der Idempotenz und der korrekten Verwaltung von Zugangsdaten.