Airflow-DAGs

Einführung in Apache Airflow mit Python

Mike Metzger

Data Engineer

Was ist ein DAG?

DAG, kurz für Directed Acyclic Graph:

  • Directed – Fluss repräsentiert Abhängigkeiten
  • Acyclic – keine Schleifen oder Wiederholungen
  • Graph – die Menge der Komponenten

Gerichteter azyklischer Graph mit Knoten, die durch Einwegpfeile verbunden sind, ohne Schleifen

Einführung in Apache Airflow mit Python

DAG in Airflow

  • In Python geschrieben (kann Komponenten in anderen Sprachen nutzen)
  • Besteht aus Tasks, z. B. Operatoren oder Sensoren
  • Enthält Abhängigkeiten, explizit oder implizit definiert
    • z. B.: Datei erst auf den Server kopieren, dann in den Datenbankdienst importieren.

  Airflow-DAG verbundener Tasks, der die Abhängigkeitsreihenfolge zeigt

Einführung in Apache Airflow mit Python

Einen DAG definieren

Beispiel-DAG (Taskflow API):

from airflow.sdk import dag

from pendulum import datetime @dag( dag_id='etl_workflow', email='[email protected]', start_date=datetime(2026, 3, 15, tz="UTC") )
def etl_workflow(): ...
etl_workflow()
Einführung in Apache Airflow mit Python

DAGs in der Kommandozeile

 

  • airflow-Kommandozeile hat viele Subcommands
  • airflow -h – Hilfe und Beschreibung der Subcommands

 

  • DAG-Subcommands

    • airflow dags list – alle erkannten DAGs anzeigen
    • airflow dags reserialize – Airflow zum Neuladen der DAG-Dateien zwingen
    • airflow tasks test – einen bestimmten Task ausführen
Einführung in Apache Airflow mit Python

Kommandozeile vs. Python

Nutze das CLI, um:

  • Airflow-Prozesse starten
  • DAGs/Tasks manuell ausführen
  • Logs von Airflow abrufen

Terminal mit dem Airflow-CLI

Mit Python kannst du:

  • Einen DAG erstellen
  • Einzelne Eigenschaften eines DAGs bearbeiten

Illustration, die Python-Code darstellt

Einführung in Apache Airflow mit Python

Lass uns üben!

Einführung in Apache Airflow mit Python

Preparing Video For Download...