在提交mr作業時,如何將第三方依賴的jar追加執行環境
首先構建乙個專案基本架構,包括bin、lib等資料夾,,如下:
.├── bin
│ └── startup.sh
└── lib
├── aopalliance-1.0.jar
├── ......
├── hbase-load-0.0.1-snapshot.jar
├── ......
└── zookeeper-3.4.10.jar
2 directories, 139 files
一般需要將mr提交封裝成指令碼(startup.sh)中,以便進行啟動,例如如下指令碼:
#!/bin/sh
input_path=$1
output_path=$2
hbase_table=$3
echo "**********==input_path: $input_path **********==="
echo "**********==output_path: $output_path **********==="
echo "**********==hbase_table: $hbase_table **********==="
for jar in `ls ../lib/*.jar`
do libjars=$jar,$libjars
hadoopclasspath=$jar:$hadoopclasspath
done
export libjars=$libjars
export hadoop_classpath=$hadoop_classpath:$hadoopclasspath
yarn jar ../lib/hbase-load-0.0.1-snapshot.jar "$" "$" "$" \
-libjars $libjars
針對封裝到指令碼中的命令:yarn jar hbase-load-0.0.1-snapshot.jar [arguments] ,如果在進行打包的時候,已經將程式入口類寫在了manifest.mf裡面, 那麼jar包後邊不要再指定程式入口類,如下截圖:
如果沒在manifest.mf指定程式入口類,那麼就需要在命令指定,即,yarn jar hbase-load-0.0.1-snapshot.jar com.lqz.hbase.load.main [arguments] 。
MR新增第三方依賴和檔案
寫mr程式往往需要依賴第三方依賴庫,或者需要讀取自己的配置檔案,本文就的目的就是為了用靠譜的方法解決這兩個問題!在 driver 端新增依賴 export hadoop classpath thirdpartlib 1.jar,thirdpartlib 2.jar 在 task 端新增依賴 或配置檔...
eeasy install 簡介 管理第三方jar
setuptools包裡帶的乙個命令,所以使用easy install實際上是在呼叫setuptools來完成安裝模組的工作。perl 使用者比較熟悉 cpan,而 ruby 使用者則比較熟悉 gems 引導 1 找到乙個 與你python 版本對於的 setuptools 版本。比如 安裝後需要 ...
Spark SQL 新增第三方依賴包
最近在使用spark sql 執行hive語句時碰到異常資訊如下 開始以為時hive環境有問題,把sql語句拿到hive環境單獨跑沒有問題,排除掉這項。若有問題,參考解決方案。使用spark submit jar 提交掉時候已經引入了json serde 1.3 jar with dependenc...