Debugging und Troubleshooting in Airflow

Einführung in Apache Airflow mit Python

Mike Metzger

Data Engineer

Häufige Probleme

  • Dag läuft nicht nach Zeitplan
  • Dag lädt nicht
  • Syntaxfehler

Illustration zu häufigen Airflow-Troubleshooting-Problemen

Einführung in Apache Airflow mit Python

Dag läuft nicht nach Zeitplan

  • Mindestens eine schedule-Periode ist noch nicht vergangen
    • Attribute an Anforderungen anpassen
  • Zu wenig Ressourcen zum Ausführen
    • Systemressourcen erhöhen
    • Mehr Systeme hinzufügen
    • Dag-Scheduling ändern
Einführung in Apache Airflow mit Python

Dag lädt nicht

  • Dag nicht in der Web-UI
  • Dag nicht in airflow dags list

Mögliche Lösungen

  • Prüfe, ob die Dag-Datei im richtigen Ordner liegt (außerhalb des Dags-Ordners werden sie nicht geparst)
  • Ermittle den Dags-Ordner mit airflow info

Terminalausgabe von airflow info mit Hervorhebung des dags_folder-Pfads

Einführung in Apache Airflow mit Python

Syntaxfehler

  • Häufigster Grund, warum eine Dag-Datei nicht erscheint
  • Fehler im Dag sind teils schwer zu finden
  • Drei schnelle Methoden:

    • In der Airflow-UI auf Fehler-Popup achten

    • airflow dags list-import-errors ausführen

    • python3 <dagfile.py> ausführen

Einführung in Apache Airflow mit Python

Airflow-UI: Importfehler

Airflow-Willkommensseite mit Warnhinweis zu einem Dag-Importfehler

Detailansicht des Airflow-Importfehlers mit Dag-Traceback

Einführung in Apache Airflow mit Python

airflow dags list-import-errors

Terminalausgabe von airflow dags list-import-errors mit einem Fehler

Einführung in Apache Airflow mit Python

airflow dags reserialize

  • Dag-Änderungen erscheinen nicht sofort
  • Standard: Airflow prüft alle 5 Minuten auf Dag-Updates
  • Erneute Prüfung erzwingen mit airflow dags reserialize

Terminal, das airflow dags reserialize ausführt, um einen Dag-Refresh zu erzwingen

Einführung in Apache Airflow mit Python

Python-Interpreter ausführen

python3 dagfile.py:

  • Mit Fehlern

Terminal mit Python-Syntaxfehler beim Ausführen einer Dag-Datei mit python3

  • Ohne Fehler

Terminal kehrt nach Ausführen einer Dag-Datei mit python3 ohne Fehler zur Eingabeaufforderung zurück

Einführung in Apache Airflow mit Python

Lass uns üben!

Einführung in Apache Airflow mit Python

Preparing Video For Download...