使用mahout和hadoop

deg*_*ggi 8 hadoop cassandra mahout

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

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

Sea*_*wen 7

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

您可能根本不需要Hadoop,如果不这样做,我建议您不要简单地使用它.超越某一点是"必要的邪恶".

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

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

  1. 这甚至不是推荐问题.只需选择UserSimilarity的实现,并使用它来比较用户与所有其他用户,并选择具有最高相似性的用户.(使用CachingUserSimilarity包装将有很多帮助.)

  2. 这只是一个推荐问题.将GenericUserBasedRecommender与您的UserSimilarity和DataModel一起使用,您就完成了.

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

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

Mahout in Action一书详细描述了Mahout Hadoop的大部分工作.