如何向 Airflow 添加新的 DAG?
How to add new DAGs to Airflow?
我在名为 tutorial_2.py
的文件中定义了一个 DAG(实际上是 airflow
教程中提供的 tutorial.py
的副本,除了 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
都没有导致它出现在列表中。
我该如何补救?
我认为这是因为您还没有导出 AIRFLOW_HOME
。
尝试做:
AIRFLOW_HOME="/home/alex/airflow/dags" airflow list_dags
。
如果那不起作用,则执行两个步骤
export AIRFLOW_HOME="/home/alex/airflow/dags"
airflow list_dags
我相信这应该有效。试一试?
按我的理解,AIRFLOW_HOME
应该link到airflow.cfg
存放的目录。然后,airflow.cfg
可以应用并将 dag 目录设置为您放入其中的值。
重要的一点是:如果您的 AIRFLOW_HOME
未设置
,airflow.cfg
将毫无用处
问题是您的目录中可能存在两个气流配置,因此请检查 /root/airflow/dags,如果是,您需要更改两个 airflow.cfg 中的 dags_folder 路径
我可能正在使用最新的气流,命令已更改。对我有用的是:
export AIRFLOW_HOME="~/airflow"
- 然后运行
airflow dags list
我在名为 tutorial_2.py
的文件中定义了一个 DAG(实际上是 airflow
教程中提供的 tutorial.py
的副本,除了 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
都没有导致它出现在列表中。
我该如何补救?
我认为这是因为您还没有导出 AIRFLOW_HOME
。
尝试做:
AIRFLOW_HOME="/home/alex/airflow/dags" airflow list_dags
。
如果那不起作用,则执行两个步骤
export AIRFLOW_HOME="/home/alex/airflow/dags"
airflow list_dags
我相信这应该有效。试一试?
按我的理解,AIRFLOW_HOME
应该link到airflow.cfg
存放的目录。然后,airflow.cfg
可以应用并将 dag 目录设置为您放入其中的值。
重要的一点是:如果您的 AIRFLOW_HOME
未设置
airflow.cfg
将毫无用处
问题是您的目录中可能存在两个气流配置,因此请检查 /root/airflow/dags,如果是,您需要更改两个 airflow.cfg 中的 dags_folder 路径
我可能正在使用最新的气流,命令已更改。对我有用的是:
export AIRFLOW_HOME="~/airflow"
- 然后运行
airflow dags list