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

时间:2017-04-14 11:42:36

标签: python airflow

我是Airbnb开源工作流程/数据管道软件airflow的新用户。 Web UI启动后有几十个默认示例dag。我尝试了很多方法来删除这些笨蛋,但我没有这样做。

  • load_examples = False在airflow.cfg。
  • 中设置
  • 文件夹lib / python2.7 / site-packages / airflow / example_dags已删除。

删除dags文件夹后,这些示例dags的状态将更改为灰色,但这些项目仍占用Web UI屏幕。并且在airflow.cfg中将新的dag文件夹指定为dags_folder = /mnt/dag/1。我检查了这个dag文件夹,什么都没有。对我来说,为什么删除这些例子如此困难真的很奇怪。

7 个答案:

答案 0 :(得分:73)

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

load_examples = False

airflow.cfg

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

或者,您可以进入airflow_db并手动从dag表中删除这些条目。

答案 1 :(得分:8)

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

答案 2 :(得分:0)

TL; DR:检查dags_folder中是否只有 个DAG文件-Airflow将递归遍历此目录并尝试加载所有.py文件。

我已经花了一些时间来调试Airflow的类似行为:即使load_examples = False,气流仍然在加载大量不必要的东西,包括example_dags。问题是我在venv/中有一个virtualenv目录dags_folder,而且-我没想到-Airflow在dags目录中递归搜索递归。因此它是从安装在该virtualenv中的apache-airflow加载example_dags的。

UPD:有一个.airflowignore file会忽略dags_folder中的目录

答案 3 :(得分:0)

如果在气流resetdb和重新启动气流之后打开了基于LDAP的身份验证,则由于缓存的登录ID(但没有密码),您的登录窗口可能不会出现并且可能会出错。如果发生这种情况,请清除缓存并尝试。如果仍然无法解决问题,请关闭身份验证,停止气流并开始。然后打开身份验证停止并启动-您将能够看到登录窗口并使用LDAP身份验证登录 -Suresh

答案 4 :(得分:0)

就像其他人所说的那样,您可以在load_examples = False内更改airflow.cfg。但是,这需要cfg文件已经存在。

您可以使用ENV变量来初始化气流数据库,而无需配置cfg文件。

export AIRFLOW__CORE__LOAD_EXAMPLES=False
airflow initdb

有关更多信息,请参见docs

答案 5 :(得分:0)

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

load_examples = False

如果已经开始气流,则必须从气流UI中手动删除示例DAG。单击DAG右侧的删除图标将其删除。

Click on the delete icon available on the right side of the DAG to delete it

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

答案 6 :(得分:0)

刚刚放

load_examples = False

进入airflow.cfg文件并关闭并重新启动网络服务器和调度程序即可