Halten Sie Verbindung mit uns:

Was ist Apache Airflow

Was ist Apache Airflow?

Apache Airflow ist eine Open-Source-Plattform zur Orchestrierung, Planung und Überwachung von Datenpipelines. Ursprünglich 2014 bei Airbnb entwickelt, zählt es heute zu den meistgenutzten Werkzeugen im modernen Data Engineering. Der entscheidende Vorteil: Workflows werden nicht als Konfigurationsdateien, sondern als Python-Code definiert – sie lassen sich damit wie Software versionieren, testen und wiederverwenden.

DAGs – das Herzstück von Airflow

Das zentrale Konzept ist der DAG (Directed Acyclic Graph). Ein DAG beschreibt eine Menge von Aufgaben (Tasks) und deren Abhängigkeiten. Die Ausführung fließt immer in eine Richtung – kein Task kann sich selbst als Voraussetzung haben.

extract_data PythonOperator Startpunkt
validate_schema PythonOperator parallel zu load_staging
load_staging SQLExecuteQueryOperator parallel zu validate_schema
run_dbt BashOperator wartet auf beide vorigen Schritte
notify EmailOperator Abschluss

Beispiel: Ein einfacher Airflow-DAG mit parallelen Schritten und anschließender dbt-Transformation

Architektur und Kernkomponenten
Webserver

Die Web-Oberfläche (UI) zur Verwaltung, Überwachung und manuellen Steuerung von DAGs und einzelnen Task-Ausführungen.

Scheduler

Überwacht alle DAGs, wertet deren Zeitplan und Abhängigkeiten aus und übergibt fällige Tasks an den Executor.

Executor

Führt die eigentlichen Tasks aus. Je nach Konfiguration lokal (SequentialExecutor), verteilt (CeleryExecutor) oder in Kubernetes-Pods (KubernetesExecutor).

Metadata Database

Eine relationale Datenbank (z.B. PostgreSQL), in der Airflow den Zustand aller DAG-Runs, Tasks und deren Logs speichert.

Worker

Bei verteilten Setups (z.B. Celery) sind Workers eigenständige Prozesse, die Tasks entgegennehmen und ausführen.

DAG Folder

Ein gemeinsam genutztes Verzeichnis, in dem alle Python-DAG-Definitionen abgelegt und vom Scheduler gelesen werden.

Operators – die Bausteine der Tasks

Jeder Task wird durch einen Operator definiert, der die eigentliche Arbeit kapselt. Airflow bringt viele eingebaute Operatoren mit, darunter:

  • PythonOperator – führt eine Python-Funktion aus
  • BashOperator – führt Shell-Befehle aus
  • SQLExecuteQueryOperator – führt SQL gegen eine Datenbank aus
  • EmailOperator – verschickt Benachrichtigungen Über Provider-Pakete stehen weitere Operatoren für AWS, GCP, Azure, Snowflake, Databricks, Slack und viele mehr bereit.

Airflow und dbt – eine natürliche Ergänzung

Airflow und dbt Core ergänzen sich ideal: dbt übernimmt die Transformation im Data Warehouse, Airflow steuert den übergeordneten Prozess – wann und in welcher Reihenfolge Extraktion, Laden, Transformation und Benachrichtigungen ausgeführt werden. Beide Tools teilen dabei das Prinzip „Code statt Konfiguration".

Unterstützte Plattformen

Über das Provider-System integriert Airflow nahezu alle modernen Datenplattformen nativ:

  • Amazon Web Services (AWS)
  • Google Cloud Platform (GCP)
  • Microsoft Azure
  • Snowflake
  • Databricks
  • PostgreSQL / MySQL
  • Oracle DB
  • Kubernetes
  • Apache Spark
  • dbt Core
  • Slack / E-Mail
  • HTTP / REST APIs

Betriebsvarianten

  • Self-Hosted
    Maximale Kontrolle, erfordert eigenes Setup und Wartung.

  • Docker / Kubernetes
    De-facto-Standard – containerisierter Betrieb mit dynamischer Skalierung über den KubernetesExecutor.

  • Managed Services (Astronomer, MWAA, Cloud Composer)
    Reduzierter operativer Aufwand, ideal für Produktivumgebungen.

Stärken und Grenzen

Airflow überzeugt durch Flexibilität, ein großes Integrations-Ökosystem und die Möglichkeit, komplexe dynamische Pipelines in Python abzubilden. Als Batch-Orchestrator ist es jedoch nicht für Echtzeit-Streaming ausgelegt – dafür sind Tools wie Apache Kafka oder Flink besser geeignet. Für kleinere Teams kann der initiale Einrichtungsaufwand ein Argument für einen Managed Service sein.

Fazit

Apache Airflow ist der Industriestandard für die Orchestrierung von Datenpipelines. In Kombination mit dbt Core und modernen Cloud-DWH-Plattformen bildet es das Rückgrat des modernen Analytics-Engineering-Stacks.