APP下载

基于Hadoop的电商用户行为分析系统设计与实现

2021-06-28

宿州教育学院学报 2021年3期
关键词:转化率分布式节点

陈 伟

(宿州职业技术学院计算机信息系 安徽·宿州 234101)

随着移动互联网的快速发展,网上购物日益普及,网购数据规模呈几何级增长。中国互联网络信息中心2020年9月29日发布的《中国互联网络发展状况统计报告》[1]中显示,截至2020年6月,我国网络购物用户规模达7.49亿,较2020年3月增长3912万,占网民整体的79.7%。电商用户行为数据中蕴含着大量有价值的信息,对海量行为数据进行挖掘分析得出用户行为规律并进行决策制定,对电商企业来说尤为重要。传统的单机处理及关系数据库已无法满足大规模数据处理和分析需求,大数据技术的出现为海量数据的存储、分析等提供了技术支撑。文献[2]利用Hadoop设计用户行为分析引擎,并与传统单机处理进行对比,处理效率优势明显;文献[3]介绍了网络用户消费行为大数据分析对电商营销策略的影响;文献[4-8]详细阐述了Hadoop分布式架构及数据分析方法,文献[9]利用Hadoop设计了用户行为分析系统,提高了分析效率;文献[10]设计的移动用户上网行为分析系统能够帮助运营商准确定位用户需求,为用户提供个性化服务。本文在上述研究的基础上,从电商用户行为入手,展开对Hadoop电商用户行为系统的研究。

一、相关技术

Hadoop是Apache公司的一个分布式系统基础架构[11][12],拥有高可靠性、高扩展性、高效性、低成本等特点[13],主要包括HDFS(Hadoop Distributed File System)分布式文件系统和MapReduce分布式计算框架,利用Hadoop集群可以实现海量数据的高速存储和并行计算, 与传统数据库系统相比,Hadoop在大数据处理方面具有诸多优势[14-15]。Hadoop生态圈中还包含其他开源的子项目,如分布式数据仓库Hive,分布式协调服务Zookeeper,分布式、按列存储数据库HBase等,如图1所示。

图1 Hadoop生态圈

HDFS分布式文件系统采用流式数据存储,部署成本较低,能够运行在廉价的硬件上,具有高容错、低成本、高性能、高吞吐量等特点[16],主要用于大数据的分布式存储。HDFS采用主从结构,包含一个名字节点NameNode和若干个数据节点DataNode[17],名字节点负责存储元数据,真实数据存储在数据节点。HDFS把文件分割为多个数据块进行存储,采用副本机制,把块数据复制多个副本存储在不同节点,实现数据的分布存储,提高数据读写的效率,保证了数据的可靠性。

MapReduce分布式计算框架主要用于大规模数据的并行计算,分为Map和Reduce两个阶段,提供了简便的分布式计算编程模型,程序员无须关心MapReduce分布式处理细节,只需按照MapReduce规范编写程序实现Map函数和Reduce函数业务逻辑,系统便能在集群节点上自动分配和执行任务,完成数据的并行计算和处理[18]。

Hive是基于Hadoop的数据仓库架构,可以实现大规模数据的查询和统计分析。Hive将数据映射为数据库中的表,利用类似SQL的HiveQL查询语言实现查询分析功能,HiveQL语句会在执行时自动转化为MapReduce任务在Hadoop集群上执行[16]。Hive本身不具备存储功能,所有数据存储在HDFS中,元数据则保存在关系数据库中。Hive处理大规模数据集时延迟较高,不适用于数据的实时查询,主要用于数据离线分析、日志分析,如电商网站用户行为分析。

二、系统设计和实现

(一)系统架构设计

本文系统主要实现用户行为的统计和行为分析,主要功能包括数据采集、数据存储、数据分析、数据可视化等,系统整体架构如图2,系统数据处理流程如图3。

图2 系统整体架构

图3 系统数据流图

采集层:利用Flume采集电商服务器端用户行为数据,把数据处理后发送至HDFS。

存储层:用户行为数据采集上传至HDFS存储,导入到数据仓库Hive进行计算处理,分析结果保存至MySql数据库中。

计算层:根据分析需求建立分析需求模型,利用HiveQL启动集群MapReduce任务对预先处理后用户行为数据进行分析处理,挖掘用户行为规律。服务层:处于展示层和计算层之间,利用Python语言编写程序,把计算层分析结果传送至展示层。

展示层:根据MySql中保存的计算结果,利用pyecharts可视化工具把用户行为数据以图表形式呈现,方便分析者快速理解和分析数据。

Sqoop是一款开源的分布式数据迁移工具,主要用于Hive与传统关系数据库间数据传递。本文采用Sqoop工具实现Hive与Mysql的数据互导,为pyecharts数据可视化提供数据来源。

(二)系统实现

1.系统部署

为简化系统部署,该系统采用VMware虚拟机方式搭建Hadoop分布式集群,集群中1个master节点作为NameNode和2个slave节点作为DateNode,节点操作系统均安装64位ubuntu16.04LTS,安装Hadoop、Hive、Sqoop、JDK、MySQL等软件,并完成相关配置。

