基于Spark的电信用户行为分析
2022-07-21赵伟航姚全珠顾炜伦
赵伟航,姚全珠,顾炜伦
(西京学院 信息工程学院,陕西西安,710000)
1 绪论
■1.1 选题背景
在这个信息量呈指数暴增的新时代,人们对事物的看法与观点也随之由传统观念向着新时代特点发生着巨大的改变,各个行业也由传统方式向大数据化、互联网化、信息化方式发生转变。比如微信支付、扫脸支付、无人餐厅等等。计算机互联网技术的日新月异,尤其是移动互联网的到来,弥补了传统电脑的不足,给人们的交流带来了极大的方便。智能手机强劲的性能使得如今各种手机应用软件正实现着对传统服务业和原有消费行为的颠覆,随之也产生了大量的数据。随着大数据时代的带来,使用互联网的人数呈直线上升式增长,互联网用户使用者贯穿老少妇孺,随之电信运营商的业务规模不断扩大,面对如此庞大的电信用户数据集,准确分析与挖掘这些数据背后的价值成为了电信运行商的当务之急。本题目拟基于电信大数据,使用Spark技术对用户数据进行分析与挖掘,进行用户的划分和分类,为电信运营商洞察用户需求、实现精准用户定位和精细化运营提供一个准确高效的平台。
本设计基于Spark数据分析技术,通过对收集的电信用户数据进行分析与挖掘,实现电信用户的类别划分,为更好的服务用户,实现精准用户定位和精细化运营提供一个准确高效的平台。用统计分析出来的数据辅助产品经理、数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计、以及调整公司的战略和任务,最终利用大数据技术来帮助提升公司的业绩、营业额以及市场占有率的目标。
■1.2 国内外研究现状及应用前景
在这个信息爆炸的时代,通信行业中占据主导地位的依旧是电信运行商,它不仅有充足的数据集,而且还具有朝着新时代大数据发展的趋势。具有关2013年的一份发布报告显示,开始迈入大数据研究的运行商已经有超过48%之多。法国基于对用户行为分析的方法,从而提高对用户服务质量与体检的初衷,推出了Orange BusIness Services;美国为了给运营商提供高效的营销方案,结合了用户通信网络中所涉及的用户地址、习惯等信息以及商业相关数据指定有针对性的营销方案;西班牙电信Telefonica为了更好地给全球范围的用户提供针对庞大数据的解决方案,专门设立了大数据的相关部门;德国的运营商得出的人们出行规律是通过信令数据的位置信息挖掘到的,并为数据支撑开发了LBS应用。
在今天,各种各样的数据挖掘工具已经被开发出来,可被研究者直接使用,用于更深层的研究与开发,也为他们节约了大量的时间。如Power-BI淘宝指数、Google Analytice、百度统计、IBM Cognos等平台都是当前商业化方面上比较火热的、有关数据分析的开放平台,其中很多是采用对电商进行数据分析和统计,用来帮助商家更好地了解用户的行为情况。R是一种支持图形可视化、数据统计等分析技术的计算机语言和分析数据工具。目前著名的开源数据挖掘软件Weka不仅可以使用编程对组件进行调用,也提供了操作界面。随着科技的不断进步,开发者们也研究出了一些关于用户行为分析的成果。刘路研发了基于云计算的用户行为分析系统,既实现了系统管理与设计也对系统的功能模块进行了概述。乔媛媛为解决大量数据的存储与分析难题,提出了基于Hadoop的流量分析系统Flas。冯铭等人提出了一种基于云计算的可重构的用户行为分析解决方案,为运营商更好地按分类对用户进行精准的服务,满足用户的需求提供了便利,从而到达对用户更优质的服务。
2 用户行为分析系统的分析与设计
■2.1 系统需求分析
(1)了解系统开发所需要的软件
VMWare16、Ubuntu、JDK1.8、MySQL数 据 库、Spark、IDEA集成开发环境。
(2)数据探索
根据设计需求把数据类型进行分类,进行处理。
(3)通过编写Spark SQL应用程序对电信数据进行分析
通过Java语言编写Spark SQL应用程序,对电信数据进行分析,分析的主要内容有用户区域分析、渠道分析、请求类型分析等。最后将分析结果写入MySQL数据库。
(4)数据分析结果的可视化
后台通过SpringBoot构建,前台界面使用ECharts框架进行展示,所要实现的具体功能包括:
①登录界面判断用户是否存在、登录是否成功;
②用户区域展示功能;
③用户渠道展示功能;
④用户请求类型展示功能。
■2.2 系统总体设计
2.2.1 系统流程设计
系统设计的思路如下:首先下载电信用户行为数据集,将数据保存到本地;其次使用Java语言编写Spark SQL程序分析用户行为数据集,将分析得到的结果写入MySQL数据库;最后使用Spring框架搭建后台系统通过ECharts将结果可视化在页面上。
系统整体流程设计如图1所示。
图1 系统整体流程设计图
2.2.2 功能模块设计
本设计所实现的基于Spark用户行为分析系统主要包括注册登录、用户区域分析展示、用户渠道分析展示、用户请求类型分析展示和注销登录等功能。总的来说,系统功能模块图如图2所示。
图2 系统功能模块图
2.2.3 前端系统流程设计
(1)系统登录
系统会根据用户输入的账号、密码进行格式检查、验证用户是否存在以及对应密码的正确性。若检查无误后,用户便成功登入系统。系统登录流程图如图3所示。
图3 系统登录流程图
(2)用户渠道分析
系统会对数据集进行分析,将其按用户访问渠道进行分类,最后进行展示。其流程图如图4所示。
图4 用户渠道分析流程图
3 用户行为分析系统的开发与实现
■3.1 大数据环境的搭建与配置
部署本地模式Spark
(1)新建Spark安装目录。使用的命令如下所示。
sudo mkdir /usr/lib/spark
(2)解压缩文件。使用的命令如下所示。
sudo tar -zxvf spark-3.1.1-bin-hadoop2.7.tgz -C /usr/lib/spark
(3)修改环境变量文件/etc/profile,在该文件最后增加以下几行。
export SPARK_HOME=/usr/lib/spark/ spark-3.1.1-bin-hadoop2.7.tgz
export PATH=${SPARK_HOME}/bin:$PATH
若本地模式Spark部署成功,使用命令“spark-shell”就可以进入欢迎界面,如图配置成功,如图5所示。
图5 验证本地模式Spark
■3.2 数据探索
(1)数据集中的部分数据,如图6所示。
图6 data.csv
(2)根据对数据集的数据探索,应对应MySQL中以下数据表:用户表(id,name,pwd)、用户渠道表(name,value)、用户区域表(name,value)、用户请求类型表(name,value)。这个四个表的逻辑结构如下文所述。
用户表的逻辑结构如表1所示。
表1 用户表
用户区域表的逻辑结构如表2所示。
表2 用户区域表
用户渠道表的逻辑结构如表3所示。
表3 用户渠道表
用户请求类型表的逻辑结构如表4所示。
表4 用户请求类型表
请求类型包括:GET、POST;用户渠道包括:h5、android、ios、html、pad、other;用户区域包括:北京、上海、深圳、西安、南京、天津、成都、重庆。
■3.3 Spark SQL应用程序分析用户行为
数据分析通过编写SparkSQL应用程序完成,主要包括以下步骤:第一,读取源数据,把源数据读入到Spark容器中。第二,是对数据进行处理,把数据集加载到Spark SQL语句中,在Spark集群上执行,最后把处理好的数据存入到MySQL中。
主要步骤如下:
(1)导入Spark包;
(2)把本地数据读取到Spark SQL中;
(3)编写Spark SQL程序分析数据并写入MySQL。
MySQL数据库中的part3数据表如图7所示。
图7 MySQL表part3(用户所在区域)
■3.4 使用Spring框架和ECharts实现数据可视化
3.4.1 登录页面的实现
在用户拥有账号之后,进入登录界面进行登录系统操作。登录界面可以实现如下功能:
(1)用户在登录界面,输入账号密码信息,点击登录按钮,触发相关事件。前端页面将接收到的信息传递给后台进行处理。
(2)Login类接收到前端页面传递来的信息,在数据库中根据用户输入的用户名和密码与数据库中的用户表进行信息匹配。
(3)判断用户名和密码是否正确,如果不正确则重新登录。
(4)登录成功后跳转至分析主界面。
3.4.2 用户区域类型可视化的实现
用户登录成功后,系统将展示功能列表,在右侧的功能列表,点击用户区域分析,请求将传递到后台,后台从数据库获取到数据后,返回到前台,通过ECharts进行展示。
3.4.3 用户请求类型可视化的实现
用户登录成功后,系统将展示功能列表,在右侧的功能列表,点击用户请求类型分析,请求将传递到后台,后台从数据库获取到数据后,返回到前台,通过echarts进行展示。
3.4.4 用户渠道类型可视化的实现
用户登录成功后,系统将展示功能列表,在右侧的功能列表,点击用户渠道分析,请求将传递到后台,后台从数据库获取到数据后,返回到前台,通过ECharts进行展示。
4 用户行为分析系统的运行效果
■4.1 登录界面
本系统登录界面如图8所示。
图8 系统登录界面
系统登录界面要填写的信息有用户名和密码,填写完成后,若数据有该用户,及其输入的密码正确,点击登录即可。
■4.2 用户所在区域可视化效果图
用户区域分析可视化效果图如图9所示。
图9 用户区域分析可视化效果图
用户所在区域主要有北京、上海、天津等地。
通过折线图图9可以显示出用户所在区域的分布人数情况。由此,可以发现用户在北京和南京两地的人数偏多,因此电信运营商可以在这两地安排更多的工作人员去开展业务、开更多的服务门店。
■4.3 用户请求类型可视化效果图
用户请求类型分析可视化效果图如图10所示。
图10 用户请求类型分析可视化效果图
系统用户请求类型主要有两类,即GET和POST。
通过饼图图10可以看出,GET和POST两种请求类型人数相对持平,因此电信运营商可以把服务这两个类型的工作人员名额分配一样,充分利用人力资源。
■4.4 用户访问渠道可视化效果图
用户访问渠道分析可视化效果图如图11所示。
在用户渠道分析中,主要的渠道有IOS、Android、H5等。
通过柱状图图11可以得到各访问渠道的用户人数情况。由上图可以知道访问渠道较多的是IOS、Android,因此电信运营商可以针对这两种渠道上常用的一些应用,推出一种关于这些应用的定向免流套餐,向其用户推荐这些套餐,从而吸引更多的用户使用该公司的产品。
图11 用户访问渠道分析可视化效果图
5 总结与展望
本设计针对电信用户行为数据集,实现了对电信用户行为数据的分析和挖掘。使用Java语言编写Spark SQL应用程序分析数据,包括用户区域、用户渠道、用户请求类型等多维度数据分析,并将分析结果写入MySQL,采用Spring框架搭建后台系统,开发网页应用,实现了用户登录,并借助ECharts对MySQL中结果数据进行可视化展示。
本文详细阐述了基于Spark的电信用户行为分析系统的设计和实现过程,通过对用户数据的分析与挖掘,进行用户的划分和分类,为电信运营商洞察用户需求、实现精准用户定位和精细化运营提供一个准确高效的平台。随着大数据技术的不断发展,精准用户定位必然会大趋势,基于Spark的电信用户行为分析系统比之前的分析系统优势也会更加明显,也将会是未来主流的分析数据方式。
本设计基本可以通过对用户行为的分析获取到该用户的一些生活习惯和消费习惯信息,从而帮助电信运营商采取有针对性的营销策略。但是对于该系统而言还是存在着不足之处可以完善、优化。今后对该系统进行的升级和优化会从以下几个方面进行考虑:
(1)增加对系统数据的统计功能。
(2)将电信用户行为分析的分类更为精细。
(3)优化可视化界面,提高视觉感受。