Depuración y resolución de problemas en Airflow

Introducción a Apache Airflow en Python

Mike Metzger

Data Engineer

Problemas comunes

  • El Dag no se ejecuta según la programación
  • El Dag no carga
  • Errores de sintaxis

Ilustración que representa problemas comunes de resolución en Airflow

Introducción a Apache Airflow en Python

El Dag no se ejecuta según la programación

  • Aún no ha pasado al menos un periodo de schedule
    • Ajusta los atributos según tus necesidades
  • Recursos insuficientes para ejecutar
    • Añade recursos del sistema
    • Añade más sistemas
    • Cambia la programación del Dag
Introducción a Apache Airflow en Python

El Dag no carga

  • El Dag no aparece en la UI web
  • El Dag no sale en airflow dags list

Posibles soluciones

  • Verifica que el archivo del Dag esté en la carpeta correcta (no se analizan fuera de la carpeta Dags)
  • Obtén la carpeta Dags con airflow info

Salida de terminal de airflow info resaltando la ruta de dags_folder

Introducción a Apache Airflow en Python

Errores de sintaxis

  • Motivo más común por el que un archivo Dag no aparece
  • A veces cuesta encontrar errores en el Dag
  • Tres métodos rápidos:

    • Revisa en la UI de Airflow el aviso de errores

    • Ejecuta airflow dags list-import-errors

    • Ejecuta python3 <dagfile.py>

Introducción a Apache Airflow en Python

Errores de importación en la UI de Airflow

Página de bienvenida de Airflow mostrando una alerta de error de importación de Dag

Detalle del error de importación en Airflow mostrando el traceback del Dag

Introducción a Apache Airflow en Python

airflow dags list-import-errors

Salida de terminal de airflow dags list-import-errors mostrando un error

Introducción a Apache Airflow en Python

airflow dags reserialize

  • Los cambios en el Dag pueden no aparecer al instante
  • Por defecto, Airflow busca actualizaciones cada 5 minutos
  • Fuerza una revisión con airflow dags reserialize

Terminal ejecutando airflow dags reserialize para forzar la actualización de un Dag

Introducción a Apache Airflow en Python

Ejecutar el intérprete de Python

python3 dagfile.py:

  • Con errores

Terminal mostrando un error de sintaxis de Python al ejecutar un archivo Dag con python3

  • Sin errores

Terminal volviendo al prompt tras ejecutar un archivo Dag con python3 sin errores

Introducción a Apache Airflow en Python

¡Vamos a practicar!

Introducción a Apache Airflow en Python

Preparing Video For Download...