大数据下基于Spark的电商智能推荐云平台的研究

2018-01-09 09:54俞华锋
科技视界 2018年26期
关键词:云平台大数据

【摘 要】本文在“互联网+”背景下对基于Spark的电商智能推荐云平台进行了研究。首先阐述了该平台研究的意义、Spark技术的主要功能和系统架构,最后探讨了基于Spark的电商智能推荐云平台的设计。

【关键词】大数据;Spark;智能推荐;云平台

中图分类号: TP391.3 文献标识码: A 文章编号: 2095-2457(2018)26-0105-002

DOI:10.19694/j.cnki.issn2095-2457.2018.26.045

0 引言

随着“互联网+”和“移动互联网+”等新一代信息技术的飞速发展,消费者用智能终端(手机和平板电脑等)去电子商务网站、社交网络、微博、微信上购物变得越来越方便。然而随着电子商务规模的不断扩大,商品种类和信息的不断增长,消费者需要花费大量的时间、精力才能找到自己想买的商品。尤其在移动互联网环境下,消费者在移动端显得更没有“耐心”,日益增长的商品信息和数据使用户感到困惑与迷茫,因此,对于消费者来说,如何从庞大的商品中快速找到自己需要的商品成为亟待解决的问题。同时,对于互联网企业和生产服务提供商而言,如何让自身商品信息从海量数据中脱颖而出并得到消费者认可也是亟待解决的一个问题。而智能推荐云平台可以较好地解决上述问题。电商和企业可以通过智能推荐云平台精准的向消费者推荐自己的商品,从而快速、全面、准确的满足消费者需求。

本项目利用Spark和大数据挖掘等新一代信息技术,构建电商智能推荐云平台,通过各种信息渠道(即如何利用社交网络、微博、电商网站上的消费者的综合行为数据)收集消费行为的实时数据以及他们和品牌的互动行为,分析日志数据、用户历史行为、用户属性从而创建用户兴趣偏好模型,依据智慧推荐算法预测用户对商品权重偏好并进行排序,向消费者智能推荐满足需求与感兴趣的商品列表,为用户的消费决策提供一定的参考。对生产企业来说,管理者能够通过该平台得出的信息来预测消费者的潜在需求,打破了公司传统的自顶而下的决策流程,全面转向以消费者为中心的组织架构和业务流程,从而实现生产者与消费者的双赢。

1 Spark关键技术

Spark是为处理大数据而开发的并行通用计算平台,与Hadoop集群系统具有相似的特点。但两者最大的区别是Spark处理的中间计算结果是保存在内存中,不需要读写分布式文件系统,因此Spark能更好地适用于大数据挖掘与机器学习等需要迭代计算的地方。

1.1 Spark主要功能模块

Spark主要有Spark Core、Spark SQL、Spark Streaming、GraphX和MLlib模块组成,主要功能如下:

Spark Core:是集群系统中最核心的功能,包括创建SparkContext对象、任务提交与执行、分布式部署任务与资源、分布式计算等。

Spark SQL:提供了对关系型数据库的增、删、查、改等的交互式操作,也可以对Hive和Json等数据格式的数据进行符合要求的处理。

Spark Streaming:主要功能是将流数据集聚为弹性分布式数据集RDD,然后再进行批量处理,提供大数据流式计算处理服务,其数据吞吐量较大。支持的数据源包括Kafka、Twitter、MQTT、Flume、ZeroMQ和简单的TCP套接字等。

GraphX:主要功能是通过调用其中的API,解决基于分布式的内存图形计算问题。在迭代计算次数较多的情况下,图形计算和处理效率较高。

MLlib:通过调用其中的API接口,实现大量的机器学习有关的分类、统计、回归等多种功能。方便了用户,提高了效率,同时也大大降低了用户的学习成本。

1.2 Spark系统架构

Spark应用程序从编写到提交、执行、输出的整个过程采用集群的协作计算模式进行,整个集群的系统架构如图1所示。

Spark集群管理器Cluster Manager:负责资源的分配与管理。用户使用SparkContext提供的API,编写了Driver application程序后,Spark集群管理器将各个Worker机上的计算资源(包括内存和CPU)分配给应用程序,但是并不负责对Execoutor的资源分配。

Spark工作节点Worker:从节点。由Spark集群管理器分配任务后,再由Spark工作节点创建一个Executor进程,再将其资源和任务分配给Executor进程,同时将资源信息反馈给Spark集群管理器。

Executor:为用户提交的Spark应用程序运行在Worker node上的一个进程,主要负责Worker工作节点分配的任务的处理,并且与Worker工作节点、Driver?App的交互与信息同步。

