我正在试图弄清楚如何使用hadoop运行mahout jar示例。我配置了mahout和hadoop,现在我输入hadoop dir并键入这样的内容:
/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命令将我的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)
我的问题是:
org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluatorRunner
使用hadoop计算我的数据ratings.dat?非常感谢,我从hadoop和mahout开始;)
答案 0 :(得分:1)
你有一个错字。它们是“稀疏矢量”,而不是“备用矢量”。请参阅SpareVectorsFromSequenceFile
,SparseVectorsFromSequenceFile
。