周期調度中存在的特殊情境包含節點成環與節點孤立,這兩種節點都會導致任務調度出現問題,以下將為您介紹這兩種情境,以及解決方案。
情境一:節點成環
節點成環產生原因與解決方案
當某節點為上遊節點但又同時依賴了自己的下遊節點,導致依賴關係成環,您需要分析商務程序,及時去除成環依賴。
例如,當下遊節點依賴某上遊節點上一周期產出的表資料,並且將加工結果寫回該表時,若下遊節點依賴上遊節點同周期而非上一周期,將導致上下遊節點依賴關係成環。請明確業務情境後,將下遊節點從依賴上遊同周期轉變為依賴上一周期。
情境樣本:如下圖情境,若上遊節點A查詢表C資料併產出表A資料,下遊節點B對錶A資料進行清洗寫入表B,緊接著節點C對錶B資料進行清洗又重新寫回表C,這種情況下自動解析會產生環。
解決方案:分析商務程序,去除成環依賴。如下圖案例,如果下遊表要對上遊表上周期資料進行清洗,則設定下跨周期,A節點應該跨周期依賴C節點。
成環節點的監控警示
為保障周期任務可以正常產生周期執行個體並且自動調度運行,DataWorks內建了警示規則來對周期任務進行定期監控掃描,如有異常便會自動警示。節點成環後會自動警示,如果收到節點成環警示請及時處理。
DataWorks每天定時9點、12點、16點、20點和22點對周期任務狀態進行掃描,如有異常將會自動發送警示。掃描時間點前10分鐘內產生的異常不會納入本次掃描,該異常將會被納入下一個周期的任務狀態進行掃描。
節點成環警示為系統內建警示規則,您無須手動建立,預設以簡訊、郵件的方式警示給節點責任人。但您可以在規則管理頁面中針對全域規則修改警示接收人,詳情請參見規則管理。
情境二:孤立節點
孤立節點介紹
孤立節點指節點在周期任務或周期執行個體處展開父節點時,沒有依賴任何父節點,這類型節點在自動調度時不會被調起,所以孤立節點不會自動調度運行,如果該孤立節點下遊依賴較多,可能會造成比較嚴重的後果。孤立節點產生後會自動警示,如果收到孤立節點警示請及時處理。
在DataWorks上,除了工作空間根節點外,自訂的每個周期調度的節點都需要有父節點依賴才可以被正常調度運行。
如何處理孤立節點?
情境 | 描述 | 解決方案 |
上下遊節點執行個體產生方式不一致。 | 當上下遊均為建立節點時,上遊執行個體產生方式為T+1次日產生,下遊執行個體產生方式為發布後即時產生且只有該一個上遊依賴時,由於上遊節點當天未產生執行個體,導致下遊節點成為孤立節點。 | 請調整上遊執行個體產生方式後重新發布。關於該情境的具體說明,詳情請參見情境三:上下遊任務執行個體產生方式不一致。 |
上遊節點不在節點有效時間內。 | DataWorks上不在有效期間內的節點不會產生執行個體。當上遊節點不在節點有效時間內,若下遊節點僅依賴該上遊節點時,下遊節點會成為孤立節點。 | 請前往節點調度配置介面修改上遊節點生效日期。 |
上遊節點的節點輸出變更。 | 上遊業務變更會導致上遊節點輸出變更,進而導致下遊依賴關係丟失。若下遊節點僅依賴該一個上遊時,下遊節點將成為孤立節點。 | 請重新為下遊節點設定節點依賴關係。 |
跨工作空間依賴,上遊節點所在工作空間未開啟調度。 | 當前節點跨工作空間依賴某節點時,若上遊節點所在工作空間未開啟調度,且當前節點僅依賴該一個上遊時,當前節點將變成孤立節點。 | 請找到對應空間負責人開啟調度或去除該跨專案節點依賴。 |
中間任務不在補資料指定周期範圍內。 | 執行補資料時,如果調度依賴關係中的中間任務(即依賴於上遊節點,且存在下遊依賴)不在補資料的周期範圍內,則可能導致依賴該中間任務的下遊節點孤立。 樣本情境:
對A、C任務執行補指定周期 | 請在周期範圍內對中間任務一併執行補資料操作。詳情請參見執行補資料。 本樣本則需在 |
孤立節點監控警示
DataWorks每晚根據周期任務產生第二天待自動調度啟動並執行周期執行個體,所以為保障周期任務可以正常產生周期執行個體並且自動調度運行,DataWorks內建了警示規則來對周期任務進行定期監控掃描,如有異常便會自動警示。孤立節點產生後會自動警示,如果收到孤立節點警示請及時處理。具體如下:
DataWorks每天定時9點、12點、16點對周期任務狀態進行掃描,如有異常將會自動發送警示,但在掃描時間點前10分鐘內產生異常不會納入本次掃描,該異常將會被納入下一個周期的任務狀態掃描中進行掃描。
節點孤立警示為系統內建警示規則,您無須手動建立,預設以簡訊、郵件的方式警示給節點責任人。但您可以在規則管理頁面中針對全域規則修改警示接收人。詳情請參見規則管理。
定位孤立節點
您可以前往營運中心,在營運大屏頁面重點關注地區,查看孤立節點數量與明細。