计算机毕业设计hadoop+spark商品推荐系统 电商推荐系统 图书推荐系统 机器学习 深度学习 人工智能 大数据毕业设计 Flume Kafka 数据可视化

目录

1 题目

2 需求分析

2.1任务

2.2运行环境

2.3开发工具

3 项目框架

3.1系统架构

3.2数据流程

3.3数据模型

4 详细设计

4.1创建项目并初始化业务数据

4.1.1在IDEA中创建maven项目

4.1.2数据加载准备

4.1.3数据初始化到MongoDB

4.2 离线推荐服务建设

4.2.1离线推荐服务

4.2.2离线统计服务

4.2.3基于隐语义模型的协同过滤推荐

4.3 实时推荐服务建设

4.3.1实时推荐服务

4.3.2实时推荐模型和代码框架

4.3.3实时推荐算法的实现

4.3.4实时系统联调

4.4 冷启动问题处理

4.5 其它形式的离线相似推荐服务

4.6 程序运行

4.7 具体代码

4.7.1 创建项目并初始化业务数据

4.7.2 离线统计推荐

4.7.3 基于隐语义模型的协同过滤推荐

4.7.4 实时推荐

4.7.5 其它形式的离线相似推荐服务

5 课程设计总结

参考文献

1 题目

背景:为了能将海量数据利用起来服务于用户,进而推动用户的留存率,如百度利用Hadoop实现日志的存储和统计、网页数据的分析和挖掘、商业分析等,腾讯利用Spark 快速迭代的优势,将其成功应用于广点通PCTR 投放系统上,Spark 也在优酷土豆的视频推荐、广告业务中有着广泛的应用。

电商推荐系统最重要的是数据的准确度和时效性。由于系统需要处理海量的数据,并伴随着多种推荐算法的混合,因此推荐系统对于数据的准确度和快速响应时间都是有极高的要求的,具体体现在以下几方面:首先系统需要具有较好的稳定性,在能够保障系统长时间不间断运行的同时,对于某些突发状况而引起的服务器紊乱可以快速恢复,这也是分布式架构的优势。其次系统运行的速度要比普通情况下快,这是对于大数据计算平台的基本要求。最后,系统应具有高容错性,采用冗余数据存贮方式,自动保存数据的多个副本,并能够自动将失败的任务重新分配。

2 需求分析

2.1任务

任务要求:

  1. 环境搭建
  2. 业务数据处理
  3. 离线推荐服务建设
  4. 离线统计服务
  5. 基于隐语义模型的协同过滤推荐
  6. 实时推荐服务建设
  7. 其它形式的离线相似推荐服务
2.2运行环境

(1)Ubuntu系统

(2)hadoop-2.7.3

2.3开发工具

(1)MongoDB

(2)Redis

(3)Spark、Scala

(4)Zookeeper

(5)Flume

(6)Kafka

(7)IDEA

3 项目框架

3.1系统架构

项目以推荐系统建设领域知名的经过修改过的中文亚马逊电商数据集作为依托,以某电商网站真实业务数据架构为基础,构建了符合教学体系的一体化的电商推荐系统,包含了离线推荐与实时推荐体系,综合利用了协同过滤算法以及基于内容的推荐方法来提供混合推荐。提供了从前端应用、后台服务、算法设计实现、平台部署等多方位的闭环的业务实现。

用户可视化:主要负责实现和用户的交互以及业务数据的展示,主体采用AngularJS2进行实现,部署在Apache服务上。

综合业务服务:主要实现JavaEE层面整体的业务逻辑,通过Spring进行构建,对接业务需求。部署在Tomcat上。

【数据存储部分】

业务数据库:项目采用广泛应用的文档数据库MongDB作为主数据库,主要负责平台业务逻辑数据的存储。

缓存数据库:项目采用Redis作为缓存数据库,主要用来支撑实时推荐系统部分对于数据的高速获取需求。

【离线推荐部分】

离线统计服务:批处理统计性业务采用Spark Core + Spark SQL进行实现,实现对指标类数据的统计任务。

离线推荐服务:离线推荐业务采用Spark Core + Spark MLlib进行实现,采用ALS算法进行实现。

【实时推荐部分】

日志采集服务:通过利用Flume-ng对业务平台中用户对于商品的一次评分行为进行采集,实时发送到Kafka集群。

消息缓冲服务:项目采用Kafka作为流式数据的缓存组件,接受来自Flume的数据采集请求。并将数据推送到项目的实时推荐系统部分。

实时推荐服务:项目采用Spark Streaming作为实时推荐系统,通过接收Kafka中缓存的数据,通过设计的推荐算法实现对实时推荐的数据处理,并将结构合并更新到MongoDB数据库。

  • 19
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B站计算机毕业设计1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值