Apache Mahout,使用或不使用

时间:2012-01-18 17:44:31

标签: jpa hadoop ejb mahout recommendation-engine

我正在为用户创建的组件集合实现一个简单的推荐系统。

我计划用JPA和一些专用EJB来做这件事。我的实体会有额外的几个包含最新建议的列表,然后EJB会抓取数据集并定期更新此列表。该模型基于组件之间的关系,并不依赖于过去的用户行为。我希望数据集仍然相对较小。可能不超过五十万件。

我非常了解如何使用JPA和EJB执行此操作,我认为对于我的特定用例,这将非常有效。

我应该花时间学习和实施Mahout吗?我确实对hadoop有一些经验,但是,我认为我的数据集不足以证明引入大象的合理性。

另外,有人能指出我用mahout实施推荐系统的好入门书吗?

非常感谢。

1 个答案:

答案 0 :(得分:3)

如果您正在实施推荐引擎,请注意,该部分Mahout具有基于Hadoop的完全独立的实现,而不是基于Hadoop。这很好,因为Hadoop不是那种直接连接到基于EJB的东西的东西。而且你没有大规模的问题。所以,你不必担心Hadoop。

除了org.apache.mahout.cf.taste.impl包之外,你想查看.hadoop中的内容;它只是纯Java,所以你可以将它嵌入到EJB中。我想你想查看Recommender API,然后将它包装在你的会话bean中,然后根据你的喜好公开它。

(这些天你真的想使用EJB吗?单独提问......)

事实上,之前的版本0.4仍然有一个EJB绑定示例作为无状态会话bean。你可以挖掘并重用那个包装器。

此部分代码的最佳网络资源是: https://cwiki.apache.org/MAHOUT/recommender-documentation.html

我们的书Mahout in Action显然不是免费的,但肯定是该项目的最佳和唯一参考。我在这里编写了有问题的代码以及本书中有关此代码的部分内容,因此它非常直接来自源代码。