Felsökning i Airflow

Introduktion till Apache Airflow i Python

Mike Metzger

Data Engineer

Vanliga problem

  • DAG:en körs inte enligt schema
  • DAG:en laddas inte
  • Syntaxfel

Illustration som visar vanliga felsökningsproblem i Airflow

Introduktion till Apache Airflow i Python

DAG:en körs inte enligt schema

  • Minst en schedule-period har inte passerat
    • Justera attributen efter dina behov
  • Otillräckliga resurser för att köra
    • Lägg till systemresurser
    • Lägg till fler system
    • Ändra DAG-schemaläggningen
Introduktion till Apache Airflow i Python

DAG:en laddas inte

  • DAG:en syns inte i webbgränssnittet
  • DAG:en syns inte i airflow dags list

Möjliga lösningar

  • Kontrollera att DAG-filen finns i rätt mapp (filer utanför DAG-mappen parsas inte)
  • Ta reda på DAG-mappen via airflow info

Terminalutdata från airflow info med dags_folder-sökvägen markerad

Introduktion till Apache Airflow i Python

Syntaxfel

  • Den vanligaste orsaken till att en DAG-fil inte visas
  • Fel i en DAG kan vara svåra att hitta
  • Tre snabba metoder:

    • Kontrollera Airflow UI för felmeddelanden

    • Kör airflow dags list-import-errors

    • Kör python3 <dagfile.py>

Introduktion till Apache Airflow i Python

Importfel i Airflow UI

Airflows välkomstsida med en varning om DAG-importfel

Detaljvy av importfel i Airflow med DAG:ens traceback-meddelande

Introduktion till Apache Airflow i Python

airflow dags list-import-errors

Terminalutdata från airflow dags list-import-errors som visar ett fel

Introduktion till Apache Airflow i Python

airflow dags reserialize

  • Ändringar i en DAG visas kanske inte direkt
  • Som standard söker Airflow efter DAG-uppdateringar var 5:e minut
  • Du kan tvinga en omläsning med airflow dags reserialize

Terminal som kör airflow dags reserialize för att tvinga en DAG-uppdatering

Introduktion till Apache Airflow i Python

Köra Python-tolken

python3 dagfile.py:

  • Med fel

Terminal som visar ett Python-syntaxfel vid körning av en DAG-fil med python3

  • Utan fel

Terminal som återgår till prompten efter att ha kört en DAG-fil med python3 utan fel

Introduktion till Apache Airflow i Python

Nu kör vi en övning!

Introduktion till Apache Airflow i Python

Preparing Video For Download...