MR新增第三方依賴和檔案

2021-08-18 20:47:01 字數 919 閱讀 1730

寫mr程式往往需要依賴第三方依賴庫,或者需要讀取自己的配置檔案,本文就的目的就是為了用靠譜的方法解決這兩個問題!
在 driver 端新增依賴

export hadoop_classpath="thirdpartlib_1.jar,thirdpartlib_2.jar ..."
在 task 端新增依賴(或配置檔案)

-libjars "thirdpartlib_1.jar,thirdpartlib_2.jar ..." \

-files "file1, file2 ..." \

userparam1, userparam2 ...

**注意:必須使用 「方法1」 或者 「方法2」 才能使 「1」 和 「2」 生效!

-files:hadoop 將指定的本地/hdfs上的檔案通過hdfs分發到各個task的工作目錄下,不對檔案進行任何處理

-libjars:hadoop 將指定的本地/hdfs上的jar包通過hdfs分發到各個task的工作目錄下,並將其自動新增到任務的classpath環境變數中

增加了 「export hadoop_classpath」 環境變數, driver 端仍然找不到類

解決:"sudo" 替換為 "sodu -e",使父程序的環境變數不被抹除

增加了 -libjars 操作, 但是 task 端仍然找不到類

原因a: 沒有使用 "步驟3" 的兩種方法使 "-libjars" 生效

解決: 使用 "步驟3" 中的兩種方法的任意乙個

原因b: "-libjars" 放在了 "userparam1, userparam2 ..." 的後面

Spark SQL 新增第三方依賴包

最近在使用spark sql 執行hive語句時碰到異常資訊如下 開始以為時hive環境有問題,把sql語句拿到hive環境單獨跑沒有問題,排除掉這項。若有問題,參考解決方案。使用spark submit jar 提交掉時候已經引入了json serde 1.3 jar with dependenc...

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

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

centos新增第三方源

centos本身yum的軟體源裡缺少了很多軟體,可以自行新增第三方源 linux環境 centos 7 執行下述命令前,你可以先到 etc yum.repos.d 目錄下ls一下,看看它們長得是啥樣子。2 安裝rpmfusion的repository 下面兩個rpm包都要安裝 root localh...