Debug e risoluzione dei problemi in Airflow

Introduzione ad Apache Airflow in Python

Mike Metzger

Data Engineer

Problemi comuni

  • Il Dag non rispetta la schedulazione
  • Il Dag non si carica
  • Errori di sintassi

Illustrazione che rappresenta problemi comuni di troubleshooting in Airflow

Introduzione ad Apache Airflow in Python

Il Dag non rispetta la schedulazione

  • Non è ancora passato almeno un periodo di schedule
    • Modifica gli attributi in base alle tue esigenze
  • Risorse insufficienti per l'esecuzione
    • Aggiungi risorse di sistema
    • Aggiungi più sistemi
    • Cambia la schedulazione del Dag
Introduzione ad Apache Airflow in Python

Il Dag non si carica

  • Il Dag non è nella web UI
  • Il Dag non appare in airflow dags list

Possibili soluzioni

  • Verifica che il file Dag sia nella cartella corretta (fuori dalla cartella Dags non viene analizzato)
  • Trova la cartella Dags con airflow info

Output del terminale di airflow info con il percorso di dags_folder evidenziato

Introduzione ad Apache Airflow in Python

Errori di sintassi

  • La ragione più comune per cui un file Dag non appare
  • A volte gli errori nel Dag sono difficili da trovare
  • Tre metodi rapidi:

    • Controlla nella UI Airflow il popup degli errori

    • Esegui airflow dags list-import-errors

    • Esegui python3 <dagfile.py>

Introduzione ad Apache Airflow in Python

Errori di import nella UI di Airflow

Pagina di benvenuto di Airflow che mostra un avviso di errore di import di un Dag

Dettaglio dell'errore di import in Airflow che mostra il traceback del Dag

Introduzione ad Apache Airflow in Python

airflow dags list-import-errors

Output del terminale di airflow dags list-import-errors che mostra un errore

Introduzione ad Apache Airflow in Python

airflow dags reserialize

  • Le modifiche al Dag potrebbero non comparire subito
  • Per default, Airflow controlla aggiornamenti del Dag ogni 5 minuti
  • Puoi forzare un controllo con airflow dags reserialize

Terminale che esegue airflow dags reserialize per forzare il refresh di un Dag

Introduzione ad Apache Airflow in Python

Eseguire l'interprete Python

python3 dagfile.py:

  • Con errori

Terminale che mostra un errore di sintassi Python eseguendo un file Dag con python3

  • Senza errori

Terminale che torna al prompt dopo aver eseguito un file Dag con python3 senza errori

Introduzione ad Apache Airflow in Python

Passons à la pratique !

Introduzione ad Apache Airflow in Python

Preparing Video For Download...