如何向Airflow添加新的DAG?

Ale*_*gur 16 python airflow apache-airflow

我在一个名为tutorial_2.py(实际上是教程中tutorial.py提供的副本airflow,除了dag_id更改为tutorial_2)的文件中定义了一个DAG .

当我查看我的默认值,未修改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.pyairflow resetdb没有使它出现在列表中.

我该如何解决这个问题?

Ace*_*rey 9

我认为这是因为你没有出口AIRFLOW_HOME.尝试做: AIRFLOW_HOME="/home/alex/airflow/dags" airflow list_dags.如果这不起作用而不是两步, export AIRFLOW_HOME="/home/alex/airflow/dags" airflow list_dags 我相信这应该有效.搏一搏?

  • 这应该是正确的答案,需要注意的是你*可能需要检查并更正`airflow.cfg`中的`airflow_home`和`dags_folder`变量.我仍然不清楚为什么需要三个不同的变量.比照 [这里](https://gitter.im/apache/incubator-airflow?at=59581e6c6ae41d5d33a61aae). (3认同)

Pie*_*BEL 6

在我的理解中,AIRFLOW_HOME应该链接到airflow.cfg存储的目录.然后,airflow.cfg可以应用并将dag目录设置为您放入其中的值.

重要的一点是:airflow.cfg如果AIRFLOW_HOME未设置,则无用


Che*_* Wu 6

我可能使用的是最新的气流,命令已更改。对我有用的是:

  • export AIRFLOW_HOME="~/airflow"
  • 然后运行airflow dags list