MR作業提交時指定第三方依賴jar

2021-09-12 14:17:45 字數 1296 閱讀 4460

在提交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...