Driver App:客戶端应用程序,运行应用程序的主函数,将任务程序转换为弹性分布式数据集RDD和有向无环图DAG,并与Cluster Manager进行通信与调度。

2 基于Spark的电商智能推荐云平台的设计

在大数据下基于Spark的电商智能推荐云平台根据消费者的综合行为数据(电商网站上的浏览、购买、反馈等行为)进行分析和统计,得出他们的个性偏好,并按照推断的个性偏好建立消费者偏好数学模型,预判消费者的潜在需求。可以把用户偏好的商品推荐给相应的用户和消费者。同时也将预测的用户潜在需求推送给企业,因此打破了公司传统的决策流程,全面转向以用户为中心的服务流程,提高企业的经济效益。主要包含信息收集和存储模块、信息处理和推荐模块和辅助决策模块等模块。

2.1 信息收集和存储模块

信息收集和预处理模块主要收集用户和商品等信息,并进行整合和预处理操作,将其转换为符合项目要求的数据集格式并进行存储。

信息收集主要涉及到消费者、生产厂商和管理人员等的。该模块从用户表中收集的用户信息包括他们的用户编号、用户类别、姓名、年龄、性别、职业、兴趣、商品偏好、邮箱等基本信息;从历史的销售表中读取用户曾经购买过的商品编号和购买数量等;同时也可以根据用户浏览网站的行为,记录浏览了哪些商品、推荐了哪些商品和以及浏览和收藏次数等相关信息属性;也可以从用户对商品的反馈与评价表中获取商品类别、用户推荐类别用户编号、用户操作记录、用户评分与评价等信息。信息收集和存储模块将收集到的数据存储到数据库中,为用户偏好的计算及商品的推荐提供基础。

2.2 基于Spark的信息处理和推荐模块

信息處理与推荐模块主要任务是根据信息收集和存储模块收集到的用户商品偏好与评分信息,将消费者偏好的商品作为依据,通过基于Spark的电商智能推荐云平台智能分析与挖掘出潜在的用户,并将偏好的商品信息推荐给用户。该模块主要由信息读入、创建弹性分布式数据集RDD、智能挖掘和推荐、辅助决策模块。

(1)信息读入,创建弹性分布式数据集RDD:将信息收集和存储模块中收集的用户商品偏好与评分信息作为数据集存储在分布式文件系统中,通过脚本加载数据。由于偏好与评分数据集为矩阵,并且不同系统的不同用户评分标准不统一,因此在信息的抽取、转换和加载的预处理过程中对用户偏好的商品用1表示,其他为0。最后将处理后的数据集加载生成数据集RDD对象,以便Spark能使用该数据集RDD对象实现并行化处理操作。

(2)基于Spark的智能挖掘和推荐模块:该模块负责接收用户历史数据、商品销售信息、用户偏好信息和商品评价信息等。该模块根据用户的各类偏好,统计消费者的各类偏好,并从用户历史数据和用户属性数据中提取到用户的特征向量,再结合商品销售信息、评价信息和用户反馈信息进行过滤、排名、统计等处理得到智能挖掘和推荐的结果。

在信息处理和推荐模块的Spark云平台中,创建SparkContext类的对象sc,再通过对象sc的函数textFile读取分布式文件系统上数据,创建RDD对象,最后通过函数parseUser读取每行数据,并以userID为关键值填充到数组中。函数interAction则根据关键值建立商品信息表。

2.3 辅助决策模块

辅助决策模块负责将信息处理和推荐模块中智能分析和挖掘到的大规模数据进行分析并预测消费者的潜在需求,并且将用户偏好的商品信息、偏好数据、用户对商品的意见和建议等分析结果提供给不同权限的工作人员查询,工作人员可以根据自己的工作性质查询自己所需的数据,来制定推荐、营销和决策方案,如应对哪些商品进行促销、如何定价、目标用户群是哪些等,为商品的设计和企业的经营决策提供一定的参考。

2.4 结束语

本文针对电商不断发展以及用户不断增长的趋势,将大数据和Spark技术引入到电商智能云平台的建设中。本文首先介绍了电商智能云平台研究的意义、Spark技术的主要功能和系统架构,最后探讨了基于Spark的电商智能推荐云平台的设计,希望能对电商云平台的研究提供一定的参考。当然本文只是提出了初步的设计,具体的实现有待进一步的研究与完善。

【参考文献】

[1]http://www.cnblogs.com/.

[2]http://baike.baidu.Com.

[3]俞华锋.网络大数据挖掘云服务平台的构建[J].科技视界.2013(18).

[4]俞华锋.云计算下基于大数据的消费者偏好测量和决策系统的研究[J].科技视界.2015(33).

猜你喜欢
云平台大数据
企业云平台建设研究
大数据环境下基于移动客户端的传统媒体转型思路