DataWorks支援分鐘、小時、日、周、月、年等類型的調度任務互相依賴,調度類型不同,任務執行的周期數不同。任務各周期是通過執行個體的方式執行,當上下遊調度依賴的類型不同時,您可通過該文檔瞭解上下遊各周期執行個體如何掛載依賴,即上下遊任務不同周期執行個體的依賴情況。
背景資訊
DataWorks中,調度任務會根據調度類型及周期數產生相應的周期執行個體(例如,小時調度任務每天會根據周期數產生相應數量的小時執行個體),通過執行個體的方式運行任務。周期任務設定的依賴關係,其本質是任務間所產生執行個體的依賴。上下遊任務的調度類型不同,其產生的周期執行個體數及執行個體的依賴情況不同。
DataWorks支援多種調度依賴情境,不同情境的調度任務,可選擇同周期依賴或依賴上一周期。同周期依賴及依賴上一周期,詳情請參見調度依賴方式選擇(同周期依賴)、調度依賴方式選擇(跨周期依賴)。
配置調度依賴前,您需先瞭解以下內容。
序號 | 描述 | 相關文檔 |
1 | DataWorks支援多種調度類型(即分鐘、小時、天、周、月、年),當上下遊調度類型不一致時,DataWorks根據任務定時已耗用時間的就近原則設定調度依賴。 說明
| |
2 | DataWorks上任務一旦設定依賴,即表示上下遊任務間存在資料依賴。無論下遊任務定時已耗用時間為幾點,均需等上遊任務執行完成後,下遊任務才滿足可執行條件。 | |
3 | 您可通過具體情境樣本,進一步理解設定依賴的就近原則。 | 情境包括: |
掛載依賴:就近原則
DataWorks的周期任務運行時會產生多個周期執行個體,下遊周期執行個體會依賴上遊周期執行個體,通常若不指定需掛載至某個周期執行個體,下遊周期執行個體掛載依賴時會遵循就近原則,即與下遊周期執行個體已耗用時間最近,且未被其他周期執行個體依賴的上遊周期執行個體。不同情境的依賴原則具體如下:
下遊任務的定時已耗用時間若早於上遊任務,即便到達下遊任務的定時時間,該任務也不會被調度,需等待上遊任務運行完成後才會被調度運行。
根據就近原則掛載依賴時,對於下遊任務當天的第一個執行個體,如果上遊沒有比它更早的執行個體,則下遊預設依賴上遊當天的第一個執行個體。
情境 | 說明 | 示意圖 |
小時、分鐘任務相互依賴情境 |
| 小時、分鐘任務相互依賴的細分情境概覽如下圖: 舉例: 小時任務依賴小時任務。
|
天任務依賴小時或分鐘任務 | 預設情況:天任務預設依賴小時、分鐘任務當天所有周期執行個體,即待小時、分鐘任務當天所有周期執行個體的資料加工完成後,天任務才會對其當天所有資料進行加工清洗。 其他情況:若天任務只需依賴距離自己已耗用時間最近的小時、分鐘周期執行個體,您可為小時、分鐘任務設定自依賴。設定後,該小時、分鐘周期執行個體運行完成後,天任務便會啟動執行。 |
各細分調度情境的依賴及運行情況詳情介紹,請參見:附錄一:複雜依賴情境匯總。
依賴關係對任務執行的影響
下遊任務一旦掛載依賴,若上遊任務非運行成功狀態,即使到達下遊任務的定時已耗用時間,該任務也不會執行。
例如,小時任務B依賴天任務A,小時任務未設定自依賴。
天任務A:定時已耗用時間設定為
07:00。小時任務B:定時已耗用時間設定為
00:00、08:00、16:00。
若天任務A未運行完成,即便到了下遊小時任務B的定時已耗用時間00:00,該任務也不會運行。下遊任務B的最早實際已耗用時間為07:00。
附錄一:複雜依賴情境匯總
下遊任務的定時已耗用時間若早於上遊任務,即便到達下遊任務的定時時間,該任務也不會被調度,需等待上遊任務運行完成後才會調度運行,對於下遊任務當天的第一個執行個體,如果上遊沒有比它更早的執行個體,則下遊預設依賴上遊當天的第一個執行個體。
小時任務依賴其他任務
天任務依賴其他任務
分鐘任務依賴其他任務
其他任務依賴周、月、年任務
附錄二:工作流程調度說明
在DataWorks中支援將工作流程作為一個整體,添加上下遊節點,其調度說明詳情請參見:周期工作流程。