Oozie基于Hue全流程调度
目錄
準備
創(chuàng)建工作流
定時調度
Bundle
準備
1. 數(shù)倉流程說明
業(yè)務數(shù)倉整個流程大致分為六個階段,每個階段都依賴于上階段的計算結果,所以必須要上階段執(zhí)行完成再執(zhí)行下一階段:
大致流程:
MySQL -> HDFS -> ODS -> DWD -> DWS -> ADS -> MySQL
?
具體流程:
1. MySQL業(yè)務通過Sqoop數(shù)據(jù)導入HDFS
2. 將HDFS數(shù)據(jù)導入Hive數(shù)倉ODS層
3. 將ODS數(shù)據(jù)簡單清洗寫入DWD層
4. 將DWD數(shù)據(jù)輕度匯總寫入DWS層寬表
5. 將DWS層數(shù)據(jù)統(tǒng)計結果寫入ADS層
6. 將ADS層數(shù)據(jù)通過Sqoop導出到MySQL匯總表
2. 腳本
提前已經(jīng)把各部分任務寫成shell腳本。
對應流程:
sqoop_import -> ods_db -> dwd_db -> dws_db -> ads_db -> sqoop_export
上傳shell腳本到HDFS,自己指定位置即可
sudo -uhdfs hadoop fs -put /bin/oozie/* /user/bin/oozie/
3. JDBC
因為調度中需要使用sqoop導入導出MySQL,所以先將MySQL驅動mysql-connector-java-5.1.47.jar復制到hadoop、sqoop、
以及Oozie的HDFS目錄下sqoop中,lib_20181213173721,這個是Oozie搭建時生成,各不相同
?
cp jdbc.jar /opt/cloudera/parcels/CDH/lib/hadoop/lib
cp jdbc.jar /opt/cloudera/parcels/CDH/lib/sqoop/lib
sudo -uhdfs hadoop fs -put jdbc.jar /user/oozie/share/lib/lib_20181213173721/sqoop
?
創(chuàng)建工作流
1. 創(chuàng)建工作流
2. 編輯工作流
選擇Action操作,修改好調度任務名和描述。大多數(shù)情況下,我們會把要執(zhí)行的任務寫成腳本執(zhí)行。這里就選擇shell,直接把要執(zhí)行的任務類型拖拽到下面指定的區(qū)域。
3. 上傳腳本
從第一步開始,sqoop_import.sh
4. 添加文件
就是剛才選擇的腳本
5. 填寫參數(shù)
腳本里需要的參數(shù),盡量設置為動態(tài)自動獲取,如 ${date}
第一步的參數(shù)是所有文件和當天日期,后面的只需要日期,最后一步是導出所有結果,相應填入
6. 依次添加后續(xù)任務
添加文件和設置相應參數(shù)
7. 保存,或者運行
8. 狀態(tài)提示
運行后會有狀態(tài)提示頁面,可以看到任務進度
9. 其他
查看已經(jīng)存在的調度任務
點擊調度任務的頁面情況
定時調度
1. 創(chuàng)建定時計劃(schedule)
2. 修改屬性
修改定時任務名和描述
3. 添加任務
添加需要定時調度的任務
4. 設置調度時間
5. Crontab高級語法模式
6. 參數(shù)設置
sm-workflow的參數(shù)都是寫死的,沒有設置動態(tài),這里的下拉列表就不會有可選項。
設置參數(shù)
將sm-workflow的日期修改為 ${do_date},保存
進入定時計劃sm-dw中,會看到有參數(shù) do_date
填入相應參數(shù),前一天日期
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, ‘DAY’), ‘yyyyMMdd’)}
Oozie常用系統(tǒng)常量
當然,也可以通過這樣將參數(shù)傳入workflow任務中,代碼或者shell中需要的參數(shù)。
如,修改sm-workflow 中的 sqoop_import.sh,添加一個參數(shù) ${num}。
編輯文件(需要登陸Hue的用戶有對HDFS操作的權限),修改shell中的一個值為參數(shù),保存。
在workflow中,編輯添加參數(shù) ${num} ,或者num=${num} 保存。
進入schedule中,可以看到添加的參數(shù),編輯輸入相應參數(shù)即可。
Bundle
Bundle統(tǒng)一管理所有定時調度,階段劃分:Bundle > Schedule > workflow
總結
以上是生活随笔為你收集整理的Oozie基于Hue全流程调度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Navicat通过跳板机连接数据库
- 下一篇: CDH6.3.0 HUE 整合 Oozi