工作流程是一種資料處理流程自動化管理工具,它通過可視化拖拽方式整合多種類型的子任務節點,便捷地建立任務上下遊關係,加速資料處理流程的搭建,有效提升任務開發效率。
什麼是工作流程
工作流程(Workflow)是 DataWorks 中用於編排和管理資料任務的核心單元。它將多個任務節點(如 SQL、Shell、Python、資料同步、Check等)以 DAG(有向非循環圖) 的形式進行可視化組織,建立清晰的上下遊依賴關係,並統一調度執行,從而構建穩定、可維護的資料管線。此外,工作流程之間也可相互編排,支援複雜業務情境的開發。
工作流程的本質,是將離散的資料任務整合為結構化、可視化的流程,實現從“管理單個任務”到“管理整條資料生產線”的躍遷。其核心價值體現在以下三個方面:
-
開發流程的抽象與可視化
將具有依賴關係的節點(如SQL、Shell)封裝為面向營運目標的工作流程(如“日活分析”),形成清晰的DAG圖。這不僅讓技術鏈路一目瞭然,也讓非技術人員理解資料流轉邏輯,促進業務與技術對齊。 -
開發與營運的原子化管理
工作流程作為變更和操作的最小單元,支援整體提交、發布與營運(如測試、重跑、補資料),避免因局部修改導致的生產異常,保障端到端的一致性與穩定性。 -
組織協作的邊界劃分
在多團隊環境中,工作流程明確歸屬與責任(如交易團隊負責交易資料,商品團隊負責商品資料),實現許可權隔離與問題追溯;同時通過標準化產出,支撐上下遊團隊高效解耦協作。
工作流程類型對比
DataWorks 當前主要推薦使用兩類工作流程:
-
周期工作流程:按固定時間周期(如小時、天、周等)自動調度啟動並執行工作流程,適用於需要定期執行的資料處理情境。它通過配置調度規則定時觸發,內部節點的執行受該調度時間控制。
-
觸發式工作流程:一種按需執行的工作流程,由外部訊號(如手動操作、OpenAPI 呼叫或事件訊息)觸發,適用於對即時性或外來事件響應有要求的情境。它不依賴固定調度周期,支援手動觸發、API 觸發和事件觸發三種方式。
|
對比維度 |
周期工作流程 |
觸發式工作流程 |
手動商務程序(不推薦) |
|
調度方式 |
按調度時間和依賴關係觸發 |
手動/事件/API 觸發 |
手動運行 |
|
適用情境 |
日批/小時批/周月批 |
即時處理/按需執行/外部整合 |
臨時任務(舊版相容) |
|
參數優先順序 |
節點 > 工作流程 > 工作空間 |
節點 > 工作流程 > 工作空間 |
商務程序 > 節點 |
|
典型案例 |
每天淩晨 T+1 報表 |
OSS 檔案到達自動處理 |
一次性資料修複 |
-
觸發式工作流程在“不綁定觸發器”時,也可以作為“手動運行”的工作流程使用,用於逐步替代“手動商務程序”。
-
手動商務程序主要用於相容舊版資料開發形態,新專案不建議使用。
快速選型指南
通過以下 3 個問題,快速確定適合的工作流程類型:
常見問題
如何擷取工作流程的 Spec 模板?
在資料開發頁面開啟已有工作流程,單擊畫布右上方的顯示Spec,即可查看並複製該工作流程的 Spec(JSON 格式)。該 Spec 可作為模板用於通過 OpenAPI 建立或更新工作流程。
周期任務能否在執行成功一次後自動停止?
不支援。周期工作流程按照配置的調度周期持續運行,執行成功後不會自動停止。如需任務僅執行一次後不再運行,有以下兩種方式:
-
手動凍結任務:在任務執行成功後,手動將該任務凍結。凍結後任務不再參與調度。具體操作參見周期任務基本營運操作。
-
使用觸發式工作流程:如果業務情境只需執行一次,使用觸發式工作流程更合適。觸發式工作流程不綁定調度周期,僅在手動觸發、API 呼叫或事件觸發時執行,天然滿足"執行一次即停"的需求。
相關文檔
根據您的情境選擇對應文檔: