[发明专利]一种基于Spark的推荐系统在审
申请号: | 201911151878.4 | 申请日: | 2019-11-22 |
公开(公告)号: | CN111125513A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 傅涛;胡燕;郑秩;王力;王路路;徐杰 | 申请(专利权)人: | 博智安全科技股份有限公司 |
主分类号: | G06F16/9535 | 分类号: | G06F16/9535;G06F16/22;G06F16/28 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210012 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark 推荐 系统 | ||
本发明公开一种基于Spark的推荐系统,通过分析用户的基本数据、行为数据,智能的向用户展示他们可能需要的东西,通过融入Spark编程模型,充分使用集群机器内存,基于内存高效迭代计算,大幅减少离线、在线计算时间。实现了一种混合推荐模型,该模型可统一多种推荐引擎的结果,根据用户的选择动态调整各个推荐引擎的权重,从而使得推荐结果更加个性化。选用HDFS及Parquet方式实现数据仓库的高性能,基于SparkSQL对数据进行查询,能够满足海量数据。
技术领域
本发明涉及一种推荐系统,具体涉及一种基于Spark的推荐系统。
背景技术
随着互联网日新月异的发展,如今步入了数据大爆炸时代,动辄就有PB级数据量的产生,在海量的数据中人们往往对数据的选择无所适从,在这样的前提下我们急需一种能够智能、主动筛选数据的系统,帮助用户得到他们想要的东西,挖掘到他们可能感兴趣的需求数据。
目前的系统大多基于传统的Map Reduce技术实现,这种实现方式在Mapper输出和Reducer输入之间的数据混洗过程需要频繁的读写磁盘,这个过程非常耗时,直接制约了系统的整体性能;而且该种编程模型只提供map和reduce两种算子,编写引擎效率较低。
海量数据存储基于普通文本文件,存储空间大、扫描和分析效率低。
常用的推荐形式包括基于人口统计学推荐、基于SVD推荐、基于内容推荐,很多推荐系统只采取了其中的单一算法,推荐形式单一,无法通用。
发明内容
针对上述问题,本发明采用的技术方案是,一种基于Spark的推荐系统,包括以下步骤:
步骤1:收集用户数据;所述收集数据可以是用户的键盘输入,也可以是用户产生的历史性数据、日志等,还有一类数据是用户的反馈信息,该类信息主要用于分析对引擎的改进;
步骤2:对收集到的数据进行加工预处理;系统尽可能的对收集到的无效数据加以过滤,以降低后期离线、在线处理的时间消耗;
步骤3:对加工数据进行持久化;所述持久化数据可能是刚收集的预处理后的数据,也可能是离线处理后的结果数据;
步骤4:评估模块分析数据,确定参与计算的引擎及其权重;
步骤5:推荐引擎计算得出数据结果;所述数据结果有两种走向,一是直接返回给用户展示,二是作为中间结果存入数据仓库。所述推荐引擎来源于引擎维护模块,可以便捷的加入、移除。
与现有技术相比,本发明的有益效果在于:
本发明提供了一种基于Spark的推荐系统,通过对计算模型的改进突破了MapReduce基于磁盘读写的性能瓶颈,系统整体性能得到了极大提高。结合了多种引擎算法,灵活匹配相应的策略使推荐结果更加精准、多样化;Parquet基于列式存储,大大减小扫描的数据量,结合Snappy压缩,既节省了存储空间又提升了传输效率。
具体实施方式
本发明一种基于Spark的推荐系统,其特征主要体现在高性能数据仓库的实现以及推荐引擎的实现。
数据仓库实现总的来说包含了如下特征:
本发明从逻辑上,将数据分层了两个层次,分别为原始数据层、离线数据层。顾名思义原始数据层是直接面向用户或第三方接收得到的数据,进一步加工的产物,离线数据层是推荐引擎对数据进行分析提取得到的中间产物。分层治理削减了数据扫描的范围,提高了整体性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于博智安全科技股份有限公司,未经博智安全科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911151878.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于图像处理的粗指针表盘示数读取方法
- 下一篇:一种铝制品生产用的雕刻机