EMR入門學習之Hue上創建工作流(十一)
- 2019 年 11 月 22 日
- 筆記
前言
本文將通過一個簡單,並且具有典型代表的例子,描述如何使用EMR產品中的Hue組件創建工作流,並使該工作流每天定時執行。
一、進入Hue控制台
1、 登錄騰訊官網控制台
2、 進入EMR控制頁面,點擊左側組件管理頁面
3、找到Hue組件,點擊「原生WebUI訪問地址」進入Hue頁面

4、首次登陸HUE控制台頁面,請使用root賬號,密碼為創建集群時候提供的密碼。
注意:由於EMR產品的組件啟動賬號為hadoop。請在首次以root賬號登錄HUE控制台後,新建hadoop賬戶。後續所有作業通過hadoop賬號來提交。
二、在HUE上創建Workflow
一個Workflow 包含多個作業。目前支持Hive, MR, Spark, Shell, Java 可執行程序等多種類型的作業。
本文設計一個簡單的Workflow, 包含4種類型作業:Shell、MR、Spark、Hive. 作為例子,上述四個作業直接並無數據相互依賴。
在菜單中通過【Query】,【Schedule】,【Workflow】進入頁面,如圖:

進入Workflows編輯頁面後,給新建Workflow增加名字,以及描述:

我們創建一個名為hello-workflow的Workflow, 共包含4個作業:Shell類型作業、MR類型左右、Spark類型作業、HIVE類型作業。這些作業依次執行。
接下來,分別介紹不同類型作業創建過程。
1、創建shell類型的作業
Hue 可以提交Shell類型作業,事先將Shell腳本存放至HDFS中。
在Workflow編輯頁面中,選擇Shell作業類型圖標,用鼠標拖動到編輯區,具體步驟如下:

填寫作業參數:

其中,1是填寫執行Shell腳本的命令,這裡我們填寫sh; 2是填寫腳本路徑,注意是在HDFS上的路徑;
3是填寫執行sh命令所需的參數。配置完成點擊右上角保存按鈕,保存當前作業配置。
至此,我們已經在hello-workflow中增加了一個Shell類型的作業了。
創建MapReduce類型作業
在創建MapReduce類型作業前,我們需要把可執行Jar, 以及數據存放在HDFS上。在Workflow編輯頁面中,選擇MapReduce作業類型圖標,用鼠標拖動到編輯區,具體創建作業步驟如下:

填寫Jar路徑,注意是HDFS上的路徑,填寫作業參數:

其中,(1)填寫可執行Jar在HDFS中的路徑;(2)填寫Jar所需參數,在本例子中是數據輸入和輸出路徑。
點擊右上角保存按鈕,保存當前作業配置,至此,我們在Hello-workflow中又增加了一個MR類型的作業。
創建hive類型作業
在創建Hive類型作業前,請確認EMR實例中已經部署了Hive組件,否則作業執行將失敗。
將要執行的Hive存放在HDFS中,拖拽Hive作業圖標至Workflow編輯區,填寫Hive腳本所在路徑,具體步驟如下:


點擊右上角保存按鈕,保存作業配置。
創建spark類型作業
在創建Spark作業前,請確認EMR實例中已經部署了Spark組件,否則作業將執行失敗;
將要執行的Spark作業可執行文件存放至HDFS中;在本例子中,我們將Spark作業可執行文件存放在HDFS的/tmp/spark-terasort-1.1-SNAPSHOT-jar-with-dependencies.jar,將代表Spark類型作業的圖片,用鼠標拖拽至Workflow編輯區,具體步驟如下:

填寫作業參數:

其中,1處填寫可執行程序名稱,本例中是Jar包名稱;2處填寫可執行程序所需參數,注意參數順序與程序參數順序一致;3處填寫可執行程序在HDFS中的路徑;4處填寫Spark任務所需參數
點擊右上角保存按鈕,保存作業配置,至此,我們為hello-workflow 增加了Spark類型作業。
三、運行Workflow
手動觸發Workflow運行
選擇將運行的Workflow, 點擊Submit按鈕

定時觸發Workflow執行
使用Hue控制台,我們很方便配置定時執行的Workflow,使用Hue控制台,具體步驟如下:

配置參數如下:

其中1是對my schedule 進行描述;2是選擇需要調度的Workflow;3是設置調度周期;4是可以設置時間區,設置開始時間和結束時間;5是MapReduce任務的輸入輸出路徑,點擊6進行保存配置。