2017-07-31 201 views
0

在Airflow Web界面中,我可以查看DAG的列表。如果點擊其中一個DAG,我可以看到DAG的不同視圖或DAG的代碼,並且在詳細信息選項卡中,我可以看到DAG文件的名稱,但不能顯示路徑。如何查看Airflow DAG的完整路徑?

我也試過airflow list-dags但這並沒有提供我正在尋找的信息。

有一個DAG,我可以在Web界面中看到,但我無法找到它在文件系統中的位置。

是否有方法從Airflow Web界面或Airflow CLI中查找DAG的位置?

回答

0

我不這麼認爲,但您應該只搜索您的airflow.cfg中的dags_folder以查找創建dag的位置。

另外,假設您有一些登錄,airflow-webserver的日誌會準確告訴您正在導入哪些文件/ dag。

+0

有不在dags_folder中的DAG。 –

+0

甚至子目錄呢?無論如何,Web服務器日誌都有每個導入的數據。此外,您可以擁有曾經運行但不再發現的dag,但它們在Web UI中看起來會有所不同。 – acushner

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 /站點包/通風/ example_dags

1

在UI中的主DAG的名單,有一個DAG的暫停切換左邊的一個按鈕。它的解決方案如下:

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

Fileloc會告訴你氣流認爲你的DAG文件在哪裏。然而...

  • 它能如果導入其他本地文件到您的DAG文件的
  • 該文件可能不存在了是錯誤的,這種信息都存儲在數據庫