本文為您介紹歸併節點的概念,以及如何建立歸併節點、定義歸併邏輯,並通過實踐案例為您展示歸併節點的調度配置和運行詳情。
背景資訊
歸併節點是DataStudio中提供的邏輯控制系列節點中的一類,可以對上遊節點的運行狀態進行歸併,用於解決分支節點下遊節點的依賴掛載和運行觸發問題。
目前歸併節點的邏輯定義不支援選擇節點運行狀態,僅支援將分支節點的多個下遊節點歸併為運行成功的狀態,以便下遊節點能夠直接掛載歸併節點作為依賴。
例如,分支節點C定義了兩個邏輯互斥的分支走向C1和C2,不同分支使用不同的邏輯寫入同一張MaxCompute表,如果下遊節點B依賴此MaxCompute表的產出,則必須使用歸併節點J先將分支歸併後,再把歸併節點J作為B的上遊依賴。如果直接把B掛載在C1、C2下,任何時刻,C1和C2總有一個會因分支條件不滿足,而顯示執行個體狀態為分支未被選中,而B也會因為上遊有未被選中跳過啟動並執行節點,實際也會是分支未被選中,空跑跳過的狀態,節點並沒有實際運行,所有下遊節點均會如此。
使用限制
僅DataWorks標準版及以上版本,才可使用歸併節點功能。購買或升級DataWorks相應版本,詳情請參見DataWorks各版本詳解。
建立歸併節點
進入資料開發頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的 ,在下拉框中選擇對應工作空間後單擊進入資料開發。
滑鼠移至上方至表徵圖,單擊 。
在建立節點對話方塊中,輸入節點名稱,並選擇路徑。
單擊確認。
定義歸併邏輯
建立歸併節點後 ,進入節點編輯頁面定義歸併邏輯。
添加需要歸併的分支節點,該節點作為歸併節點的父節點。
在添加歸併分支地區,通過節點名稱、節點ID或節點輸出尋找相應父節點,並單擊表徵圖添加為分支節點。
說明當需要歸併多個分支節點時,您需多次重複執行添加操作。
在歸併條件設定地區,配置分支節點的歸併條件。
您需要配置歸併邏輯及分支節點的運行狀態。
歸併邏輯條件包括:
且:上遊所有分支節點均需處於終態(即運行完成),並且均滿足其設定的運行狀態時,執行結果設定地區設定的本節點運行狀態才會生效。
或:上遊所有節點均需處於終態(即運行完成),並且任意分支節點滿足其設定的運行狀態時,執行結果設定地區設定的本節點運行狀態才會生效。
節點運行完成後的狀態包括:
成功:節點運行成功。
失敗:節點運行失敗。
分支未運行:節點未運行。
在執行結果設定地區,設定本節點的運行狀態。
說明當前僅支援設定本節點的運行狀態為成功。
如上圖樣本:
添加分支節點A、B為當前歸併節點的上遊節點。
節點A的運行狀態設定為成功、分支未運行、失敗,即節點A運行完成即可。
節點B的運行狀態設定為成功、分支未運行,即節點B運行完成且節點B運行未失敗。
歸併邏輯條件設定為且。
因此,當節點A運行完成,並且節點B運行完成且不失敗,當前歸併節點的成功運行狀態才會生效。
單擊節點編輯頁面右側的調度配置,即可設定歸併節點的調度屬性。詳情請參見配置基礎屬性。
歸併節點樣本
在下遊節點中,添加分支節點作為上遊節點後,通過選擇對應的分支節點輸出來定義不同條件下的分支走向。例如在下圖所示的商務程序中,分支1和分支2均為分支節點的兩個下遊節點。
分支1依賴於autotest.fenzhi121902_1輸出。
分支2依賴於autotest.fenzhi121902_2輸出。
運行任務
您可以在作業記錄中查看滿足分支條件、被選中啟動並執行分支下遊節點的運行情況。
您可以在作業記錄中查看到不滿足分支條件、未被選中啟動並執行分支下遊節點,被置為跳過。
歸併節點的下遊節點正常運行。