Zum Hauptinhalt springen

Apache Airflow

Airflow orchestriert Datenpipelines. Es ermöglicht die automatisierte Ausführung vielfältiger Schritte zur Tranformation und Analyse von Daten.

Was ist Apache Airflow?

Orchestrierung von Datenpipelines

Apache Airflow erlaubt das Definieren von Workflows als Code („DAGs“) und steuert deren Ausführung automatisch. Jobs können zeit- oder ereignisgesteuert ablaufen, Abhängigkeiten zwischen Aufgaben werden automatisch beachtet, und fehlerhafte Schritte können wiederholt werden.

Apache Airflow Logo

Airflow im Data Hub

Im Data Hub übernimmt Airflow die zentrale Rolle bei der Automatisierung von ETL-Prozessen, beim Laden von Rohdaten aus MinIO oder APIs in Datenbanken und beim Auslösen weiterer Analysen und Visualisierungen. Airflow sorgt dafür, dass Datenpipelines zuverlässig laufen, sich wiederholen lassen und Änderungen an Input-Daten automatisch verarbeitet werden. Airflow kann auch längere Skripte ausführen, die aufeinander aufbauen. Diese Skripte werden in Python geschrieben und können komplexe Abhängigkeiten zwischen Aufgaben modellieren, sodass ein Arbeitsschritt erst startet, wenn die vorherigen erfolgreich abgeschlossen wurden. Dadurch lassen sich umfangreiche Datenprozesse modular und wiederholbar gestalten.

Beispielpipeline in Airflow
Beispielpipeline in Airflow

Funktionen & Einsatzgebiete

Airflow wird im Data Hub insbesondere für folgende Aufgaben genutzt:

  • Skript-basiertes Laden von Daten aus MinIO, APIs oder anderen Datenquellen, um die Daten in die Datenbanken des Data Hub zu schreiben.
  • Ausführung von Python-Skripten, um komplexe Verarbeitungsschritte auszuführen, wie Geocodierung, Anonymisierung oder Verschneidung von Daten.
  • Aufsetzen von Trigger-basierten Verarbeitungen (z. B. bei neuen Dateien oder Zeitplänen)
  • Monitoring von Datenflüssen und Logging von Ereignissen sowie Datenqualitätsprüfungen
Fiktives Praxisbeispiel

„Anonymisierte Nutzungsinformationen für Bibliotheken“ 🗂️
Alle öffentlichen Bibliotheken Berlins erfassen monatlich pseudonymisierte Daten zu Ausleihvorgängen und Nutzermerkmalen (zum Beispiel ungefähre Wohnlage und Altersgruppen). Die Rohdaten werden in MinIO abgelegt. Airflow steuert die ETL-Pipelines: Bereinigung, Aggregation und vollständige Anonymisierung. Die aufbereiteten Daten fließen in Dashboards, die Bibliotheksleitungen, Bezirksämter und die Senatsverwaltung für Analyse und Steuerung nutzen. Nachmeldungen oder Korrekturen der Bibliotheken lösen automatisch ein Update der aggregierten Ergebnisse aus.

Wie nutzt man Apache Airflow?

Skill-Level & Anforderungen

Airflow erfordert Kenntnisse in Python und Datenbankkonzepten sowie ein Verständnis von ETL-Prozessen. Die Definition von DAGs („Directed Acyclic Graphs“) erfolgt über Code, wodurch wiederholbare, nachvollziehbare Pipelines entstehen.

Technisches Know-How notwendig: ●●●●○
Komplexität bzw. Einarbeitungszeit: ●●●●○

👉 Für Verwaltungsmitarbeitende heißt das: Airflow wird typischerweise von IT- und Daten-Teams eingerichtet. Fachabteilungen nutzen die Ergebnisse der automatisierten Pipelines, ohne selbst Code schreiben zu müssen.

Input & Output

Input

Typische Inputs für Airflow im Data Hub:

  • Rohdaten aus MinIO (CSV, JSON, GeoJSON)
  • Tabellen aus PostgreSQL-Datenbanken
  • Externe APIs oder Open Data-Quellen
  • Trigger-Ereignisse wie neue Dateien oder geplante Zeitpunkte

Beispiele

Airflow kommt unter anderem in diesem Pilotprojekt zum Einsatz:

Weiterführende Informationen