我在Mahout中执行贝叶斯算法时遇到问题 . 我用Maven构建它,作业文件在目标目录中 . 当使用Hadoop从终端运行时,我收到ClassNotFoundException错误 . 应该做什么?
$HADOOP_HOME/bin/hadoop jar mahout-core-0.3-SNAPSHOT.job org.apache.mahout.classifier.bayes.mapreduce.bayes.bayesdriver -i test -o output
线程“main”java.lang.ClassNotFoundException中的异常:org.apache.mahout.classifier.bayes.mapreduce.bayes.bayesdriver at java.net.URLClassLoader $ 1.run(URLClassLoader.java:200)at java.security.AccessController位于java.lang.ClassLoader.loadClass(ClassLoader.java:307)的java.net.URLClassLoader.findClass(URLClassLoader.java:188)中的.doPrivileged(Native Method),位于java.lang.ClassLoader.loadClass(ClassLoader.java:252) )java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)at java.lang.Class.forName0(Native Method),位于org.apache.hadoop的java.lang.Class.forName(Class.java:247) . util.RunJar.main(RunJar.java:149)
2 回答
我想你应该打电话给:
$HADOOP_HOME/bin/hadoop jar mahout-core-0.3-SNAPSHOT.job org.apache.mahout.classifier.bayes.mapreduce.bayes.BayesDriver -i test -o output
注意BayesDriver,而不是bayesdriver .
(简称this documentation)
事实上你的文件是以.job而不是.jar相关的吗?文件不清楚 .