工作流程是通過拖拽任務節點並建立任務節點之間的關聯來建立可視化的DAG(有向非循環圖)。如果您需要安排任務在指定的時間運行,可以建立工作流程並在工作流程中定義調度節點以及調度策略。本文為您介紹如何建立和運行工作流程。
使用限制
僅已部署的批作業支援建立工作流程進行任務調度。
任務編排目前為公測功能,公測階段不保障服務等級協議SLA,詳情請參見Realtime ComputeFlink版服務等級協議(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點執行。0 0 5,17 ? * MON-FRI
:周一至周五5點和17點執行。
調度開始時間
生效時間點。僅周期調度類型需要設定。
重要周期調度工作流程建立後,需要將調度狀態開啟,才能在生效時間點觸發運行。
失敗重試次數
為工作流程中的節點統一設定失敗重試的次數,預設失敗不重試。
失敗通知
工作流程節點失敗時預設的通知郵箱。
說明支援通過CloudMonitor進行DingTalk、簡訊等方式警示,詳情請參見CloudMonitor。
資源隊列
工作流程的部署目標,詳情請參見管理資源隊列。預設對節點生效,無需對節點做額外配置。
說明此處的配置不會修改對應已部署批作業的部署目標。
標籤
可以選擇為工作流程設定標籤名和標籤值。
單擊建立。
建立後會進入工作流程節點編輯頁面。
配置工作流程初始節點。
工作流程節點編輯頁面預設存在一個初始節點,單擊初始節點,在彈出的編輯節點面板中,配置節點相關參數,單擊儲存。
參數
說明
作業
僅支援選擇當前專案空間下的已部署批作業。支援模糊搜尋方式搜尋添加。
節點名稱
節點在當前工作流程中的名稱。
變數配置
支援按預設值進行資料計算。
參數名:自訂變數名,例如:
${date}
。參數值:靜態日期值、時間格式、運算式均可,詳情請參考自訂參數取值差異對比。
支援以下系統時間變數的配置:
參數名
system.biz.date
,參數值${system.biz.date}
,表示每日調度執行個體的計劃時間前一天,其格式為yyyyMMdd
。參數名
system.biz.curdate
,參數值${system.biz.curdate}
,表示每日調度執行個體的計劃時間,包含年月日,其格式為yyyyMMdd
。參數名
system.datetime
,參數值${system.datetime}
,表示每日調度執行個體的計劃時間,包含年月日時分秒,其格式為yyyyMMddHHmmss
。
說明作業中未定義的變數預設在本節點級進行解析,並展示在變數配置中,已配置參數名和參數值的直接展示,只有參數名沒有參數值的,需要填寫參數值。
工作流程節點參數優先順序高於工作流程級。
上遊節點
當前節點的上遊依賴,僅能選擇當前工作流程中的其他節點。
說明初始節點無上遊依賴,不支援選擇上遊節點。
失敗重試次數
為工作流程中的節點設定失敗重試的次數。預設與工作流程重試次數一致,如設定則節點優先順序高。
狀態訂閱
配置節點狀態訂閱策略及通知郵箱,支援啟動和失敗狀態訂閱。
逾時時間
節點執行時間逾時時間長度,超過該時間則認為節點運行失敗。
資源隊列
節點的部署目標,詳情請參見管理資源隊列。不填寫時預設使用工作流程配置的資源隊列。
說明此處的配置不會修改對應已部署批作業的部署目標。
標籤
可以選擇為工作流程節點設定標籤名和標籤值。
(可選)單擊頁面下方的添加節點來添加更多節點。
儲存工作流程相關配置。
單擊節點編輯頁面右上方的儲存。
在彈出的對話方塊中,單擊確定。
運行工作流程
每運行一次工作流程,在工作流程詳情頁面的工作流程執行個體列表與詳情頁簽都會產生一個工作流程執行個體。
手動觸發
單擊目標工作流程操作列下的觸發運行,每單擊觸發一次工作流程即運行一次。
周期調度
需要將目標工作流程的調度狀態開啟,才能在生效時間點觸發工作流程運行。
工作流程狀態
您可以在目標工作流程的運行狀態列,查看該工作流程啟動並執行所有工作流程執行個體的運行狀態。例如,一個工作流程每天運行一次,運行5天,則產生5條工作流程執行個體,運行狀態列為這5條工作流程執行個體的健全狀態數量統計。
狀態 | 說明 |
紫色 | 排隊中 |
藍色 | 運行中 |
綠色 | 運行成功 |
紅色 | 運行失敗 |
編輯工作流程
單擊目標工作空間操作列下的控制台。
在左側導覽列,單擊任務編排。
單擊目標工作流程操作列下的編輯工作流程。
具體參數配置說明請參見建立工作流程。
說明工作流程調度狀態為開啟時無法進行編輯。
相關文檔
任務編排的相關基本概念,詳情請參見任務編排(公測)。
查看工作流程執行個體、節點日誌等,詳情請參見管理工作流程執行個體和節點執行個體。
您可以通過添加資源隊列進行資源隔離和管理,詳情請參見管理資源隊列。
批作業(SQL、JAR、Python)部署,具體操作請參見部署作業。
批作業開啟遠程Shuffle服務,Shuffle資料將儲存到高效能的Apache Celeborn叢集中,作業不再受限於Flink計算節點的磁碟容量,從而增強超大規模資料的處理能力,同時保持作業的高穩定性和成本效益,詳情請參見批作業開啟遠程Shuffle服務(公測)。