本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
工作流定義是通過拖拽任務節點并建立任務節點之間的關聯來創建可視化的DAG(有向無環圖)。本文為您介紹如何創建工作流及工作流定義的相關操作。
前提條件
已新建項目,詳情請參見管理項目。
創建工作流
進入項目管理頁面。
使用阿里云賬號(主賬號)或RAM用戶登錄E-MapReduce控制臺。
在左側導航欄,選擇EMR Workbench > Workflow。
在Workflow頁面,單擊目標工作空間操作列的控制臺。
在項目管理頁面,單擊已有項目的項目名稱。
在左側導航欄,選擇數據開發 > 工作流定義。
在工作流定義頁面,單擊創建工作流。
在創建工作流頁面,拖拽節點塊到畫布中,在彈出的對話框中,配置相關的參數,單擊確定。
本示例以SHELL類型為例,其他任務類型詳情請參見任務類型。如需關聯手動任務,請打開關聯手動任務開關,選擇已有的手動任務,詳情請參見手動任務快速入門。
參數
說明
節點名稱
任務的名稱。一個工作流定義中的節點名稱是唯一的。
運行標志
正常(默認):運行工作流時執行該任務。
禁止執行:運行工作流不會執行該任務。
描述
當前節點的功能描述。
任務優先級
流程運行的優先級。支持以下級別:
HIGHEST:最高。
HIGH:高。
MEDIUM(默認):中。
LOW:低。
LOWEST:最低。
失敗重試次數
工作流運行失敗自動重試的次數。
失敗重試間隔
每次失敗重試的間隔。單位:分。
延時執行時間
延時執行時間,默認為0,即立即執行,設置了該值后才執行延時操作。單位:分。
超時告警
該開關默認關閉。打開超時告警開關,可設定超時時長,并選擇至少一個超時策略。
選擇超時告警策略,當任務運行時長超過設置的超時時長后,系統將向指定的告警組發送通知。
選擇超時失敗策略,當任務運行時長超過設置的超時時長后,該任務實例會立即失敗。
任務提交節點
調度資源組節點(默認):任務在Workflow的調度資源組節點提交。
EMR集群worker節點(提交到Yarn執行):任務在EMR集群的Worker節點提交,占用一個YARN Container。
警告該模式會直接影響EMR集群的文件系統或運行環境,請謹慎操作。
使用該模式,您還可以選擇配置以下參數:
調度隊列:指定任務提交的YARN隊列。
任務執行容器內存(MB):指定任務執行容器的內存。默認值為1024。
虛擬核數:指定任務執行容器的虛擬核數(vCores)。默認值為1。
優先級:指定任務執行容器的優先級(0-100)。默認值為0,數值越大,優先級越高。
執行用戶:默認提交任務的用戶為dolphinscheduler。標準集群(非高安全集群),如果需要設置執行用戶,請確保YARN服務包含如下配置項:
yarn.nodemanager.container-executor.class=org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor
yarn.nodemanager.linux-container-executor.nonsecure-mode.limit-users=false
腳本
您自定義的Shell程序。
資源
選擇任務執行時所需的資源文件,請確保您已在資源中心的文件管理頁面,創建或者上傳了相應的文件。選擇所需文件后,您可以在任務腳本中通過完整路徑引用它們。例如,
path/to/test.txt
。自定義參數
任務自定義參數,會替換腳本中
${變量}
的內容。更多參數配置信息,請參見參數說明。前置任務
設置當前任務的前置(上游)任務。
(可選)配置任務之間的依賴關系。
EMR Workflow支持流程間的自定義任務依賴。
單擊任務節點右側的圖標可以連接任務。
選中連接線或節點,單擊右上角的圖標,可以刪除任務間的依賴關系或節點。
保存工作流定義。
單擊右上角的保存。
在彈出的對話框中,配置相關的參數,單擊確定。
參數
說明
工作流名稱
工作流的名稱。
描述
當前工作流的功能描述。
超時告警
默認關閉。打開超時告警開關,需填寫超時時長,如果任務執行時間超過超時時長,則會發送告警。
執行策略
支持以下策略:
并行(默認):如果由同一個工作流定義生成了多個工作流實例,則并行執行工作流實例。
串行等待:如果由同一個工作流定義生成了多個工作流實例,則串行執行工作流實例。
全局變量
是指針對整個工作流的所有任務節點都有效的參數。
工作流定義操作
在工作流定義頁面,您可以進行以下操作。
操作 | 說明 |
編輯 | 只能編輯處于下線狀態的工作流定義。 |
運行 | 只有上線狀態的工作流能夠運行,但不能編輯。運行工作流的具體操作,請參見運行工作流。 |
定時 | 只有上線的工作流可以定時,系統自動定時調度工作流運行。創建定時后的狀態為上線,需在定時管理頁面上線定時才生效。定時工作流的具體操作,請參見定時工作流。 |
更多 |
|
運行工作流
每運行一次工作流,在工作流實例頁面都會產生一個工作流實例。
單擊操作列的運行。
在彈出的對話框中,配置相關參數,單擊確定。
參數
說明
失敗策略
當某一個任務節點執行失敗時,其他的任務節點需要執行的策略。
繼續:某一任務失敗后,其他任務節點正常執行。
結束(默認):某一任務失敗后,終止其下游任務。
通知策略
當流程結束,根據流程狀態發送流程執行信息通知郵件。通知策略包含都不發(默認),成功發,失敗發,成功或失敗都發。
流程優先級
流程運行的優先級。支持以下級別:
HIGHEST:最高。
HIGH:高。
MEDIUM(默認):中。
LOW:低。
LOWEST:最低。
調度資源組
調度資源組用于任務的調度運行。在下拉列表中選擇已有的調度資源組。
執行集群/模板
系統將根據您選定的調度資源組自動匹配已綁定的集群或集群模板。
說明如果執行集群/模板選擇的是集群模板,則運行工作流時會按照模板創建集群,工作流結束后釋放集群。此外,如果保存工作流定義時,您設置了超時告警參數,一旦工作流觸發了超時告警規則,系統也會自動釋放集群。如果您未設置超時告警,系統會在工作流運行超過1天后自動釋放集群。
補數
指運行指定時間范圍內的工作流定義,根據補數策略生成對應的工作流實例。
說明補數規則: 如果工作流的定時管理狀態為上線,則按照定時調度設置的頻率規則進行補數;否則,默認按照每天0時的頻率規則進行補數。
使用限制: 單次補數操作生成的工作流實例數量不超過100個。
勾選是否是補數,還需配置以下參數:
依賴模式:支持打開和關閉(默認)。是否觸發下游依賴節點依賴到當前工作流的工作流實例的補數。
只有當前補數的工作流實例定時狀態已上線,才會觸發下游直接依賴到該工作流實例的補數。
執行方式
串行執行:指定時間范圍內,從開始日期至結束日期依次執行補數,依次生成多條流程實例。
并行執行(默認): 指定時間范圍內,同時進行多天的補數,同時生成多條流程實例。
此方式下,還需配置自定義并行度參數,表示最多并行執行的實例數。每次補數的并行度上限為7。
說明創建工作流定義時,如果選擇并行執行策略,則該工作流只能并行執行補數;如果選擇串行等待執行策略,則該工作流只能進行串行執行補數。
調度日期:指定該工作流運行的時間范圍。
全局參數
在啟動新的流程實例時,設置或覆蓋全局參數的值。
是否空跑
判斷是否空跑,空跑則打印日記,直接按成功處理。
在左側導航欄,選擇實例運維>工作流實例,可以查看實例的運行狀況。
導入工作流
在
頁面,單擊導入。單擊上傳,選擇導出到本地的工作流(.json文件),單擊確定。
定時工作流
在工作流定義頁面,單擊目標工作流定義操作列的定時。
在彈出的對話框中,設置相關參數,單擊確定。
起止時間:在起止時間范圍內,定時運行工作流;不在起止時間范圍內,不再產生定時工作流實例。
定時:選擇執行的時間。
開啟定時狀態列的開關。