如何查看Airflow DAG的完整路径?

时间:2017-07-31 20:04:12

标签: airflow

在Airflow网络界面中,我可以查看DAG列表。如果我单击其中一个DAG,我可以看到DAG的不同视图或DAG的代码,在详细信息选项卡中,我可以看到DAG文件的名称,但不能看到路径。

我也试过airflow list-dags,但这并没有提供我正在寻找的信息。

我可以在网络界面中看到一个DAG,但我找不到它在文件系统中的位置。

有没有办法从Airflow网络界面或Airflow CLI查找DAG的位置?

4 个答案:

答案 0 :(得分:3)

在ui的主DAG列表中,DAG暂停切换左侧有一个按钮。它解析为:

https://<airflow.blah.com>/admin/dagmodel/edit/?id=<dag_id>

Fileloc将显示气流认为您的DAG文件所在的位置。然而...

  • 如果您将其他本地文件导入DAG文件
  • ,则可能出错
  • 该文件可能不再存在,此信息存储在db

答案 1 :(得分:0)

我不这么认为,但您应该从airflow.cfg中搜索dags_folder以找到创建dag的位置。

此外,airflow-webserver的日志会准确地告诉您正在导入哪些文件/ dag,假设您已登录。

答案 2 :(得分:0)

特别是如果您进行开发并更改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?的答案)

答案 3 :(得分:0)

默认情况下,气流会提供一些样本DAG。 DAG保存在example_dags文件夹下。

DAG的路径: 的 LIB / python2.7 /站点包/气流/ example_dags