推荐系统记录

最近参加一个推荐系统的开发,博客记录。

一、环境

使用amberia在四台机器上搭建hadoop大数据平台,项目中使用kafka数据分发,flume将kafka行为数据保存到hdfs。

离线任务用spark任务计算一些指标如搜索词热度计算;实时计算共两种:近在线,用于计算每5分钟产生的行为数据;在线计算,当用户发起请求,在线获取该用户的最近的搜索记录,进行基于内容的推荐。结果保存在mysql以及hdfs。

最后的推荐结果由:离线任务结果+近在线结果+在线结果+热点结果(热点咨询)。

大概流程

推荐系统记录

推荐API接口:提供推荐接口给业务调用。首先从缓存中读取,若没有数据就进行数据处理步骤;若缓存有数据,异步进行数据处理,并补充到缓存