hadoop如何使用第三方依賴jar包
阿新 • • 發佈:2019-01-29
在hadoop環境下,我們經常會遇到執行一些指令碼,然後卻需要臨時依賴一些jar包,比如在檢視mahout執行結果的時候,如果用hadoop fs -text xxx就會遇到類似的錯誤資訊:java.io.IOException: WritableName can't load class: org.apache.mahout.math.VectorWritable。意思就是當前環境下載classpath中沒有對應的類,一般情況下可以如下解決:
1.直接用hadoop的libjars引數載入第三方jar
hadoop fs -libjars /opt/hadoop/mahout-distribution-0.9/mahout-examples-0.9.jar -text /user/mahout/popapp/temp/preparePreferenceMatrix/itemIDIndex/part-r-00000|more
2.在當前環境變數中加入HADOOP_CLASSPATH
HADOOP_CLASSPATH=/opt/hadoop/mahout-distribution-0.9/mahout-examples-0.9.jar
hadoop fs -text /user/mahout/popapp/temp/preparePreferenceMatrix/itemIDIndex/part-r-00000|more
1.直接用hadoop的libjars引數載入第三方jar
hadoop fs -libjars /opt/hadoop/mahout-distribution-0.9/mahout-examples-0.9.jar -text /user/mahout/popapp/temp/preparePreferenceMatrix/itemIDIndex/part-r-00000|more
2.在當前環境變數中加入HADOOP_CLASSPATH
HADOOP_CLASSPATH=/opt/hadoop/mahout-distribution-0.9/mahout-examples-0.9.jar
hadoop fs -text /user/mahout/popapp/temp/preparePreferenceMatrix/itemIDIndex/part-r-00000|more