首页 文章

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

提问于
浏览
0

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

我也试过了 airflow list-dags 但是那并没有找到 .

我可以在Web界面中看到一个DAG但我无法找到它在文件系统中的位置 .

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

4 回答

  • 0

    在ui的主DAG列表中,DAG暂停切换左侧有一个按钮 . 它解决了:

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

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

    • 如果您将其他本地文件导入DAG文件,则可能是错误的

    • 该文件可能不再存在,此信息存储在数据库中

  • 3

    我不这么认为,但你应该从你的airflow.cfg中搜索你的 dags_folder 来找到dag的创建地点 .

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

  • 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?的回答)

  • 0

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

    DAG的路径: lib/python2.7/site-packages/airflow/example_dags

相关问题