需要澄清hadoop中mahout的用法吗
我目前在mahout中使用内存中的推荐API实现了一个推荐器。但是,为了计算离线推荐,我想使用hadoop开发一个分布式解决方案。这是我第一次使用hadoop,我想澄清一些概念和api用法 目前,我对hadoop的了解很少,我认为正确的方法如下:需要澄清hadoop中mahout的用法吗,hadoop,machine-learning,bigdata,mahout,mahout-recommender,Hadoop,Machine Learning,Bigdata,Mahout,Mahout Recommender,我目前在mahout中使用内存中的推荐API实现了一个推荐器。但是,为了计算离线推荐,我想使用hadoop开发一个分布式解决方案。这是我第一次使用hadoop,我想澄清一些概念和api用法 目前,我对hadoop的了解很少,我认为正确的方法如下: 使用ApacheDrill之类的工具,用用户和项目数据填充hdfs 在来自hdfs的数据上使用mahout列中的推荐作业 将hdfs中的结果数据转换为solr使用的索引碎片 使用solr向用户群提供建议 然而,我希望对该设计的几个方面进行澄清: 如
- 使用ApacheDrill之类的工具,用用户和项目数据填充hdfs
- 在来自hdfs的数据上使用mahout列中的推荐作业
- 将hdfs中的结果数据转换为solr使用的索引碎片
- 使用solr向用户群提供建议
除了这两个问题之外,我还有其他问题,但这些问题的答案将是一个巨大的帮助。您可能正在谈论Mahout+Hadoop+Solr推荐程序。此方法以两种不同的方式处理重新排序 基本推荐词可以通过两种方式组合在一起:
注意:您不必担心Solr碎片。Solr将直接为大多数DBs和HDF编制索引,但只有索引是分片的。如果你有一个非常大的索引,你可以切分它;如果你每秒有很多查询,你可以复制它(或者为了故障转移)。Solr查询通常非常快,因此我会担心在您拥有一个正常运行的系统后会出现这种情况,因为这是一个配置问题,不应该受到其他工作流的影响。考虑到应用程序的要求,我认为最适合我的方法是选项1和选项3。对于我应该如何调用推荐过程,您有什么想法吗?是否应将其设置为cron作业?使用Solr&Mahout,您有两个过程:1)通过创建指标矩阵来培训推荐人。如果您有将用户首选项放入日志文件的后台任务,则可以使用cron作业来“重新培训”,但这比您想象的时间要短。一旦你有了Mahout的输出,让Solr索引它。除非指标矩阵中有使用数据,否则不能推荐。2) 查询是用户首选项。这甚至可以实时收集。当用户喜欢,购买,费率,无论你认为是一个指标,这将进入您的查询。获取最新数据。