全部產品
Search
文件中心

DataWorks:調度依賴配置指引

更新時間:May 13, 2026

DataWorks 中的調度依賴用於定義周期調度節點(即在調度系統中按周期自動啟動並執行任務節點)之間的上下遊關係。配置調度依賴後,系統會確保所有上遊節點的執行個體均運行成功後,下遊節點的執行個體才會被觸發執行,從而保障資料按正確的順序產出和消費。本文介紹調度依賴的基本概念、依賴類型和配置方式,協助您在配置前建立整體認知,並快速找到適合您情境的操作文檔。

功能介紹

調度依賴是 DataWorks 中用於定義節點間上下遊關係的機制。通過配置調度依賴,您可以指定一個節點在哪些上遊節點運行成功後才開始執行,從而保證資料處理的正確順序。配置依賴後,DataWorks 調度系統將自動編排執行順序:僅當所有上遊執行個體運行成功,且時間、資源等條件均滿足時,下遊執行個體才會被觸發。

DataWorks 通過節點輸出名稱和節點輸入名稱匹配來建立節點間的依賴關係。配置依賴的核心操作流程如下:

  1. 上遊節點配置輸出:為上遊節點添加輸出名稱,通常以 專案名.表名 的形式命名(例如 my_project.dim_user),代表該節點產出的資料表。

  2. 下遊節點配置輸入:在下遊節點中搜尋並選擇上遊節點的輸出名稱作為本節點的輸入(即依賴),完成依賴關係的建立。

  3. 自動解析(可選):對於 SQL 類節點,DataWorks 可以自動解析代碼中的 INSERT 和 SELECT 語句,識別輸入表和輸出表,自動產生依賴配置。您也可以在自動解析的基礎上手動調整。支援解析的節點類型參見:各類型節點自動解析情境

重要

每個節點必須至少有一個輸出名稱。系統會為節點自動產生一個預設輸出(格式為 專案名.節點ID_out),即使刪除所有自訂輸出,該預設輸出也會保留。

規則約束

  • 發布生效原則:調度依賴配置僅在節點提交到營運中心後生效。開發節點時的配置不會自動同步至調度環境。

  • 上下遊調度狀態:依賴關係生效的前提是上遊與下遊節點執行個體均已產生,且為正常調度狀態。若節點配置異常或者上遊執行個體異常,可能導致節點孤立,無法正常調度。

  • 環路依賴限制:系統禁止存在循環相依性(A 依賴 B,B 依賴 A)的節點,包括直接和間接迴圈。提交時若檢測到環路,系統將阻斷髮布並報錯。

依賴類型

DataWorks 支援兩種調度依賴類型:同周期依賴和跨周期依賴,分別適用於不同的業務情境。

先導概念

周期是一個相對概念,其含義由節點的調度時間定義。一個“調度周期”是指節點兩次相鄰調度執行個體間的時間位移量,由其調度頻率決定。比如對於天調度任務,其上一周期為前一天的執行個體;對於小時調度任務,則為上一小時的執行個體。

調度頻率

一個周期

天、周、月、年調度

1 天

說明

對於周、月、年調度任務,執行個體仍按天維度產生(非調度日為空白跑執行個體)。因此,依賴計算基於天粒度,上一周期執行個體可能為空白跑狀態。

小時調度

小時層級的間隔

分鐘調度

分鐘層級的間隔(如每5分鐘)

兩種依賴類型

舉例:一個天調度節點 A 產出表 dim_user,下遊節點 B 消費該表:

  • 同周期依賴:B 的今天的執行個體等待A 今天的執行個體運行成功後再運行。即 B 消費的是 A 當天產出的資料。

  • 跨周期依賴:B 的今天的執行個體等待A 昨天的執行個體運行成功後再運行。即 B 消費的是 A 前一天產出的資料。

對比項

同周期依賴

跨周期依賴(依賴上一周期)

含義

本節點當前周期的執行個體運行,依賴上遊節點當前周期執行個體的運行結果。

本節點當前周期的執行個體運行,依賴指定節點上一周期執行個體的運行結果。指定節點可以是本節點自身(自依賴)、下遊一級子節點或任意其他節點。

DAG 圖中的表現

以實線展示。

以虛線展示。

典型情境

節點 B 需要讀取節點 A 今天產出的資料。

節點依賴昨天產出的資料(如 T-1 取數);小時/分鐘任務通過自依賴實現串列執行,避免多個周期並發。

配置方式

支援自動解析、商務程序拉線、手動添加。

在調度配置面板的"上一周期"地區,選擇依賴形式並指定節點ID。

說明:同一對節點之間,同周期依賴和跨周期依賴可以同時存在,但需要明確各自的業務含義。如果您僅需要跨周期依賴,請記得刪除系統自動解析產生的同周期依賴,否則下遊執行個體仍需等待上遊當前周期執行個體完成後才能運行,導致不符合預期的延遲。

