Как добавить новые DAG в Airflow?

Я определил DAG в файле с именем tutorial_2.py (на самом деле это копия tutorial.py, предоставленная в учебнике airflow, за исключением того, что dag_id изменен на tutorial_2).

Когда я просматриваю свой по умолчанию, немодифицированный airflow.cfg (расположенный в ~/airflow), я вижу, что dags_folder установлен на /home/alex/airflow/dags.

Я делаю cd /home/alex/airflow; mkdir dags; cd dags; cp [...]/tutorial_2.py tutorial_2.py. Теперь у меня есть папка dags, соответствующая пути, установленному в airflow.cfg, содержащему файл tutorial_2.py, который я создал ранее.

Однако, когда я запускаю airflow list_dags, я получаю только имена, соответствующие DAG-модулям по умолчанию.

Я бы хотел, чтобы tutorial_2 отображался в моем списке DAG, чтобы я мог начать взаимодействовать с ним. Ни python tutorial_2.py, ни airflow resetdb не заставили его появиться в списке.

Как я могу это исправить?

Ответ 1

Я думаю, причина в том, что вы не экспортировали AIRFLOW_HOME. Попробуйте сделать: AIRFLOW_HOME="/home/alex/airflow/dags" airflow list_dags. Если это не работает, чем два шага export AIRFLOW_HOME="/home/alex/airflow/dags" airflow list_dags Я считаю, что это должно сработать. Дайте ему уйти?

Ответ 2

В моем понимании, AIRFLOW_HOME должен ссылаться на каталог, где хранится airflow.cfg. Затем можно применить airflow.cfg и установить в каталоге dag значение, которое вы в него поместите.

Важный момент: airflow.cfg бесполезен, если ваш AIRFLOW_HOME не установлен

Ответ 3

Проблема заключается в том, что в ваших каталогах могут быть две конфигурации airflow, поэтому проверьте /root/airflow/dags и, если да, вам нужно изменить путь dags_folder в обоих файлах airflow.cfg.