帮助在 hadoop 上运行 Taste Grouplens 演示

发布于 2024-09-28 13:15:39 字数 1778 浏览 10 评论 0原文

我正在尝试构建一个基于协作过滤的推荐系统,作为学术项目的一部分。我认为 Mahout 项目有很大的潜力,我想利用它。

我在我的 ubuntu 10.1 上安装了 Mahout、hadoop 和 Java。 Hadoop 和 Java 已经过检查,可以很好地协同工作。 (运行 Hadoop 字数统计示例作业)

我按照此 教程 运行具有 100 万个数据集的“Taste Grouplens 示例”。 我输入了以下内容

chirayu@chirayu-laptop:~/hadoop-0.20.2$ mvn -e exec:java 

-Dexec.mainClass="org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluato

rRunner" -Dexec.args="-i /home/chirayu/mahout_source/trunk/examples/data/ratings.dat"

,然后按照教程的 hadoop 集群部分运行它 我在examples目录中进行了mvn install,它在examples/target/目录中生成了jar文件, 然后我继续进行下一部分,我必须在 hadoop 上运行该作业 我输入了以下内容:

    chirayu@chirayu-laptop:~/hadoop-0.20.2$ sudo bin/hadoop jar /home/chirayu/mahout_source
/trunk/examples/target/mahout-examples-0.5-SNAPSHOT.jar 

org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluatorRunner 

我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/cf/taste/eval/RecommenderEvaluator
    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)
Caused by: java.lang.ClassNotFoundException: org.apache.mahout.cf.taste.eval.RecommenderEvaluator
    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)
    ... 3 more

我不太确定该用什么来代替 我不太确定我是否正确部署了 jar 文件,有人有什么想法吗?

I am trying to build a collaborative filtering based Recommendation System as part of an academic project. I think Mahout project has a lot of potential and I want to use it.

I installed, Mahout, hadoop and Java on my ubuntu 10.1. Hadoop and Java have been checked to be working fine together. (Ran the Hadoop word count example job)

I am following this tutorial to run the 'Taste Grouplens Example' with 1 million dataset.
I typed the following

chirayu@chirayu-laptop:~/hadoop-0.20.2$ mvn -e exec:java 

-Dexec.mainClass="org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluato

rRunner" -Dexec.args="-i /home/chirayu/mahout_source/trunk/examples/data/ratings.dat"

then i followed the running it on the hadoop cluster part of the tutorial
i did mvn install in the examples directory,it generated the jar files in examples/target/ directory,
then i proceeded to the next part where I have to run the job on hadoop
i typed in the following :

    chirayu@chirayu-laptop:~/hadoop-0.20.2$ sudo bin/hadoop jar /home/chirayu/mahout_source
/trunk/examples/target/mahout-examples-0.5-SNAPSHOT.jar 

org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluatorRunner 

i get the following error :

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/cf/taste/eval/RecommenderEvaluator
    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)
Caused by: java.lang.ClassNotFoundException: org.apache.mahout.cf.taste.eval.RecommenderEvaluator
    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)
    ... 3 more

I am not too sure what to put in place of the
I am not too sure if i am deploying the jar file correctly , anybody have any ideas ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

作死小能手 2024-10-05 13:15:39

引用我给你的电子邮件回复:GroupLens 示例与 Hadoop 无关。你根本不需要那个。看起来您正在尝试通过 Maven 运行该示例,但是是从 Hadoop 安装目录运行。 Hadoop 不是 Mahout,所以它当然无法通过这种方式找到 Mahout 类。尝试从 Mahout 目录运行。

Quoting my email reply to you: the GroupLens example has nothing to do with Hadoop. You should not need that at all. It looks like you're trying to run the example via Maven, but from the Hadoop install directory. Hadoop is not Mahout so of course it can't find Mahout classes that way. Try running from the Mahout dir.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文