2

我在 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

线程“主”java.lang.ClassNotFoundException 中的异常:java.net.URLClassLoader$1.run(URLClassLoader.java:200) 处 java.security.AccessController 处的 org.apache.mahout.classifier.bayes.mapreduce.bayes.bayesdriver。 doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252)在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) 在 java.lang.Class.forName0(Native Method) 在 java.lang.Class.forName(Class.java:247) 在 org.apache.hadoop.util .RunJar.main(RunJar.java:149)

4

2 回答 2

0

我认为你应该打电话:

$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。

(参考本文档

于 2010-03-15T19:20:34.670 回答
0

您的文件以 .job 而不是 .jar 结尾的事实是否相关?文档不清楚。

于 2010-07-16T20:21:15.800 回答