調度依賴配置指引

為確保調度鏈路的完整性與可維護性,所有節點均需配置上遊依賴後方可發布至營運中心進行自動調度(若無資料依賴,需依賴虛擬節點或根節點)。配置調度依賴時,需梳理節點的商務邏輯,明確依賴對象和依賴類型,選擇最合適的配置方式,構建出既穩健可靠又結構清晰的資料工作流程。

1. 明確依賴對象

在配置依賴之前,需完成以下準備工作:

  • 梳理血緣關係:確認上遊產出的表/分區與下遊讀取的表/分區是否匹配。

  • 檢查調度屬性:確保節點的調度周期、生效時間、調度參數等已正確設定,因為調度屬性直接影響依賴的掛載行為。

根據當前節點對資料的依賴形式,選擇依賴對象。

情境一:依賴於上遊節點的直接產出

  • 適用情境:下遊節點所需資料,直接來源於另一個由 DataWorks 自動化調度的上遊節點所產出的表。

  • 配置策略:強烈建議根據資料血緣關係配置節點依賴。

  • 核心價值:這是最直接、最穩健的方式。調度系統能確保下遊總是在上遊資料準備就緒後才啟動,保證了端到端的資料一致性。

情境二:依賴非調度上遊資料(資料就緒驅動)

  • 適用情境:上遊資料產出不在 DataWorks 調度系統管理範圍內,無法產生調度執行個體供下遊依賴,例如:

    • 外部業務系統推送至 OSS/FTP 的檔案;

    • 即時同步產出的表;

    • 第三方同步工具(非 DataWorks 調度)產生的表;

    • 人工手動上傳或運行產出的暫存資料表。

  • 配置策略:配置一個諸如 Check 節點等檢查節點,來主動檢查資料是否就緒(如檢查檔案是否存在、表分區是否產生等),下遊業務節點再依賴於這個 Check 節點。

  • 核心價值:將“資料產出”轉化為“調度事件”,實現由 “資料就緒”事件驅動 後續流程,確保在非調度鏈路情境下的資料正確性。

情境三:無直接資料依賴,但有商務邏輯關聯

  • 適用情境:節點在資料處理/代碼邏輯上完全獨立,但從商務邏輯上需要歸屬到某個流程或需要被定時調度。

  • 配置策略

    • 依賴虛擬節點:可以將一組相關的任務彙總管理,形成一個邏輯單元,便於統一啟停、監控和維護,保證業務條理清晰。

    • 依賴工作空間根節點:確保該任務能被調度系統正常執行個體化並按時執行,避免其淪為無法自動調度的孤立節點。

  • 核心價值:避免節點孤立,使流程啟停和狀態監控更加清晰,確保商務邏輯脈絡的完整性。

2. 選擇依賴類型

若當前節點依賴上遊節點的直接產出(即情境一),需要進一步確認,依賴的資料為上遊同周期的產出,還是跨周期的產出。

核心判斷

看下遊實際讀取的是上遊哪個周期產出的資料。節點周期寫入某張表某個分區的資料,大部分情境都是採用調度參數來動態實現,您可參考調度參數支援的格式,瞭解調度參數的替換原理。若您需要依賴同工作空間某節點,則可檢查其調度參數的配置情況。

確認方式

  • 同空間節點:查看上遊節點代碼中的調度參數。參數替換後寫入的是“今天”的分區還是“昨天”的分區。

    • 開發環境看上遊節點的調度參數配置和節點代碼詳情,生產環境看執行個體詳情中的參數替換結果。

  • 跨空間節點:通過資料地圖查看上遊表的分區資訊和變更記錄。

    • 確認每天實際寫入的分區值。

選擇類型

  • 下遊代碼取的是上遊當天/當前周期的分區:同周期。

  • 下遊代碼取的是上遊前一天/上一周期的分區:跨周期。

  • 小時/分鐘任務需要串列不並發 :跨周期,即依賴本節點。

重要

未正確確認血緣的後果:

  1. 依賴缺失風險:若存在表血緣但未配置調度依賴,下遊任務將在上遊執行個體成功前啟動,導致讀取不到資料或資料不完整

  2. 參數匹配風險:若依賴配置但分區參數錯位(如上遊產出今日分區,下遊讀取昨日分區),將導致資料邏輯錯誤與品質異常

3. 配置依賴關係

根據步驟1、2確認的依賴對象和依賴形式,選擇合適的配置方法進行依賴配置。

DataWorks支援不同調度頻率的任務互相依賴掛載,結合約周期/跨周期依賴和調度參數,可實現豐富的調度情境。詳見:

4.調度依賴關係確認

配置完成後、發布之前,必須進行驗證:

確認方式

說明

配置時:預覽依賴

用於提前預覽節點當前配置的調度依賴是否符合預期。

  • 目前僅支援查看當前節點的一級上遊和一級下遊依賴關係。

  • 為確保當前任務依賴關係正確,請確認上遊節點為儲存狀態。

  • 依賴預覽圖示中,實線表示同周期依賴,虛線表示跨周期依賴(即依賴上一周期)。

