如何向 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.pyairflow 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