Hue開發指南 - 提交 Spark 程序

目錄

 

Hue開發指南

1.Spark文件打包成一個Jar包提交Hue運行

1.1 上傳Spark Jar包至HDFS文件系統

1.2.Hue中創建Spark任務

2.多jar包導入執行(依賴jar包與主程序jar包分開打包)

2.1 修改worksapce

2.2 添加程序依賴jar包


Hue開發指南

Hue是面向 Hadoop 的開源用戶界面,可以讓您更輕鬆地運行和開發 Hive 查詢、管理 HDFS 中的文件、運行和開發 Pig 腳本以及管理表。

1.Spark文件打包成一個Jar包提交Hue運行

1.1 上傳Spark Jar包至HDFS文件系統

上傳方式不做具體介紹

 

1.2.Hue中創建Spark任務

打開Workflow

選擇 ACTIONS

添加Spark任務,將Spark移動到Workflow

填寫文件位置,與jar包名稱

Files與Jar/py name 相同即可

添加完成後填寫運行類名,運行參數

點擊配置可設置提交方式

設置提交方式

 運行Spark

 

運行成功,我們可以設置Schedule進行任務定時執行

 

2.多jar包導入執行(依賴jar包與主程序jar包分開打包)

日常開發中,把所有相關依賴jar包打成一個包,後續每次程序更新都需要更新比較大jar包,我們把自己開發的源碼和相關依賴jar包單獨出來,後續每次只需要更新我們自己開發的源碼就可以了

2.1 修改worksapce

修改workspace,可以選擇程序所在目錄,程序運行時會自動讀取Workspace目錄下名稱爲 lib 的目錄 的jar包,所以設置Workspace時,我們在Workspace目錄下創建lib目錄並把依賴的jar包放在下面就可以了,下一步的 oozie.libpath 參數可以不進行設置,(這裏可以不修改,修改是爲了後期查看相關配置文件比較方便)

2.2 添加程序依賴jar包

單獨設置目錄,添加依賴jar包 ,這裏很重要依賴的jar包就從這裏導入

注意的是oozie.libpath 是我們上傳的依賴jar包

依賴jar包不能和oozie的系統spark jar包重複,如果重複會提示異常

org.apache.oozie.action.ActionExecutorException: JA009: cache file (mapreduce.job.cache.files) scheme: "hdfs" host: "nameservice1" port: -1 file: "/jast/spark-job/lib/chill_2.11-0.8.0.jar" conflicts with cache file (mapreduce.job.cache.files) hdfs://nameservice1/user/oozie/share/lib/lib_20180925112207/spark/chill_2.11-0.8.0.jar

oozie spark引用的系統jar包在

hdfs dfs -ls /user/oozie/share/lib/lib_20180925112207/spark

可通過以下命令對我們自己依賴jar包進行去重後,再上傳到依賴jar包

#刪除dir1目錄重複數據
rm `diff -rs dir1 dir2 |grep '相同'|awk '{print $2}'`

 

 

選擇我們程序的所有相關jar包

選擇後關閉,在workflow中保存

添加spark程序

剛剛修改了Workspace 這裏 Files和Jar/py name 可以直接使用相對路徑,(建議還是是使用絕對路徑,比較明瞭)

 

設置執行類和啓動參數

保存運行。成功。

3. 加入 Schedule  任務

在workflow中選擇Schedule

填寫參數並設置 執行時間

注意如果上面自己指定了 oozie.libpath ,這裏也要設置 oozie.libpath ,否則提示缺少jar包

所以上面如果我們自己設置Workspace目錄,並把依賴傳到lib目錄,這裏就不用設置了,他默認會去讀取

保存運行

時區問題參考:https://blog.csdn.net/zhangshenghang/article/details/84540403

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章