我正在尝试弄清楚如何使用 hadoop 运行 mahout jar 示例。我配置了 mahout 和 hadoop,现在我进入 hadoop 目录并输入如下内容:
/Users/hadoop/hadoop-0.20.2/bin/hadoop jar/Users/hadoop/trunk/examples/mahout-examples-0.5-SNAPSHOT-job.jar org.apache.mahout.SpareVectorsFromSequenceFile -w -i 评级 -o ratings_vectors
但我正在尝试,我的目标是为 Grouplens 数据集运行 hadoop 作业。我执行了 put 命令将我的 ratings.dat 上传到 Hadoop,然后呢?该命令总是给我这样的东西:
Exception in thread "main" java.lang.ClassNotFoundException: org.apache.mahout.SpareVectorsFromSequenceFile
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
我的问题是:
- 如何在 hadoop 目录中设置正确的路径来调用 mahout?
- 如何使用
org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluatorRunner
通过 hadoop 计算我的数据 ratings.dat?
非常感谢,我从 hadoop 和 mahout 开始;)
最佳答案
你有一个错字。它们是“稀疏 vector ”,而不是“备用 vector ”。请参阅 SpareVectorsFromSequenceFile
,它应该是 SparseVectorsFromSequenceFile
。
关于java - 如何使用hadoop安装执行mahout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4063879/