Отладка и устранение неполадок в Airflow

Введение в Apache Airflow на Python

Mike Metzger

Data Engineer

Типичные проблемы

  • DAG не запускается по расписанию
  • DAG не загружается
  • Синтаксические ошибки

Иллюстрация, изображающая типичные проблемы при работе с Airflow

Введение в Apache Airflow на Python

DAG не запускается по расписанию

  • Не прошёл хотя бы один период schedule
    • Измените атрибуты в соответствии с требованиями
  • Недостаточно ресурсов для запуска
    • Добавьте системные ресурсы
    • Подключите дополнительные системы
    • Измените расписание DAG
Введение в Apache Airflow на Python

DAG не загружается

  • DAG отсутствует в веб-интерфейсе
  • DAG не виден в airflow dags list

Возможные решения

  • Убедитесь, что файл DAG находится в правильной папке (файлы вне папки Dags не обрабатываются)
  • Определите папку Dags с помощью airflow info

Вывод команды airflow info в терминале с выделенным путём к папке dags_folder

Введение в Apache Airflow на Python

Синтаксические ошибки

  • Наиболее частая причина, по которой файл DAG не появляется
  • Ошибки в DAG бывает трудно обнаружить
  • Три быстрых способа:

    • Проверьте всплывающее сообщение об ошибке в интерфейсе Airflow

    • Выполните airflow dags list-import-errors

    • Выполните python3 <dagfile.py>

Введение в Apache Airflow на Python

Ошибки импорта в интерфейсе Airflow

Главная страница Airflow с предупреждением об ошибке импорта DAG

Детали ошибки импорта Airflow с трассировкой DAG

Введение в Apache Airflow на Python

airflow dags list-import-errors

Вывод команды airflow dags list-import-errors в терминале с отображением ошибки

Введение в Apache Airflow на Python

airflow dags reserialize

  • Изменения в DAG могут не отображаться сразу
  • По умолчанию Airflow проверяет обновления DAG каждые 5 минут
  • Принудительную повторную проверку можно запустить через airflow dags reserialize

Терминал с выполнением команды airflow dags reserialize для принудительного обновления DAG

Введение в Apache Airflow на Python

Запуск интерпретатора Python

python3 dagfile.py:

  • С ошибками

Терминал с синтаксической ошибкой Python при запуске файла DAG через python3

  • Без ошибок

Терминал возвращается к приглашению после запуска файла DAG через python3 без ошибок

Введение в Apache Airflow на Python

Давайте потренируемся!

Введение в Apache Airflow на Python

Preparing Video For Download...