最近使用 Apache DolphinScheduler 調度任務,不可避免地使用到【補數據】功能,經過不斷嘗試,終於成功運行了【補數據】功能,以此帖記錄。
- 版本説明:3.1.9
補數據功能簡介
"補數據" 在 Apache DolphinScheduler 中指的是 補數據(Complement Data) 功能,用於補充執行歷史時間段內的工作流實例。
補數據功能概述
補數據是工作流執行的一種特殊模式,讓用户可以為過去的時間段批量創建和執行工作流實例<cite />。這在以下場景中特別有用:
- 需要重新處理歷史數據
- 系統故障後需要補充缺失的數據處理
- 新增數據處理邏輯後需要回填歷史數據
- 定期批量數據處理
補數據配置參數
在工作流啓動界面中,補數據功能包含以下配置選項:
- 是否是補數據 (
whether_complement_data): 開關選項,啓用補數據模式 -
調度日期 (
schedule_date): 指定需要補數據的時間範圍 :- 支持日期選擇和手動輸入兩種方式
- 格式為
yyyy-MM-dd HH:mm:ss,多個日期用逗號分隔 - 限制最多輸入100條日期
-
執行方式 (
mode_of_execution):- 串行執行: 按順序逐個執行補數據任務
- 並行執行: 同時執行多個補數據任務
-
並行度 (
parallelism): 當選擇並行執行時,可以設置自定義並行度來控制同時執行的任務數量- 這有助於避免大量補數據任務對服務器造成過大影響
-
執行順序 (
order_of_execution) :- 按日期升序執行: 從最早的日期開始執行
- 按日期降序執行: 從最近的日期開始執行
使用補數據功能操作步驟
首先是工作流的任務配置,見下圖
接着,保存工作流,未設置全局變量。上線工作流。
最後,運行工作流,運行參數見下圖
- 選擇補數據的日期範圍
- 【啓動參數】為定義任務時設置的參數dt,value為空即可。
- 點擊【確定】後自動運行
驗證結果
點擊【工作流實例】,查看運行結果。
點擊第1個實例進入,查看日誌
結果顯示,SQL 運行結果為補數據選擇的日期,補數據功能正常可用。
Notes
補數據功能是 Apache DolphinScheduler 工作流管理中的重要特性,通過靈活的配置選項(執行方式、並行度、執行順序等)來滿足不同的數據補充需求<cite />。在使用時需要注意合理設置並行度,避免對系統資源造成過大壓力。