我正在尝试运行Breiman在单个系统(伪分布式模式)上构建Mahout分类决策林的示例。我指的是this tutorial 我对本教程的前两个步骤没有任何问题,但第三步(即“为数据集生成文件描述符”)抛出异常,如下所示
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
。它没用。因此,如果有人可以解释第3步实际上做了什么以及如何摆脱这些例外,那将非常有用。
答案 0 :(得分:2)
据我所知,Mahout 0.5没有org.apache.mahout.classifier.df.tools.Describe
类,这就是你得到异常的原因,它无法找到它。
从Mahout 0.6开始,班级就在那里。我建议你升级到最新稳定版的Mahout(0.7)
答案 1 :(得分:0)
您的Describe
包似乎错了 - 在我刚下载的0.5 core-job.jar中,Describe的包不包含分类器部分:
org.apache.mahout.df.tools.Describe
不知道如何通过
编译代码