我有MyClass.java來定義map-reduce任務。 MyClass.java包含mapper,reducer和main的定義。它工作正常,但如果我嘗試使用/添加外部jar,我有消息ClassNotFoundException。如何將外部庫添加到Hadoop map-reduce任務
編譯我用命令:
javac -classpath hadoop_library_path:my_library_path -sourcepath code_path/ -d class_path/ path/MyClass.java
我創作的罐子,然後我運行任務:
hadoop jar maclass.jar MyClass input output -target target
外部罐子需要先還增加了在「罐子的Hadoop 「命令? 我試着用-libjars選項沒有結果。任何想法?
我不知道如何使用命令行(除非你有maven)。一種選擇是使用IDE並生成一個可運行的jar,另一種選擇是使用Maven插件(例如陰影)創建一個超級jar。後者在命令行中沒有IDE就可以正常工作。 – vefthym
我試圖用NetBeans創建一個可運行的jar,但錯誤是一樣的。 – mary
我知道它可以與Eclipse一起工作,但我不知道NetBeans。無論如何我會推薦maven。 – vefthym