提交時:代碼解析結果對比

用於提交節點時,確認目前的版本節點依賴變更是否符合預期,及變更對生產的影響。

開啟自動解析時,為保障生產資料正常產出,您需要在提交節點時,對節點調度變更的相關操作進行二次確認。可使用該功能保障依賴變更不影響生產任務資料產出。

發布後:查看周期任務

用於節點發布後,在營運中心確認生產調度任務的依賴是否符合預期。

  • 確認生產任務的調度依賴

    標準模式工作空間下,節點依賴關係在開發環境和生產環境依賴可以不一致。生產環境節點的調度依賴需在資料開發介面配置,並且完成發布後才會生效。

    節點發布後,您可進入營運中心的周期任務介面,展開當前任務上下遊,查看調度依賴情況。

    重要

    周期任務介面均展示節點在生產環境的最新狀態,但周期執行個體是否存在新加或刪除的依賴,與所選執行個體產生方式有關

  • 確認生產任務的資料情況

    調度依賴確認無誤後,您還需確認上下遊節點的分區資料讀取與寫入情況(即調度參數配置是否正確)。避免上遊節點產出的資料非當前節點所依賴的資料,導致下遊節點出現資料品質問題。

    說明

    若任務發布流程中存在流程管控,建議在任務發布後,進入生產營運中心的周期任務介面,查看任務調度依賴及相關屬性,若發現任務不符合預期,請確認任務的發布流程是否被阻塞。詳情請參見發布任務

移除依賴影響

在任務營運或迭代過程中,可能需要移除或調整已有的調度依賴。

移除依賴前,請務必評估對下遊任務調度行為的影響,避免造成任務孤立或資料事故。

下遊依賴情境

移除依賴後的影響

風險等級

下遊僅依賴當前節點

下遊任務變為孤立節點,失去上遊觸發機制,不再自動調度運行。

下遊依賴多個父節點

下遊任務可能在上遊資料未就緒時啟動,導致資料缺失或計算錯誤。

下遊依賴跨周期執行個體

若移除跨周期依賴,下遊可能讀取到錯誤業務日期的資料,導致資料邏輯混亂。

應用情境

  • 離線數倉分層建設:ODS → DWD → DWS → ADS 全鏈路依賴配置,確保分層資料按序產出。

  • 標準 ETL 鏈路:配置同周期依賴,確保下遊任務嚴格等待上遊執行個體成功後執行,保障資料加工鏈路的順序性與一致性。

  • 隔日(T+1)報表:配置跨周期依賴(位移量 -1),使今日任務依賴昨日完整業務資料,實現隔日資料準確分析與產出。

  • 多周期混合彙總:配置跨周期依賴,使天粒度任務依賴小時粒度任務的全周期執行個體,確保匯總前底層資料完整就緒。

  • 外部資料就緒觸發:配置自訂依賴或檢查節點,確認外部檔案送達或介面就緒後觸發流程,實現跨系統調度協同。

  • 複雜工作流程控制:利用虛節點彙總多分支依賴,作為流程式控制制裡程碑,簡化鏈路結構並提升監控可視性。

常見問題

以下為典型情境說明,更多調度依賴的常見問題,請參見依賴關係常見問題

  • 節點唯一性相關。

    • 開發環境與生產環境節點形態不同但節點唯一:同一節點在開發環境和生產環境中的調度依賴配置可以不同,即同一個節點在開發環境和生產環境可以擁有兩種不同的形態,但節點唯一。

    • 下線節點前需在開發環境與生產環境同時移除下遊依賴:由於節點唯一性,為保障下遊任務取數及運行無誤,DataWorks在下線上遊任務前,需先在下遊節點調度移除,然後重新設定下遊節點需要依賴的上遊節點,並提交發布。確保開發環境及生產環境該依賴都被移除後,才可下線上遊任務。

  • 與執行個體產生方式相關。

    • 建立節點時,請確保上下遊節點的執行個體產生方式相同,避免因為執行個體產生方式不同,上遊節點當天產生執行個體,下遊節點隔天產生執行個體,導致下遊執行個體變為情境:節點孤立

    • 變更已存在節點的調度周期,並且選擇發布後及時產生執行個體時,修改節點的調度依賴時,已產生的執行個體不會自動刪除,節點發布後當天周期執行個體的依賴情況會存在錯亂,詳情請參見即時轉執行個體對當天周期執行個體依賴關係的影響

  • 使用OpenAPI更新作業時出現超出200個上遊依賴的報錯。

    • 報錯詳情:'One file could not have more than 200 inputs 'One file could not have more than 200 inputs'。

    • 可通過在上下遊之間通過資料開發加上虛擬節點,減少當前節點的直接上遊依賴,虛擬節點配置詳情請參見:虛擬節點