Debugowanie i rozwiązywanie problemów w Airflow

Wprowadzenie do Apache Airflow w Pythonie

Mike Metzger

Data Engineer

Typowe problemy

  • DAG nie uruchamia się zgodnie z harmonogramem
  • DAG nie ładuje się
  • Błędy składni

Ilustracja przedstawiająca typowe problemy w Airflow

Wprowadzenie do Apache Airflow w Pythonie

DAG nie uruchamia się zgodnie z harmonogramem

  • Nie minął jeszcze co najmniej jeden okres schedule
    • Zmodyfikuj atrybuty zgodnie z wymaganiami
  • Niewystarczające zasoby do uruchomienia
    • Dodaj zasoby systemowe
    • Dodaj kolejne systemy
    • Zmień harmonogram DAG-u
Wprowadzenie do Apache Airflow w Pythonie

DAG nie ładuje się

  • DAG nie jest widoczny w interfejsie webowym
  • DAG nie pojawia się w airflow dags list

Możliwe rozwiązania

  • Sprawdź, czy plik DAG znajduje się we właściwym folderze (pliki spoza folderu DAGs nie są parsowane)
  • Ustal folder DAGs za pomocą airflow info

Wyjście terminala polecenia airflow info z wyróżnioną ścieżką dags_folder

Wprowadzenie do Apache Airflow w Pythonie

Błędy składni

  • Najczęstsza przyczyna niepojawiania się pliku DAG
  • Błędy w DAG-u bywają trudne do znalezienia
  • Trzy szybkie metody:

    • Sprawdź powiadomienia o błędach w interfejsie Airflow

    • Uruchom airflow dags list-import-errors

    • Uruchom python3 <dagfile.py>

Wprowadzenie do Apache Airflow w Pythonie

Błędy importu w interfejsie Airflow

Strona startowa Airflow z alertem o błędzie importu DAG-u

Szczegóły błędu importu DAG-u z komunikatem traceback

Wprowadzenie do Apache Airflow w Pythonie

airflow dags list-import-errors

Wyjście terminala polecenia airflow dags list-import-errors pokazujące błąd

Wprowadzenie do Apache Airflow w Pythonie

airflow dags reserialize

  • Zmiany w DAG-u mogą nie pojawić się natychmiast
  • Domyślnie Airflow sprawdza aktualizacje DAG-ów co 5 minut
  • Można wymusić ponowne sprawdzenie za pomocą airflow dags reserialize

Terminal uruchamiający airflow dags reserialize w celu wymuszenia odświeżenia DAG-u

Wprowadzenie do Apache Airflow w Pythonie

Uruchamianie interpretera Python

python3 dagfile.py:

  • Z błędami

Terminal pokazujący błąd składni Pythona po uruchomieniu pliku DAG poleceniem python3

  • Bez błędów

Terminal powracający do wiersza poleceń po uruchomieniu pliku DAG bez błędów

Wprowadzenie do Apache Airflow w Pythonie

Czas na ćwiczenia!

Wprowadzenie do Apache Airflow w Pythonie

Preparing Video For Download...