使用pig或mahout的推荐系统

mqkwyuun  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(471)

我正在hadoop上构建一个推荐系统,你能给我一个关于如何构建这个推荐系统的建议吗。
我想使用apache pig或apache mahout。
在我的数据集中

book_id,name,publisher
user_id,username
book_id,user_id,rating

我有c.s.v格式的数据
所以,你能建议我使用哪种技术来生产基于项目和基于用户的推荐系统。

nhn9ugyo

nhn9ugyo1#

我知道这不是你喜欢的方法之一,但是另一个可以在hadoop上创建推荐引擎的产品是oryx。
oryx是由sean owen(mahout in action一书的合著者,也是mahout代码库的主要贡献者)创建的。目前它只有3种算法(交替最小二乘法、k均值聚类和随机决策林),但是als算法提供了一个相当容易使用的协作过滤引擎,它位于hadoop基础设施之上。
从您的数据集的简要描述来看,它听起来像是完美的。它有一个模型生成引擎(计算层),可以根据以下三个标准之一生成新模型:
1) 年龄(模型世代之间的时间)
2) 添加的记录数
3) 添加的数据量
一旦生成了一代数据,就会有另一个java守护进程运行(服务层),它将通过restfulapi提供建议(用户到项目、项目到项目、盲建议等)。当新一代的模型被创建时,它将自动地接收这一代并为其服务。
在模型生成中也有一些不错的特性,比如老化的历史数据,这有助于解决诸如季节性之类的问题(不过,如果你说的是书籍,可能没什么大不了的)。
计算层(模型生成)使用hdfs存储/查找数据,并使用mapreduce或yarn进行作业控制。服务层是一个可以在每个数据节点上运行的守护进程,它访问hdfs文件系统,以便通过api显示计算出的模型数据。

yfjy0ee7

yfjy0ee72#

apachemahout将为您提供一个基于协作过滤算法的现成推荐引擎。
使用pig,你必须自己实现这些算法-用pig拉丁语,这可能是一个相当复杂的任务。

相关问题