任務配置上下遊節點依賴前,您需先確認當前節點的表血緣關係(例如,表資料間的血緣關係、表產出的分區資料),基於血緣關係配置節點的調度依賴。本文為您介紹如何確認表血緣,以及未基於表血緣配置節點依賴的影響。
背景資訊
確認表血緣,以及未基於表血緣配置節點依賴的影響,說明如下表。
類別 | 說明 |
確認表血緣 | 依賴同工作空間的表資料:通過上下遊節點參數配置及執行個體替換情況,確認上遊每日產出的分區資料。 |
依賴跨工作空間的表資料:通過資料地圖產出資訊確認上遊表每日產出的分區資料。 | |
未基於表血緣配置節點依賴的影響 | 存在血緣依賴關係但未設定節點依賴關係,導致下遊取數出現問題。 |
存在血緣依賴且設定了節點依賴但依賴的時間有誤,導致下遊取數出現問題。 |
使用說明
DataWorks上,節點讀取或產出的表分區均通過調度參數實現。若上遊節點產出的表分區值與下遊節點依賴的表分區不匹配,您可根據業務需要綜合考量,是否需要修改節點的調度參數配置,以此方式實現節點產出的表分區與節點依賴的表分區資料相匹配。
若需依賴上遊節點上一周期產出的表分區資料,您可考慮設定跨周期依賴,即本節點依賴上一周期該上遊節點。
說明 分區表情境下,需保證上遊節點產出的表分區為下遊節點所需依賴的表分區資料。
確認表血緣
同空間下確認上遊表血緣
節點周期寫入某張表某個分區的資料,大部分情境都是採用調度參數來動態實現,您可參考調度參數,瞭解調度參數的替換原理。若您需要依賴同工作空間某節點,則可檢查其調度參數的配置情況。- 開發環境確認上下遊表資料依賴
您可進入上遊節點的編輯介面,查看上遊節點調度參數配置與節點代碼詳情。
- 生產環境確認上下遊表資料產出
跨空間依賴確認上遊表血緣
若您需依賴其他工作空間的節點,可通過資料地圖確認表資料每日寫入情況。例如:確認上遊該節點每日寫入的表分區為昨天還是今天。未基於表血緣配置節點依賴的影響
情境一:存在強血緣依賴但未設定節點依賴,導致下遊取數出現問題
若當前節點Job_B
代碼中配置了依賴A表的資料,但未將產出A表資料的節點Job_A
作為當前節點依賴的上遊,則可能會出現A表資料未產出,當前節點便開始執行,最終導致Job_B
節點產出的表資料出現問題。雖然Job_A
的定時時間早於Job_B
,若Job_A
無法在2點前完成資料產出,將導致Job_B
取數出現問題。Job_A
定時時間1點未產出資料的可能原因如下:- Job_A的上遊節點運行出錯,或執行變慢。
- Job_A及其上遊節點出現等待資源情況。
- job_A的上遊節點某天被凍結。
情境二:設定了調度依賴,但由於參數配置導致下遊取上遊表資料早於上遊表資料產出
同周期依賴配置情況下,由於上遊產出的表分區與下遊取表資料的分區匹配不上,可能會導致下遊取數出現品質問題,或下遊任務報錯。如下圖所示。說明 MaxCompute節點使用max_pt函數時,請確認上遊表資料每日產出無誤。