我正在评估Mahout作为协作过滤推荐引擎。到目前为止它看起来很棒。 我们有来自12M不同用户的近20M布尔推荐。 根据Mahout's wiki和Sean Owen的一些线程,在这种情况下,一台机器应该足够了。因此,我决定使用MySql作为数据模型,并跳过现在使用Hadoop的开销。使用Mahout进行连续协作过滤
但有一件事情让我想起了什么,在不从头读取整个数据的情况下不断更新建议的最佳实践是什么?我们每天都有数以万计的新建议。虽然我不希望它实时处理,但我希望每隔15分钟左右处理一次。
请详细说明基于Mysql和Hadoop的部署方法。 谢谢!
谢谢肖恩。我对Hadoop如何适合整体情况有点困惑。据我所知,它被用来预先计算相似性,从而使应用程序本身只根据选定的推荐器进行匹配。这是真的吗? –
Hadoop不一定非要成为其中的一部分。除非您被迫遇到规模问题,否则我不会使用Hadoop。是的,您可以将其用于部分流程,并脱机计算相似度。 –
肖恩,你是什么意思“一次重新加载用户”?我正在使用ReloadFromJDBCDataModel,但是当我调用reload()时,整个数据集都会重新加载。我知道重新加载我们要求推荐的用户是有道理的,我怎么能实现这一点? – arielcamus