在工作中,我正在尝试基于 Mahout 的基于 Item 的 CF 包构建基于 Item 的推荐系统。这是我们正在处理的问题:
用户数量:6,000,000 项目数量:200,000 偏好:10,000,000,000
如果我们的 Hadoop 集群中有数百台机器,我们可能能够在几个小时内完成 RecommenderJob。但是,问题在于,因为我们是一家小型初创公司,我们的 Hadoop 集群现阶段只有大约 10 台机器。理想情况下,我们希望每隔几天运行一次推荐作业。
为了了解问题的规模,我们在一小部分数据上应用了 Mahout 的基于项目的 CF:
用户数量:100,000 项目数量:80,000 偏好:3,000,000
在我们的 Hadoop 集群上,RecommenderJob 花费的时间大约是 10 分钟。
我的问题是,鉴于我们的硬件限制(短期内不太可能改变),我们可以做些什么来加快 Mahout 的基于 Item 的 CF 的速度?