0

我试图弄清楚如何使用 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 ratings -o ratings_vectors

但我正在尝试,我的目标是为 Grouplens 数据集运行 hadoop 作业。我执行了 put 命令将我的 rating.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.GroupLensRecommenderEvaluatorRunnerhadoop 计算我的数据 rating.dat?

非常感谢,我从 hadoop 和 mahout 开始;)

4

1 回答 1

1

你有一个错字。它们是“稀疏向量”,而不是“备用向量”。看看SpareVectorsFromSequenceFile应该是哪个SparseVectorsFromSequenceFile

于 2010-11-01T08:16:02.630 回答