在Airflow Web界面中,我可以查看DAG列表 . 如果我单击其中一个DAG,我可以看到DAG的不同视图或DAG的代码,在详细信息选项卡中,我可以看到DAG文件的名称,但不能看到路径 .
我也试过了 airflow list-dags 但是那并没有找到 .
airflow list-dags
我可以在Web界面中看到一个DAG但我无法找到它在文件系统中的位置 .
有没有办法从Airflow Web界面或Airflow CLI查找DAG的位置?
在ui的主DAG列表中,DAG暂停切换左侧有一个按钮 . 它解决了:
https://<airflow.blah.com>/admin/dagmodel/edit/?id=<dag_id>
Fileloc 将显示气流认为您的DAG文件所在的位置 . 然而...
Fileloc
如果您将其他本地文件导入DAG文件,则可能是错误的
该文件可能不再存在,此信息存储在数据库中
我不这么认为,但你应该从你的airflow.cfg中搜索你的 dags_folder 来找到dag的创建地点 .
dags_folder
此外,假设您有一些登录, airflow-webserver 的日志会准确地告诉您正在导入哪些文件/ dag .
airflow-webserver
特别是如果您进行开发并更改DAG /删除DAG文件,这些条目通常会保留在后端数据库中并在UI中可见 . 大多数情况下,实际上没有任何DAG文件 .
我建议使用以下内容清理数据库中的DAG:
import sys from airflow.hooks.postgres_hook import PostgresHook dag_input = sys.argv[1] hook=PostgresHook( postgres_conn_id= "airflow_db") for t in ["xcom", "task_instance", "sla_miss", "log", "job", "dag_run", "dag" ]: sql="delete from {} where dag_id='{}'".format(t, dag_input) hook.run(sql, True)
(根据Airflow: how to delete a DAG?的回答)
默认情况下,气流提供一些样本DAG . DAG保存在example_dags文件夹下 .
DAG的路径: lib/python2.7/site-packages/airflow/example_dags
4 回答
在ui的主DAG列表中,DAG暂停切换左侧有一个按钮 . 它解决了:
Fileloc
将显示气流认为您的DAG文件所在的位置 . 然而...如果您将其他本地文件导入DAG文件,则可能是错误的
该文件可能不再存在,此信息存储在数据库中
我不这么认为,但你应该从你的airflow.cfg中搜索你的
dags_folder
来找到dag的创建地点 .此外,假设您有一些登录,
airflow-webserver
的日志会准确地告诉您正在导入哪些文件/ dag .特别是如果您进行开发并更改DAG /删除DAG文件,这些条目通常会保留在后端数据库中并在UI中可见 . 大多数情况下,实际上没有任何DAG文件 .
我建议使用以下内容清理数据库中的DAG:
(根据Airflow: how to delete a DAG?的回答)
默认情况下,气流提供一些样本DAG . DAG保存在example_dags文件夹下 .
DAG的路径: lib/python2.7/site-packages/airflow/example_dags