Как добавить новые 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.