如何删除气流中的默认示例dags

bro*_*els 45 python airflow

我是Airbnb开源工作流程/ datapipeline软件气流的新用户,它位于github URL https://github.com/apache/incubator-airflow上.启动Web UI后,有十几个默认示例dags.让我感到愚蠢,我尝试了很多方法来删除这些笨蛋,但没有这样做.load_examples = False在airflow.cfg中设置.文件夹lib/python2.7/site-packages/airflow/example_dags已删除.删除dag pythons脚本文件夹后,这些示例dags的状态将更改为灰色.但这些项目仍然占据了Web UI屏幕.并且在airflow.cfg中将新的dag文件夹指定为dags_folder =/mnt/dag/1.我检查了这个dag文件夹,什么都没有.对我来说真的很奇怪,为什么要删除这些例子是如此困难.

jhn*_*lvr 93

启动气流时,请确保设置:

load_examples = False

你的airflow.cfg里面.

如果你已经开始气流但未设置为false,则可以将其设置为false并airflow.cfg在cli中运行(!这将破坏所有当前的dag信息!).

或者,您可以进入airflow resetdb并手动删除表中的条目airflow_db.

  • 我刚刚在1.8.1中试过这个,但这似乎还不够.运行`airflow resetdb`后我可以确认dag表是空的,我已经对cfg文件进行了更改,但是示例dags仍然存在于webserver中.我不得不重新启动网络服务器来完成这项工作.这涉及杀死大量进程并再次运行`airflow webserver`.可能最好运行systemd或upstart来管理重启https://airflow.incubator.apache.org/configuration.html?highlight=systemd#integration-with-systemd (7认同)
  • 据我所知,对于“airflow 2.0.1”;在“airflow.cfg”中设置“load_examples = False”后,使用“airlow db Reset”而不是“airflow Resetdb” (3认同)
  • 真的很感激,我按照你的回答解决了这个问题。 (2认同)
  • 请注意,resetdb 将删除您定义的所有连接/变量。 (2认同)

小智 11

对于 Airflow 2.0,在 docker-compose.yaml 中,您可以设置AIRFLOW__CORE__LOAD_EXAMPLES: 'false'不加载它们,而不是编辑 .cfg 文件。

  • 这让我免去了很多头撞墙的麻烦。谢谢你!文档中的默认 docker-compose 文件设置了此设置,并且它会覆盖“airflow.cfg”文件中的所有内容。 (2认同)

Dip*_*del 7

在启动气流之前,请确保在文件中将变量设置load_example为 False airflow.cfg。默认情况下它设置为 True。

load_examples = False
Run Code Online (Sandbox Code Playgroud)

如果您已经启动了airflow,则必须从airflow UI 中手动删除示例DAG。单击 DAG 右侧的删除图标将其删除。

单击 DAG 右侧的删除图标将其删除

您可以使用命令重置数据库,而不是手动删除示例 DAG,airflow resetdb但这会删除您的连接、变量和其他重要信息。不要airflow resetdb在生产中使用选项。

  • 命令现在是“airflow db Reset” (2认同)

Aku*_*Aku 7

简单的方法:

  1. 放 ..

    负载示例=假

进入airflow.cfg文件

  1. 然后关闭并重新启动网络服务器调度程序


J S*_*idt 5

正如其他人所说,您可以load_examples = Falseairflow.cfg. 但是,这要求 cfg 文件已经存在。

您可以使用 ENV 变量在无需配置 cfg 文件的情况下初始化气流数据库。

export AIRFLOW__CORE__LOAD_EXAMPLES=False
airflow initdb
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅文档