工作流程是一種視覺化的有向無環圖 (DAG),您可以透過拖曳和連接任務來建立。若要在特定時間執行任務,請建立工作流程並定義其任務和排程策略。本主題描述如何建立和執行工作流程。
限制
-
您只能為已部署的批次作業建立工作流程。
-
工作流程功能處於公開預覽階段。在此期間不保證 SLA。如需更多資訊,請參閱 Realtime Compute for Apache Flink 服務等級協議 (SLA)。如果您遇到任何問題,可以提交工單。
-
工作流程功能僅在華東2(上海)、華東1(杭州)、華北2(北京)、華南1(深圳)、華北3(張家口)和新加坡地域可用。
建立工作流程
-
在目標工作區的操作欄中,按一下主控台。
-
在左側導覽列中,選擇。
-
按一下建立工作流程並設定以下參數。
參數
說明
工作流程名稱
工作流程名稱在目前命名空間中必須是唯一的。
變數設定
啟用具有預設值的資料處理。
-
變數名稱:自訂變數名稱,例如
${date}。 -
變數值:可以是靜態日期、時間格式或表達式。
支援以下系統時間變數:
-
變數名稱
system.biz.date,值為${system.biz.date}:表示每日工作流程執行個體排程時間的前一天,格式為yyyyMMdd。 -
變數名稱
system.biz.curdate,值為${system.biz.curdate}:表示每日工作流程執行個體的排程日期(年、月、日),格式為yyyyMMdd。 -
變數名稱
system.datetime,值為${system.datetime}:表示每日工作流程執行個體的排程時間(年、月、日、時、分、秒),格式為yyyyMMddHHmmss。
說明-
為物化表建立工作流程時不需要此設定。
-
這些參數適用於工作流程中任務關聯的所有部署。工作流程層級的設定會覆寫部署層級的設定。
排程類型
支援兩種排程類型:
-
手動觸發:按一下執行手動執行工作流程。適用於臨時測試或即時處理。
-
週期排程:根據排程規則觸發工作流程。您可以設定以分鐘、小時或天為間隔執行。
重要包含物化表任務的工作流程需要週期排程。
排程規則
僅週期排程時需要。您可以使用 cron 表達式定義複雜規則。範例:
-
0 0 */4 ? * *:每 4 小時執行一次。 -
0 0 2 ? * *:每天凌晨 2:00 執行。 -
0 0 5,17 ? * MON-FRI:週一至週五的上午 5:00 和下午 5:00 執行。
如需 cron 表達式語法的更多資訊,請參閱 Cron 表達式語法。
排程開始時間
規則生效的時間。此參數僅週期排程類型需要。
重要-
週期排程的工作流程僅在其狀態啟用後才會執行。
-
請將排程開始時間設定為未來時間,以確保任務不會錯過排程視窗。
失敗重試次數
指定工作流程中失敗任務的重試次數。預設為停用重試。
失敗通知
工作流程中任務失敗時通知的預設電子郵件地址。
說明您可以透過 CloudMonitor 設定釘釘、簡訊和其他方式的告警。如需更多資訊,請參閱 設定監控和告警。
資源佇列
工作流程的部署目標。如需更多資訊,請參閱 管理資源佇列。此設定預設套用於所有任務,無需任務層級的設定。
說明此設定不會變更對應已部署批次作業的部署目標。
標籤
您可以新增鍵和值來建立工作流程的標籤。
-
-
按一下建立。
系統會將您重新導向至工作流程建置器頁面。
-
設定工作流程的初始任務。
建置器頁面包含一個預設的初始任務。按一下初始任務,在編輯任務面板中設定其參數,然後按一下儲存。
作業
參數
說明
部署
您只能從目前命名空間中選擇已部署的批次作業。支援模糊搜尋。
任務名稱
目前工作流程中的任務名稱。
上游任務
目前任務的上游依賴。您只能選擇目前工作流程中的其他任務。
說明初始任務沒有上游依賴,因此無法為其選擇上游任務。
失敗重試次數
失敗任務的重試次數。預設繼承工作流程的重試次數。若指定,則任務層級的設定優先。
訂閱
設定狀態訂閱策略和通知電子郵件。您可以訂閱開始和失敗狀態。
逾時
任務的最長執行時間。如果任務超過此時間,則會失敗。
資源佇列
任務的部署目標。如需更多資訊,請參閱 管理資源佇列。若未指定,則使用工作流程設定的資源佇列。
說明此設定不會變更對應已部署批次作業的部署目標。
標籤
您可以新增鍵和值來建立工作流程任務的標籤。
物化表
參數
說明
物化表
您只能選擇使用 VVR 11.0 或更高版本建立且使用串流重新整理模式的分割區物化表。
任務名稱
目前工作流程中的任務名稱。
時間分割區
-
分割區欄位:物化表的時間分割區欄位。
-
分割區格式:例如
yyyyMMdd。
資源設定
您可以自訂排程回填使用的資源量。對於平行度,選擇自動分配讓系統決定合適的值。
上游任務
目前任務的上游依賴。您只能選擇目前工作流程中的其他任務。
說明-
初始任務沒有上游依賴,因此無法為其選擇上游任務。
-
建立物化表任務後,系統會根據資料血緣自動推斷下游任務。
失敗重試次數
失敗任務的重試次數。預設繼承工作流程的重試次數。若指定,則任務層級的設定優先。
訂閱
設定狀態訂閱策略和通知電子郵件。您可以訂閱開始和失敗狀態。
逾時
任務的最長執行時間。如果任務超過此時間,則會失敗。
資源佇列
任務的部署目標。如需更多資訊,請參閱 管理資源佇列。若未指定,則使用工作流程設定的資源佇列。
說明此設定不會變更對應已部署物化表的部署目標。
標籤
您可以新增鍵和值來建立工作流程任務的標籤。
說明-
建立物化表任務後,對話方塊會使用表的血緣關係建議下游任務。只需選擇所需的任務即可完成設定。
-
下游任務也必須滿足相同的限制。您只能選擇使用 VVR 11.0 或更高版本建立且使用串流重新整理模式(freshness 小於 30 分鐘)的分割區物化表。
-
-
(選用)按一下頁面底部的新增任務以新增更多任務。
-
儲存工作流程設定。
-
在任務編輯器頁面右上角,按一下儲存。
-
在出現的對話方塊中,按一下確定。
-
執行工作流程
每次工作流程執行都會產生一個工作流程執行個體,該執行個體會顯示在工作流程詳情頁面的概覽標籤頁上。
-
手動觸發:立即執行一次工作流程。適用於測試或按需處理。
在目標工作流程的操作欄中,按一下執行。在出現的對話方塊中,選擇手動觸發,然後按一下確定。每次操作觸發一次工作流程執行。
-
週期排程:啟用後,工作流程會在排程時間自動執行。
您必須啟用目標工作流程的狀態,才能使其在排程時間執行。
若要回填歷史資料或重新處理特定時間段內特定分割區中的資料,請使用資料回填功能。
資料回填
資料回填用於補充或更新特定時間範圍內的資料。常見使用案例包括重新處理上游來源的歷史資料、修正維度表或為新整合回填資料。
執行資料回填
-
在目標工作區的操作欄中,按一下主控台。
-
在左側導覽列中,選擇。
-
在目標工作流程的操作欄中,按一下執行。
-
在執行對話方塊中,選擇回填排程類型並設定以下資訊。
參數
說明
時間範圍
指定資料回填的時間範圍。此範圍會傳遞給工作流程的時間變數,以觸發對應分割區的資料重新整理。
資源佇列
資料回填任務執行的目標佇列。預設值為
default-queue。 -
按一下確定。
管理資料回填執行個體
資料回填執行個體的管理方式與工作流程執行個體相同。如需更多資訊,請參閱 管理工作流程執行個體和任務執行個體。您可以執行以下步驟來檢視資料回填執行個體。
按一下目標工作流程的名稱以開啟其執行個體頁面。
在概覽標籤頁上,您可以檢視對應的資料回填執行個體及其執行時間和狀態。
工作流程狀態
狀態欄彙總了給定工作流程所有執行個體的狀態。例如,如果一個工作流程每天執行五天,狀態欄會提供五個執行個體中每種狀態(如成功或失敗)的計數。
|
顏色 |
狀態 |
|
紫色 |
等待中 |
|
藍色 |
執行中 |
|
綠色 |
成功 |
|
紅色 |
失敗 |
編輯工作流程
-
在目標工作區的操作欄中,按一下主控台。
-
在左側導覽列中,按一下工作流程。
-
在目標工作流程的操作欄中,按一下編輯工作流程。
如需參數說明,請參閱建立工作流程。
說明若要編輯工作流程,其狀態必須為關閉。
相關主題
-
若要在 DataWorks 上排程 Flink SQL 批次任務,請參閱 Flink SQL Batch 節點和節點排程設定。
-
如需工作流程基本概念的更多資訊,請參閱 工作流程(公開預覽)。
-
若要檢視工作流程執行個體、任務日誌等,請參閱管理工作流程執行個體和任務執行個體。
-
您可以新增資源佇列來隔離和管理資源。如需更多資訊,請參閱 管理資源佇列。
-
若要部署批次作業(SQL、JAR 和 Python),請參閱 部署作業。