1

我正在尝试在单个系统(伪分布式模式)上运行在 Mahout 中构建决策森林以进行分类的 Breiman 示例。我指的是本教程 我对教程的前两个步骤没有问题,但第三步(即“为数据集生成文件描述符”)抛出异常,如下所示

Exception in thread "main" java.lang.ClassNotFoundException: org.apache.mahout.classifier.df.tools.Describe
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:266)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)

我运行的命令是

hadoop_admin@ubuntu:~/hadoop$ bin/hadoop jar /home/viggi/workspace/mahout-distribution-0.5/mahout-core-0.5-job.jar org.apache.mahout.classifier.df.tools.Describe -p data10/glass.data -f data10/glass.info -d I 9 N L

我在堆栈溢出中发现了一个类似异常的帖子。java.lang.NoClassDefFoundError即使它与 mahout 或 Breiman 示例无关,我还是决定采用推荐的解决方案,即下载HttpClient jar-library并将其放入$MAHOUT_HOME/lib. 它没有用。因此,如果有人可以解释第三步的实际作用以及如何摆脱这些异常,那将非常有帮助。

4

2 回答 2

2

据我所知, Mahout 0.5 没有org.apache.mahout.classifier.df.tools.Describe类,这就是为什么你得到异常,它找不到它。

从 Mahout 0.6 开始,课程就在那里。我建议你升级到最新的稳定版 Mahout (0.7)

于 2013-03-27T09:31:07.743 回答
0

您的包Describe似乎是错误的 - 在我刚刚下载的 0.5 core-job.jar 中,Describe 的包不包含分类器部分:

  • org.apache.mahout.df.tools.Describe

不知道你是如何在你的代码中编译它的

于 2013-03-27T10:33:10.133 回答