依賴上一周期指本節點本次執行個體運行,依賴相應節點上一周期執行個體的運行情況,待上一周期執行個體運行成功後,本節點才會運行。通常,若本節點需依賴上遊昨天產出的資料,或小時、分鐘任務依賴自己上一小時或分鐘執行個體,可設定跨周期依賴。本文為您介紹跨周期依賴的配置及依賴形式。
注意事項
配置依賴上一周期的注意事項如下。類別 | 描述 | 相關參考 |
跨周期依賴圖例展示 | 跨周期依賴在DataWorks的DAG圖中以虛線的形式展示。 | 附錄:DAG圖功能介紹 |
已設定跨周期依賴某節點時,請確認是否還存在並需要同周期依賴 | 配置依賴關係後,下遊依賴的所有上遊任務均需執行完成,下遊任務才會執行。 由於同周期依賴自動解析功能預設開啟,若已設定跨周期依賴,請確認是否還需設定同周期依賴,若不需要,則需刪除同周期自動解析產生的依賴關係,以免影響下遊正常運行。 | 刪除依賴關係 |
複雜情境是否需設定跨周期依賴 | 部分情境下,當同周期依賴不滿足預期時,您可設定跨周期依賴。 例如,天任務依賴小時任務的情境下,天任務預設依賴小時任務當天所有執行個體。您可通過小時任務自依賴,實現天任務依賴小時任務指定周期。 | 必讀:複雜依賴情境調度配置原則與樣本 |
預覽節點依賴關係 | 為避免生產調度任務由於依賴關係不符合預期導致生產調度延遲,建議在發布任務前,通過該功能確認各周期執行個體關係是否符合預期。 | 預覽依賴關係 |
任務發布說明 | 跨周期依賴的上下遊任務,請確保均發行至生產環境,發布後才可在生產環境營運中心查看該環境的依賴關係。 | 發布任務 |
配置入口
依賴形式
依賴形式 | 節點依賴關係 | 業務情境 |
依賴上一周期:本節點(自依賴) | 本節點本次執行個體運行,依賴於本節點上一周期的執行個體運行結果。即本次節點是否運行,取決於本節點上一周期的執行個體是否運行成功。 | 本節點本次執行個體運行,取決於本節點上一周期業務資料的產出情況。 |
依賴上一周期:一級子節點 | 本節點本次執行個體運行,取決於下遊節點上一周期的執行個體運行情況。即本次節點是否運行,取決於該節點的下遊節點在上一周期的執行個體是否運行成功。 | 本節點本次執行個體的運行,依賴於該節點的下遊節點在上一周期對本節點上一周期結果表(即本節點輸出表)資料的清洗結果是否成功。 |
依賴上一周期:其他節點 | 本節點本次執行個體的運行,依賴於其他節點在上一周期的執行個體運行結果。即本次節點是否運行,取決於其依賴的其他節點在上一周期執行個體是否運行成功。 | 本節點本次執行個體運行,在商務邏輯上需要依賴其它業務的資料,但本節點中不包含涉及其他業務資料的相關操作。 |
依賴上一周期:本節點(自依賴)
本節點本次執行個體運行,取決於本節點上一周期業務資料的產出情況。任務的依賴設定及依賴關係樣本如下。當天任務依賴小時、分鐘任務時,小時、分鐘任務是否設定自依賴,會影響天任務的執行時間:- 小時、分鐘任務未設定自依賴
天任務預設依賴小時、分鐘任務當天所有的執行個體,即天任務會對小時、分鐘任務當天產出的所有表資料進行匯總加工。
- 小時、分鐘任務設定自依賴
天任務根據掛載依賴:就近原則,掛載距離自己定時時間最近的某個小時、分鐘執行個體,而非依賴當天所有小時、分鐘執行個體。
依賴上一周期:一級子節點
本節點本次執行個體運行,依賴其下遊節點上一周期對本節點上一周期表資料的加工結果。依賴上一周期:其他節點
本次節點是否運行,取決於其他節點在上一周期執行個體是否運行成功。是否沿用上遊的空跑屬性
通常,使用分支節點時,需考慮該配置。- 配置入口您可在調度依賴中配置跳過上遊的空跑屬性為是,從而使下遊節點不被上一周期該節點的空跑屬性影響。
- 應用情境
某節點包含多個下遊節點,在任務執行過程中,下遊部分節點會被置為空白跑狀態。此時,當下遊的空跑節點配置了依賴自身的上一周期,則該節點的空跑屬性會不斷向下傳遞至其子節點,導致出現該節點持續空跑的情況。若您不希望子節點延續被依賴節點的空跑屬性時,可在調度依賴中設定跳過上遊的空跑屬性為是。
- 情境樣本
- 假設Assign_Ndoe為賦值節點,Branch_Node為分支節點,Shell_Node1、Shell_Node2為Branch_Node的下遊節點。該節點均為天調度節點。
- 實際運行時,Shell_Node1被置為空白跑,Shell_Node2正常運行。
- Shell_Node1節點設定了依賴自身的上一周期。
- 本周期(T)Shell_Node1節點產生的周期執行個體名稱為
Shell_Node1'
。 - 上一周期(T-1)Shell_Node1節點產生的周期執行個體名稱為
Shell_Node1
。
Shell_Node1'
,會依賴上一周期(T-1)的周期執行個體Shell_Node1
運行,下遊節點會延續上遊節點的空跑屬性,導致Shell_Node1節點永遠空跑。
預覽依賴關係
配置完成後,您可預覽該節點配置的依賴關係,詳情請參見後續:確認依賴是否符合預期。