補數據可通過補歷史或未來一段時間的數據,將寫入數據至對應時間分區。代碼中的調度參數,將根據補數據選擇的業務時間自動替換為具體值,并結合業務代碼將對應時間數據寫入指定分區。具體寫入的分區與執行的代碼邏輯,與任務定義的代碼有關。本文為您介紹新版補數據如何執行補數據操作并管理補數據實例。
背景信息
周期任務開發完成并提交發布后,任務會按照調度配置定時運行。如果您希望在指定時間段運行周期任務,可使用補數據功能。DataWorks支持的補數據方式如下。
補數據方式 | 描述 | 適用場景 |
選擇一個或多個任務作為根任務,可基于根任務手動選擇將其下游任務作為本次補數據的任務范圍,支持指定部分下游節點。 說明
|
| |
選擇一個起始任務作為根任務,以及一個或多個結束任務,平臺自動分析,將根任務與結束任務間的所有任務作為本次補數據的任務范圍(包含起始任務和結束任務)。 | 用于對依賴關系較復雜的任務進行全鏈路補數據。 | |
選擇一個任務作為根任務,并按照下游節點所在工作空間確定本次補數據的任務范圍。 說明
| 若當前節點的下游節點存在于多個工作空間,您需對工作空間的節點執行補數據,可使用該方式。 | |
選擇一個根任務后,系統自動分析該任務及所有下游任務作為本次補數據的任務范圍。 重要 僅在補數據任務運行時,才能看到觸發了哪些任務運行,請謹慎使用。 | 用于對根任務及其全量下游任務進行補數據。 |
使用限制
實例清理原則
不支持手動刪除補數據實例,實例過期后(30天左右)平臺將自動刪除。如果任務不需要再運行,可選擇凍結實例。
公共調度資源組實例保留一個月(30天),日志保留一周(7天)。
獨享調度資源組任務實例、日志均保留一個月(30天)。
運行完成的實例,當日志大于3M時,平臺會每天定時清理。
權限限制
對于補數據中選擇的根任務或其下游任務,若您沒有任務所在工作空間的操作權限,則無法對該任務執行補數據。如果工作空間的任務為本次補數據的中間任務(即該任務的上下游依賴在此次補數據范圍內),為保障下游任務運行,該任務將空跑(不會真實執行,任務啟動運行后立即返回成功狀態),可能導致該任務的下游任務數據產出異常,請謹慎操作。
注意事項
實例運行相關
當補一個區間的數據時,若啟動補數據的第一天存在一個運行失敗的實例,則當天的補數據實例均會被置為失敗狀態,第二天的實例也不會啟動運行。僅當第一天的全部實例均運行成功,第二天的實例才會啟動運行。
小時或分鐘任務補某一天數據時,當天所有實例是否并發執行與任務是否設置自依賴有關。
如果周期實例和補數據實例均啟動運行,為保證周期實例正常運行,您需要終止補數據實例的運行。
支持將無需補數據的任務添加至黑名單。若黑名單中的任務為本次補數據的中間任務(即該任務的上下游依賴在此次補數據范圍內),為保障下游任務運行,該任務將空跑(不會真實執行,任務啟動運行后立即返回成功狀態),但可能導致該任務的下游任務數據產出異常。
調度資源相關
補數據實例過多或并行數過高可能導致周期調度的資源緊張,請根據需求合理配置。
為避免補數據實例占用過多的資源而影響周期實例運行,平臺對補數據實例制定以下規則:
如果補數據選擇業務日期為昨天(T-1),即補當天數據時,補數據任務優先級由任務所在基線優先級決定。
如果補數據選擇業務日期為歷史業務日期(T-2)時,補數據任務將按照以下規則對任務進行降級處理:
7級、8級任務優先級降為3級。
5級、3級任務優先級降為2級。
1級任務優先級保持不變。
進入補數據界面
進入運維中心頁面。
登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的 ,在下拉框中選擇對應工作空間后單擊進入運維中心。
在左側導航欄單擊
,進入補數據頁面。
如需對某個周期任務補數據,也可在
界面,單擊對應任務后的補數據。步驟一:新建補數據任務
在補數據頁面單擊新建補數據任務,根據業務需求配置補數據任務。
配置基礎信息。
平臺自動生成默認格式的補數據名稱,您可按需修改。
選擇要補數據的任務。
您可通過手動選擇、按鏈路、按工作空間、指定任務及所有下游等方式,對您有權限操作的任務發起補數據,并基于該任務選擇需要補數據的其他任務,不同方式的配置參數存在差異。
手動選擇
選擇一個或多個任務作為根任務,再選擇根任務的下游任務作為本次補數據的任務范圍。該方式兼容原“當前節點”、“當前節點及下游節點”以及“高級模式”補數據方案。
參數說明如下。
參數
描述
方式選擇
選擇手動選擇。
搜索根任務
通過名稱或ID搜索、添加根任務。您也可單擊批量添加,通過資源組、調度周期、工作空間等條件搜索,批量添加多個根任務。
說明僅支持選擇您已加入工作空間(即您為工作空間成員)的任務。
已選補數據列表
待執行補數據的任務。列表展示已添加的根任務,您可基于根任務選擇要執行補數據的下游任務。
說明支持根據依賴關系的層級篩選下游任務,根任務的直接下游任務默認在一層,以此類推。
最大支持同時執行補數據的根任務數上限為500,總任務數(即根任務及其下游任務)上限為2000。
任務黑名單
若某任務無需補數據,可將其添加至黑名單。黑名單中的任務將不參與本次補數據。
說明僅支持將根任務納入黑名單,若根任務中的子任務不需要補數據,請在已選補數據列表將其移除。
若黑名單中的任務為本次補數據的中間任務(即該任務的上下游依賴在此次補數據范圍內),為保障下游任務運行,該任務將空跑(不會真實執行,任務啟動運行后立即返回成功狀態),但可能導致該任務的下游任務數據產出異常。
按鏈路選擇
選擇一個起始任務,以及一個或多個結束任務,通過自動分析,將根任務與結束任務間的所有任務作為本次補數據的任務范圍(包括起始任務和結束任務)。
參數說明如下。
參數
描述
方式選擇
選擇按鏈路。
搜索任務
通過名稱或ID搜索,添加一個起始任務,以及一個或多個結束任務,平臺將根據起始及結束任務分析中間任務(即中間任務為起始任務的直接或間接下游任務,為結束任務的直接或間接上游任務)。
中間任務列表
平臺根據起始任務及結束任務自動分析到的中間任務列表。
說明列表僅展示2000個任務,超過2000的任務不會被展示,但會正常執行。
任務黑名單
若某任務無需補數據,可將其添加至黑名單。黑名單中的任務將不參與本次補數據。
說明若黑名單中的任務為本次補數據的中間任務(即該任務的上下游依賴在此次補數據范圍內),為保障下游任務運行,該任務將空跑(不會真實執行,任務啟動運行后立即返回成功狀態),但可能導致該任務的下游任務數據產出異常。
按工作空間選擇
選擇一個任務作為根任務,并按照下游節點所在工作空間確定本次補數據的任務范圍。該方式兼容原“海量節點模式”補數據方案。
參數
描述
方式選擇
選擇按工作空間。
搜索根任務
通過名稱或ID搜索、添加根任務。平臺將對根任務下游任務所在工作空間的任務進行補數據。
說明僅支持選擇您已加入工作空間(即您為工作空間成員)的任務。
包含根節點
定義此次補數據是否包含根任務。
補數據工作空間
基于根任務下游任務所在的工作空間,選擇需要對哪些工作空間中的節點進行補數據。
說明僅支持選擇當前所在地域中的DataWorks工作空間進行補數據操作。
選擇工作空間后,默認對工作空間的所有節點補數據,您可根據需要自定義補數據的黑白名單。
任務白名單
除選中的工作空間包含的節點外,仍需要進行補數據的節點。
任務黑名單
選中的工作空間中不需要進行補數據的節點。
指定任務及所有下游
選擇一個根任務后,平臺會自動分析,將該任務及所有下游任務作為本次補數據的任務范圍。
重要僅在補數據任務運行時,才能看到觸發運行的任務,請謹慎使用。
參數說明如下。
參數
描述
方式選擇
選擇指定任務及所有下游。
搜索根任務
通過名稱或ID搜索、添加根任務。平臺將對根任務及其所有下游任務進行補數據。
說明僅支持選擇您已加入的工作空間(即您為工作空間成員)的任務。
若所選根任務沒有下游任務,則補數據任務提交后將只補當前根任務的數據。
任務黑名單
若某任務無需補數據,可將其添加至黑名單。黑名單中的任務將不參與本次補數據。
說明若黑名單中的任務為本次補數據的中間任務(即該任務的上下游依賴在此次補數據范圍內),為保障下游任務運行,該任務將空跑(不會真實執行,任務啟動運行后立即返回成功狀態),但可能導致該任務的下游任務數據產出異常。
配置補數據運行策略。
根據業務需要配置補數據任務的運行時間、是否并行、是否觸發告警、所使用的資源組等信息。
參數說明如下。
參數
描述
業務日期
指定所選任務需要進行補數據的業務日期,精確到天。
如需對該任務的多個不連續的時間段補數據,可單擊添加多段業務日期,配置多個時間段。
當業務日期晚于當前日期,可選擇立即運行定時時間大于此刻的補數據實例,后續當實際時間大于配置的業務日期時,平臺會立即運行該補數據實例。
例如,當前日期為
2024-03-12
,業務日期為2024-03-17
,則等實際日期為2024-03-18
(大于業務日期)時,補數據實例便會啟動運行。
說明在離線計算中,最常見的是今天處理昨天的數據,此處昨天就是業務日期。在補數據過程中,會根據您選擇的業務日期生成當時的任務實例,以便您可以回溯指定時間的數據。
建議補數據的時間不要太長,以免出現任務需要等待資源的情況。
指定周期
指定所選任務需要運行的周期。任務的定時時間在該時間段內,任務才會生成實例并執行。您可通過本功能指定小時、分鐘調度任務只運行指定周期的實例(即只補指定周期內的數據)。默認為
00:00~23:59
。說明任務的定時時間不在該時間段內,任務不會生成實例。若存在大周期依賴小周期的情況(例如,天任務依賴小時任務),可能會產生孤立實例,阻塞任務運行。
建議僅在小時、分鐘調度任務需要補指定周期的數據時修改該參數配置。
并行
若對多個業務日期執行補數據時,可指定若干個分組并發執行本次補數據任務。取值如下:
是:平臺將按照指定的分組數對業務日期進行拆分,根據分組結果生成多個補數據批次并發執行。
否:按照業務日期順序串行執行,前一個補數據實例運行結束后下一個補數據實例才會運行。
說明小時、分鐘任務某天實例是否并發執行,與小時、分鐘任務本身是否設置自依賴有關。
并行數取值范圍為
2~10
組,多個實例并發執行的情況如下:若業務日期的跨度時間少于并行組數,則任務并發執行。
例如,業務日期為
1月11日~1月13日
,并行數為4組,則只會生成三個補數據實例(每個補數據實例對應一個業務日期),三個實例并發執行。若業務日期的跨度時間大于并行組數,則平臺根據業務日期順序兼有串行和并行執行任務。
例如,業務日期為
1月11日~1月13日
,并行數為2組,則會生成兩個補數據實例(其中一個補數據實例會包含兩個業務日期,這兩個業務日期對應的任務串行執行),兩個補數據實例并行執行。
補數據告警
設置此次補數據操作是否會觸發告警。
是:滿足觸發條件則產生告警。
否:此次補數據不會觸發告警。
觸發條件
設置告警觸發條件:
失敗或成功皆告警:無論補數據運行成功或失敗,均會產生告警。
成功告警:補數據成功時才會產生告警。
失敗告警:補數據失敗時才會產生告警。
說明僅當補數據告警選擇是時,需配置該參數。
告警方式
選擇通過短信與郵件、短信、郵件等方式接收告警,告警接收人為補數據的發起人。
說明僅當補數據告警選擇是時,需配置該參數。
單擊檢驗聯系方式,即可驗證報警接收人的手機號或郵箱是否已登記。若未登記,可參考查看和設置報警聯系人配置。
順序
選擇按照業務日期正序或業務日期倒序進行補數據。
調度資源組
指定運行補數據實例使用的資源組。
跟隨任務配置:使用周期任務原本配置的資源組執行補數據實例。
指定調度資源組:使用指定資源組執行補數據實例,避免補數據實例與周期實例搶占資源。
說明請注意配置資源組網絡連通,否則任務可能運行失敗。若指定的資源組未綁定相關工作空間,則仍將使用原有周期任務的資源組。
運行時間段
指定本次生成的補數據任務在什么時間執行。
跟隨任務配置:按照補數據實例的定時時間執行。
指定時間段:設置補數據任務均在指定時間段內才會觸發執行,請根據需要補數據的任務量合理設置運行時間段。
說明超過該時間段且處于未運行狀態的任務不會執行,超過該時間段但處于運行中狀態的任務會繼續執行。
配置補數據任務校驗策略。
用于配置補數據校驗失敗時是否終止任務執行。平臺將對本次補數據任務的基本情況和潛在風險項進行檢測,具體如下:
單擊提交,補數據任務創建完成。
步驟二:運行補數據任務
補數據任務到達配置的運行時間,且不存在異常情況時,補數據任務將自動觸發運行。
若滿足如下條件,補數據任務將無法運行:
補數據任務開啟校驗,校驗失敗將阻塞任務運行。詳情請參見新建補數據任務:步驟4。
補數據操作開啟了擴展程序檢查,檢查未通過將阻塞任務運行。詳情請參見擴展程序概述。
管理補數據實例
補數據任務啟動后,會生成相應的補數據實例,您可在補數據列表查看實例的基本信息及運行詳情,并按需執行終止、重跑、復用等管理操作。
區域 | 描述 |
1 | 單擊展開搜索,可通過補數據名稱、運行狀態、節點類型等條件篩選需要查詢的實例,也可快速批量終止正在運行的補數據任務。 |
2 | 在該區域,您可查看補數據實例的相關信息,主要包括:
在該區域,您可對補數據實例執行如下操作:
|
3 | 在該區域,可查看補數據實例所包含節點的相關信息,主要包括:
在該區域,可對節點執行如下操作:
|
4 | 您可以在區域3勾選多個目標節點任務,在區域4單擊終止運行或重跑,即可批量終止運行或重新運行所選的節點任務。 |
實例狀態說明
狀態類型 | 狀態標識 |
運行成功狀態 | |
未運行狀態 | |
運行失敗狀態 | |
正在運行狀態 | |
等待狀態 | |
凍結狀態 |