Airflow 中文文件:概念
阿新 • • 發佈:2018-11-29
Airflow Platform是用於描述,執行和監控工作流的工具。
核心理念
DAG的
在Airflow中, DAG
(或定向非迴圈圖)是您要執行的所有任務的集合,以反映其關係和依賴關係的方式進行組織。
例如,一個簡單的DAG可以包含三個任務:A,B和C.可以說A必須在B可以執行之前成功執行,但C可以隨時執行。 它可以說任務A在5分鐘後超時,並且B可以重新啟動最多5次以防它失敗。 它也可能會說工作流程將在每天晚上10點執行,但不應該在某個特定日期之前開始。
通過這種方式,DAG描述_了_您希望如何執行工作流程; 但請注意,我們還沒有說過我們真正想做的事情! A,B和C可以是任何東西。 當C傳送電子郵件時,也許A準備B進行分析的資料。 或者也許A監控你的位置,這樣B可以開啟你的車庫門,而C開啟你的房子燈。 重要的是,發展議程集團並不關心其組成任務的作用; 它的工作是確保無論他們做什麼在正確的時間,或正確的順序,或正確處理任何意外的問題。
DAG在標準Python檔案中定義,這些檔案放在Airflow的DAG_FOLDER
。 Airflow將執行每個檔案中的程式碼以動態構建DAG
物件。 您可以擁有任意數量的DAG,每個DAG都描述任意數量的任務。 通常,每個應該對應於單個邏輯工作流。
注意
搜尋DAG時,Airflow將僅考慮字串“airflow”和“DAG”都出現在.py
檔案內容中的檔案。
範圍
Airflow將載入它可以從DAG
匯入的任何DAG
物件。 重要的是,這意味著DAG必須出現在globals()
。 考慮以下兩個DAG。 只會載入dag_1
; 另一個只出現在本地範圍內。