基于Spark的物品推荐系统的设计与实现
作者单位:北京邮电大学
学位级别:硕士
导师姓名:李文生
授予年度:2021年
学科分类:081203[工学-计算机应用技术] 08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:推荐系统 Hadoop Spark Flink 数仓
摘 要:随着信息技术的发展,数据总量爆炸式地增长,互联网逐渐进入大数据时代。与此同时,如何在海量数据中快速有效地找到用户所需要的信息也越来越困难。推荐系统是一类信息检索系统,可以有效地解决这个问题,对于用户不能很好地表达自身的信息需求,推荐系统通过分析用户的动态和静态数据,智能、主动地过滤信息,从而向用户展示他们潜在需要的东西。这一特性使得推荐系统在电子商务、社交网络等领域有着重要的作用。近些年技术的研究和发展不断推动大数据处理框架的出现和落地,目前业界使用比较成熟的框架包括Hadoop、Spark和Flink。其中Spark基于内存的计算使其在迭代计算中脱颖而出,成为大数据计算的研究热点。Spark具有良好的分布式特性和容错性,可以显著地提高推荐系统的性能。本文主要研究了基于Spark内存计算模型的物品推荐系统的设计和实现。本文的主要研究内容如下:(1)分析并实现了目前业界主要使用的几种推荐算法,详细分析了其原理和特点。算法部分包括基于物品的协同过滤算法,基于矩阵分解的推荐算法和基于ALS的推荐算法。(2)设计一个数据仓库,对原始日志数据进行清洗和分层,实现系统对数据更简洁高效地访问。该数据仓库使得系统的架构更清晰,有效提高系统的计算效率。(3)基于Spark内存计算模型实现了三组推荐算法,结合Flink流处理框架的实时优势,实现了用户行为日志的在线解析功能,提高了系统的实时性。(4)根据上文实现了离线推荐和实时推荐的组合推荐服务功能,提高了系统的完整性和实用性。并通过前端框架Vue实现电影系统的前端页面展示。最后简单实现了用于算法版本选择的ABTest测试系统。本系统从整体上构建了一个从用户交互、后端构建、模型调度的一体化电影推荐系统。