使用mahout和hadoop

时间:2011-01-12 10:33:20

标签: apache hadoop cassandra mahout

我是一个新手试图了解如何将mahout和hadoop用于协同过滤。我有单节点cassandra设置。我想从cassandra

获取数据

我在哪里可以找到hadoop的明确安装步骤,然后mahout与cassandra一起工作?

3 个答案:

答案 0 :(得分:7)

(我认为这是你刚刚在user@mahout.apache.org上提出的问题吗?复制我的答案。)

你根本不需要Hadoop,如果你不这样做,我建议你不要简单地使用它。超越某一点是“必要的邪恶”。

您可以在Cassandra上获取数据,但您希望能够将其读入内存。如果可以转储为文件,则可以使用FileDataModel。或者,您可以模拟FileDataModel中的代码来创建基于Cassandra的代码。

然后,您的两个需求很容易回答:

  1. 这甚至不是推荐 问题。只需选择一个实现 UserSimilarity的用户,并使用它 将用户与所有其他用户进行比较,以及 挑选最高的 相似。 (包装用 CachingUserSimilarity将有助于 很多。)

  2. 这只是推荐人 问题。用一个 GenericUserBasedRecommender用 您的UserSimilarity和DataModel 你已经完成了。

  3. 它当然可以比这复杂得多,但这是一个很好的起点。

    如果以后您使用Hadoop,是的,您必须根据其说明设置Hadoop。没有Mahout“设置”。对于推荐者,您可以查看一个在您的Hadoop集群上调用必要作业的RecommenderJob类。您可以使用“hadoop”命令运行它 - 再次,这是您需要了解Hadoop的地方。

    本书Mahout in Action详细介绍了Mahout Hadoop的大部分工作。

答案 1 :(得分:3)

Mahout in Action这本书确实让我免于令人沮丧的缺乏文档。

我正在关注https://issues.apache.org/jira/browse/MAHOUT-180 ...这表明'hadoop -jar'语法只给了我错误。这本书改为“jar”,通过该修复,我的测试工作很愉快。

这就是我的所作所为:

  1. 使用http://bickson.blogspot.com/2011/02/mahout-svd-matrix-factorization.html?showComment=1298565709376#c3501116664672385942处的实用程序将矩阵的CSV表示转换为mahout文件格式。将其复制到Hadoop文件系统中。

  2. 从笔记本电脑上新建的Mahout上载mahout-examples-0.5-SNAPSHOT-job.jar到hadoop集群的控制盒上。那里没有其他的mahout东西。

  3. 这个:(假设配置了hadoop;我用dfs -ls / user / danbri确认)

  4. hadoop jar ./mahout-examples-0.5-SNAPSHOT-job.jar \   org.apache.mahout.math.hadoop.decomposer.DistributedLanczosSolver \   --input svdoutput.mht --output outpath --numRows 0 --numCols 4 --rank 50

    ...现在我是否做得对,这是另一回事,但它似乎正在做点什么!

答案 2 :(得分:-1)

您可以按照以下教程学习。它易于理解并清楚地说明了Hadoop的基础知识:

http://developer.yahoo.com/hadoop/tutorial/