Відлагодження та усунення несправностей в 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 UI спливаюче повідомлення про помилки

    • Запустіть airflow dags list-import-errors

    • Запустіть python3 <dagfile.py>

Вступ до Apache Airflow на Python

Помилки імпорту в Airflow UI

Вітальна сторінка Airflow зі сповіщенням про помилку імпорту Dag

Деталі помилки імпорту в Airflow з повідомленням traceback для 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...