最近参加一个推荐系统的开发,博客记录。
一、环境
使用amberia在四台机器上搭建hadoop大数据平台,项目中使用kafka数据分发,flume将kafka行为数据保存到hdfs。
离线任务用spark任务计算一些指标如搜索词热度计算;实时计算共两种:近在线,用于计算每5分钟产生的行为数据;在线计算,当用户发起请求,在线获取该用户的最近的搜索记录,进行基于内容的推荐。结果保存在mysql以及hdfs。
最后的推荐结果由:离线任务结果+近在线结果+在线结果+热点结果(热点咨询)。
大概流程

推荐API接口:提供推荐接口给业务调用。首先从缓存中读取,若没有数据就进行数据处理步骤;若缓存有数据,异步进行数据处理,并补充到缓存
本文介绍了一个推荐系统的实现过程,包括使用Amberia搭建Hadoop平台、Kafka数据分发、Flume收集行为数据到HDFS、Spark计算搜索词热度等指标、实时计算行为数据以及在线获取用户最近搜索记录等内容。最终推荐结果综合了离线任务、近在线计算、在线计算及热点资讯。
881

被折叠的 条评论
为什么被折叠?