在windows宿主机上安装Python3.8,通过pip工具安装pyecharts和Jupyter Notebook, 利用Jupyter Notebook可执行编写好的python程序生成pyecharts图表,实现数据可视化。

2.数据预处理

本次用户分析使用阿里云天池数据进行模拟,数据集为UserBehavior.csv,为淘宝2017年11月25日至2017年12月3日共9天的用户行为记录。该数据集约1亿条记录(100,150,807),包含用户数量987,994个,每条记录由用户ID、商品ID、商品类目ID、行为类型和时间戳组成。把数据集上传至HDFS中进行存储,在Hive中创建数据库User_Behavior,根据数据集中字段创建用户行为临时表user_1,通过HiveQL语句对数据集中数据进行空值及重复值处理,利用Hive中日期函数把times时间戳字段进行转换,得到日期、小时以备分析数据使用。处理后数据写入新表user_action,字段结构如下表1所示。

表1 user_ac t i on表结构f

其中,用户行为类型字段的值包括pv(浏览)、cart(加购物车)、fav(收藏)、buy(下单)。数据集中存在当前时间范围之外的不符合规定的异常数据,需要进行清除,最后预处理完后的数据记录数为100,095,133条。

3.数据分析

(1)统计每日新增首次下单用户。以2017年11月25日为第一天开始计算。

统计结果如图4,9天中每天都有新用户下单,每日下单数在减少,到12月2日周六时有所回升,推测应该是与周末促销活动刺激有关。

图4 每日新增首次下单用户情况

(2)统计新增下单用户的留存情况。统计每天新增下单用户的次日、3日、5日、7日留存用户数和留存率,进而分析淘宝下单用户的流失情况,如图5所示。结果表明,淘宝用户的次日、3日、5日、7日留存率基本维持在20%左右,网站可根据留存率情况分析用户流失原因,进行适时的策略调整。

图5 用户留存情况

(3)用户行为转化

行为转化(PV):PV是用户浏览商品详情页面的点击数总和,根据PV浏览记录、收藏+加购记录、购买记录来构建行为转化模型。汇总所有用户行为结果如图6。浏览到有购买意向阶段转化率为9.39%((fav+cart)/pv),浏览到购买转化率为2.25%(buy/pv),说明购买商品前用户会有大量的商品详情页点击浏览,约为44次 (pv/buy=89660654/2015775)。如果能够根据用户需求个性推荐,可提高转化率,减少用户浏览成本。

图6 用户行为汇总

用户转化(UV):UV为访问商品页面的独立访客数,用户转化率是下单购买用户占总浏览用户的比例,分析结果如图7,从浏览商品详情页到够买的用户转化率达68.3%(buy/pv),可见淘宝网站用户转化率较高,说明平台用户体验、产品服务、用户需求、信任度等各方面得到用户认可。

图7 独立访客用户行为

(4)每天用户行为情况

由图8可见,9天中前7天的用户活跃情况相对平稳,到12月2日和3日收藏数、加购数、购买数都出现小幅增长,尤其加购数增幅明显,对比同为周末的11月25日和26日的表现,推测后个周末可能会有促销活动或与双十二大促有关,用户数、访问量大幅增加,加购数增幅较大说明用户正为促销时批量购买商品做好准备。

图8 每天用户行为情况

(5)各时段用户行为情况

为了能够更客观地分析不同时段的用户行为,把9天中的各个时段数据汇总一起来观察各个用户行为变化趋势,如图9所示。

图9 每时段用户行为情况

可见,访问量、用户数等5项指标变化趋势基本吻合,0点到3点各项指标急剧下滑,4点到达最低值,5点到10点逐步回升,10点至18点相对平稳,18点迅速上升,到21、22点到达最高峰,22点以后又开始下降。这也符合人们正常作息时间规律,从转化率角度来看上午10点左右点击-购买和(收藏+加购)-购买行为路径转化率最高,而用户数高峰时段转化率却在降低,如图10所示。因此,可以考虑在18点至22点之间推出力度较大的促销活动或上架新商品等方式来提高转化率。

图10 各个时段转化率

结 语

利用Hadoop平台设计电商用户行为分析系统,对HDFS、Hive等关键技术进行了阐述,从数据处理、数据分析、数据存储等方面入手进行系统设计,以淘宝用户行为数据集为例详细介绍了数据分析处理的实现过程,最后对数据处理结果进行存储并可视化。结果表明该系统能够根据用户行为习惯、用户行为转化等不同维度对用户行为进行挖掘分析,可为电商平台调整营销策略、提升用户体验等方面提供参考建议和数据支撑。本文主要是利用Hadoop技术进行离线数据的分析,下一步工作将进一步优化该系统,实现日志数据的实时分析和处理。

猜你喜欢

转化率分布式节点
我国全产业领域平均国际标准转化率已达75%
CM节点控制在船舶上的应用
基于AutoCAD的门窗节点图快速构建
概念格的一种并行构造算法
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
曲料配比与米渣生酱油蛋白质转化率的相关性
基于DDS的分布式三维协同仿真研究
抓住人才培养的关键节点
透视化学平衡中的转化率