摘 要
在电商行业高速发展的今天,用户购物行为数据量呈指数型增长,传统的数据处理架构已经无法满足于现如今的数据处理需求。针对于这样的需求本课题设计了一种基于淘宝的用户购物行为分析系统,旨在通过对大量数据进行分析处理进而深入研究用户在淘宝平台上的行为,揭示其购物模式和偏好,为电商平台提供更精准的个性化推荐和服务。
本系统采用了Hive与Superset技术,用HiveQL语句处理并分析阿里云天池提供的用户购物行为数据,构建出用户购物行为模型,并将处理后的数据同步到MySQL当中,同时通过用户的购物行为总结出一些规律,最终通过大数据可视化形式展现出来。通过处理并快速的根具不同需求得出有用数据并展现出来,可以使淘宝平台策划人员对用户提供个性化服务、为商家提出合理性规划。本系统为策划人员提供有力的支持,帮助他们更好地把握市场动态,优化运营策略,最终实现淘宝平台运营效果的全面提升。
关键词:淘宝;用户购物行为;数据分析;可视化
第1章 绪论
1.1 研究背景与意义
1.1.1课题研究背景
随着互联网技术的日新月异,网络应用软件已经深深地渗透到人们的日常工作、生活、学习等各个领域,成为了不可或缺的伴侣。这些应用不仅极大地提升了工作效率,加快了知识获取的速度,还使日常生活变得更加便捷。随着互联网用户的持续增长,人们可以随时随地通过各类社交软件获取新闻资讯,与志同道合的人分享信息,进行在线购物、文件传输、邮件交流等多元化活动。短视频的繁荣和网络游戏的不断创新更是为人们的休闲娱乐活动注入了新的活力。而现今,接入互联网的方式不再局限于传统的电脑,各类移动设备已成为主流,各种热门APP的涌现进一步提高了政府、普通民众事务处理的效率,并涉及到巨大的社会经济利益。
在以数据为中心的信息时代正向我们走来这一背景下,网购已成为大众购物的主流渠道,随之而来的是电商网站服务器后台累积了庞大的用户行为日志数据集。为了最大化这些数据所蕴含的价值,众多电商企业积极投身于用户行为分析的研究中,旨在通过精准营销等手段,实现销售增长和利润提升。具体而言,企业会详尽统计并分析用户在购物过程中的点击行为,从而洞察商品的销售概况,并预测未来可能的热销产品。同时,通过对网页访问量的深入分析,企业能够识别出页面布局中的潜在问题,进而实施有效的优化策略。这些深入的数据分析结果,不仅为电商企业提供了制定整体运营策略的有力依据,还在无形中促进了企业利润的提升。因此,用户购物行为分析在电商企业中占据了举足轻重的地位。
1.1.2课题研究意义
淘宝作为国内最受欢迎的电商购物平台,对其用户的购物行为进行深入分析,可以帮助电商平台更好地了解用户需求,提供更优质的服务。再加上淘宝平台拥有海量的用户数据,通过对这些数据进行分析和处理,可以揭示用户的购物模式和偏好,为个性化推荐和精准营销提供重要支持。同时设计和构建一个基于淘宝的用户购物行为分析系统,不仅需要掌握相关的数据处理和算法技术,还需要深入理解电商领域的业务特点和用户行为规律,具有一定的技术挑战性。通过对淘宝用户购物行为的分析,可以为商家提供更精准的商品推荐和营销策略,提升销售额和用户满意度。
1.2 国内外研究现状
1.2.1国外现状
在信息时代的浪潮中,数据量的迅猛增长已成为不争的事实。全球范围内的互联网公司纷纷投身于大数据领域的竞争,这极大地推动了大数据技术的蓬勃发展。大数据这个概念最早是由其几家美国科技公司所倡导,旨在通过创新的数据处理技术提升数据的价值。经过近三十年的探索与积累,大数据技术逐步成熟,越来越多的互联网企业青睐于此,大数据的时代正在到来。
目前,众多国际知名的互联网企业如Google、麦肯锡、IBM、微软等都在积极布局大数据领域,并投入大量资源进行大数据平台的研发。Google公司在大数据理论方面贡献显著,其中Google FS、MapReduce、BigTable等研究成果被誉为推动大数据发展的三大支柱。
在全球电商领域中,各大企业不断改良、研发大数据处理技术来支持自己的数据处理业务。同时电商企业注重跨渠道的用户行为分析,将线上、线下、社交媒体等多个渠道的用户数据整合起来,形成全面的用户画像。这种跨渠道的用户行为分析有助于企业更全面地了解用户需求,优化购物体验。在数据收集和分析的过程中,国外电商企业非常重视隐私保护和合规性。企业严格遵循数据保护法规,确保用户数据的安全和隐私。与此同时企业也注重与用户沟通,明确告知用户数据的使用方式和目的。
1.2.2国内现状
在国内,大数据分析发展相对较晚,但也有一些在此技术上取得不错成绩的本土企业。随着中国电商市场持续高速增长,用户规模不断扩大,电商用户购物行为分析也在不断发展。电商企业开始大量收集用户数据,运用新的技术对用户购物行为进行深入分析。通过分析用户在电商平台上的一系列操作,企业可以更准确地把握用户需求,优化商品推荐、价格策略、营销策略等。并且随着社交媒体平台的普及,国内电商企业开始将社交媒体与电商相结合,通过社交媒体获取用户购物行为数据。例如,微信、微博等平台上的电商小程序,可以让用户在社交的同时进行购物,同时也为电商企业提供了丰富的用户数据。
国内电商企业越来越注重个性化购物体验,根据用户在平台上的购物行为来预测推荐其感兴趣的商品,同时根据用户的个人喜好来定制页面布局等。这些行为不仅增强了用户在平台上的购物体验,同时也能够刺激用户消费,为平台带来不错的收益。
1.3 本文的组织结构
第 1 章绪论,先讲述了本课题研究的背景与意义 ,接着说明国内外在电商用户购物行为分析方面的的发展现状,最后总结本文的组织机构。
第 2 章系统相关技术与理论基础,阐述了本系统用到的所有技术和理论。
第 3 章需求分析,从电商行业对用户购物行为分析需求出发,并绘画了用户购物行为画像,最后对系统的功能、性能、安全性需求进行了分析。
第 4 章系统设计,从系统架构设计出发,接着对系统模块进行说明。详细的设计了系统数据模块,最后对数据库进行设计。
第 5 章系统的实现,首先说明了系统的开发环境并叙述了如何搭建集群,接着对数据进行预处理并进行正式处理分析,最后说明了如何同步数据与实现对处理后的数据进行可视化。
第 6 章系统测试,首先说明了测试环境,接着对数据处理分析与任务处理时间性能进行测试。
第2章 相关技术介绍
本系统采用的是Hive与superset相结合的方法进行的数据分析并对其进行可视化展示。其中用到的技术有Hadoop、Hive、Yarn、HDFS、Sqoop、Superset等。
2.1 系统相关技术
2.1.1 Hadoop分布式架构
Hadoop是一套分布式架构。其架构图如图2.1所示。它可以处理大量的数据并支持可靠的数据存储和处理。Hadoop通过将数据分散到多个计算机节点上来实现分布式计算,从而提高了计算效率和可扩展性。
![]() |
图2.1 Hadoop生态圈
2.1.2 Zookeeper分布式工具
ZooKeeper是由Yahoo!开发后贡献给Apache的一套开源的、用于进行分布式协调和管理的工具。提供了中心化的服务包括:统一命名,统一配置,分布式锁和分布式组服务等。ZooKeeper使用树形结构存储数据,并且支持对树节点进行监听,当其中存储的数据发生变化时,注册到Zookeeper上的节点将能够观察到这个变化,并且根据变化来做出对应的改变。
2.1.3 HDFS分布式文件系统
HDFS(Hadoop Distributed File System)是Hadoop中提供的一套用于进行分布式存储的文件系统。这款文件系统以其卓越的可靠性、可扩展性和分布式特性,被打造以应对超大规模数据集的存储与处理需求。它适用于那些需要处理庞大数据集的应用场景,比如数据挖掘和机器学习等。HDFS的特点包括强大的可靠性、高度可扩展的架构、高效的数据处理能力以及用户友好的使用界面。
HDFS本身是一个典型的主从结构,主要进程:NameNode(主进程),DataNode(从进程)。其中NameNode作为主进程,负责管理DataNode以及存储元数据(metadata),DataNode则主要负责存储数据。SecondaryNameNode是HDFS中的辅助节点,用于辅助NameNode完成edits_inprogress文件的滚动和fsimage文件的更新。如图2.2所示。
图2.2 HDFS架构图
2.1.4 YARN调度器
YARN(Yet Another Resource Negotiator——迄今另一个资源调度器),负责集群的任务管理和资源调度。YARN中主要包含两类进程:ResourceManager和NodeManager。其中主进程ResourceMAnager负责对外接受请求以及管理NodeManager和ApplicationManster,从进程NodeManager负责执行任务以及管理本节点上的资源。
2.1.5 MapReduce分布式计算模型
MapReduce是一个分布式计算模型,其本身是Doug Cutting根据Google的<MapReduce: Simplified Data Processing on Large Clusters>仿照实现的。MapReduce由两个阶段组成便可实现分布式计算,这样做的目的是简化分布式程序的开发和调试周期。但MapReduce的运行速度相对比较低不适用于实时计算的场景。
2.1.6 Hive数据仓库管理工具
Hive本身是基于Hadoop提供了类SQL(Hive Query Language,简称为HiveQL)语言来操作HDFS上的数据,而底层实际上是将用户书写的SQL转化为了MapReduce程序来执行,因此效率相对较低,因为本系统数据来源于阿里云提供的数据集属于离线数据,故选择此技术来分析处理数据。
2.1.7 sqoop数据迁移工具
Sqoop(SQL to Hadoop)是一个数据同步工具。它底层调用的是MapReduce,保证了其高容错率,同时任务跑在Hadoop集群上,减少了ETL服务器资源的使用情况。本系统使用该技术把Hive处理后的结果数据导入mysql中。
2.1.8 Superset可视化平台
Superset是一款企业级Web应用程序,为用户提供直观的使用界面。它支持的数据来源非常多,例如MySQL、ClickHouse、SQLServer等。同时还提供了多样化的可视化选项,并且具备强大的数据探索功能支持SQL编写查询。本系统使用该技术实现了数据可视化,使得系统使用者更好的分析、理解数据。
第3章 需求分析
3.1 用户行为分析在电商行业中的需求
3.1.1电商行业需求背景
随着电商市场的日益成熟和消费者购物习惯的变化,消费者对个性化服务的需求不断增长。用户对于平台的要求不断提高,简约大气的页面、能够精准推送自己心爱商品的推送机制等,只有平台不断改善自己,才能在当今市场上取得客户的青睐。同时在激烈的电商市场竞争中,平台通过对用户购物行为分析可以帮助电商平台了解用户在使用过程中的反馈,从而针对性地优化产品、服务和营销策略,提高用户满意度。同时,通过精准的商品推荐、优惠信息等内容,电商平台可以增加用户的粘性,提高用户的忠诚度。
对于电商平台而言随着市场的不断扩大和竞争加剧,电商平台需要不断提高自身的竞争力。用户行为分析可以帮助电商平台了解竞争对手的情况,如用户规模、活跃度、购买习惯等,从而制定更加有效的竞争策略。
在深入探讨电商行业的用户行为分析时,不难发现,其需求背景主要涵盖了个性化服务需求的持续增长、对提升用户满意度和忠诚度的迫切追求、营销策略与决策支持的不断优化、风险控制和安全管理的强化,以及日益激烈的市场竞争压力等多方面因素。这些因素的交织作用,使得用户行为分析在电商行业中占据了举足轻重的地位。
3.1.2电商用户购物行为画像
在当今电商领域,企业对于用户画像的构建需求展现出了其独特的视角和考量。相较于其他行业,电商企业并非仅聚焦于流量数据的分析,而是将更多的注意力投向了交易细节、用户管理策略以及用户体验的优化上。这一转变的核心在于,电商企业渴望深入了解每一位客户,和他们产生更多互动,并据此定制个性化的用户标签。为了实现这一目标,电商企业对于用户行为画像如图3.1的精准性有着极高的要求。它能够助力企业制定更为精准的营销策略,将最合适的产品和服务信息推送给最需要的客户,从而实现更高的转化率和用户满意度。
因此,对于电商企业来说,构建一份精准的电商用户行为画像显得尤为重要。这份画像需要包含用户行为的浏览、收藏、喜欢、购买、时间戳等多维度数据,并通过对这些数据的分析,提炼出各种有价值的信息。
图3.1 用户行为分析画像
3.2 系统功能需求分析
基于User Behavior提供的数据并结合电商平台的需求,将数据处理分析任务分为以下三个:
(1)用户会话行为分析需求
用户在电商平台购物时的行为会被平台所记录,用户的各种行为汇总可以得出该平台的用户活跃度,平台策划可以根据该数据进行一些活动策划,使得平台的用户更加的活跃。行为数据以小时、天、周为时间间隔进行处理分析,更能分析出用户的购物行为习惯,在此基础上可以对平台用户个性化时间点商品推送。
(2)网站页面跳转分析功能
在一个在线平台上,页面的浏览数量(PV)能够体现出网站是否拥有足够吸引人的内容。特别是在电商领域,营销专家总是追求高页面浏览数的目标。然而,由于用户访问路径的差异性,促成交易所需的环节也各不相同。虽然页面浏览量本身并不直接反映消费者对产品的兴趣水平,但如果网站的PV值偏低或是跳转率过低,这可能是网页设计存在缺陷的信号。通过这一功能模块,不仅可以明显看出页面布局如何引导用户体验,还可以评估购物车和支付界面上的组件功能及其布局是否得当,进而判断是否需要进行营销优化措施以提升成交量。此外,网站管理者可以借此对平台有一个更加清晰的理解,从而制定或调整策略。在电商平台的运营中,页面浏览数(PV)通常被视为衡量网站吸引力的一个关键指标。尤其对于电商网站而言,营销团队普遍期望其PV数据能有所增长。然而,用户访问网站的路径各异,这也导致了触发购买行为所需经过的步骤不尽相同。尽管PV本身并不直接代表用户对商品的购买意向,但其数值的高低和跳转率的变化却能在一定程度上反映网页布局的有效性。
这一功能性模块提供了一个直观的方式,来评估网页布局在引导用户行为方面的效果。此外,通过分析PV数据,还可以发现购物车或支付页面上的组件功能是否存在不足、位置是否合理,以及是否需要通过特定的营销活动来刺激购买量。更重要的是,这一数据还帮助网站管理者对网站的整体表现有一个清晰的把握,从而为他们制定和调整战略提供了有力的数据支持。通过不断优化网页布局和营销策略,平台可以进一步提高用户的购物体验,促进交易量的增长。
(3)商品/品类热度统计功能
在淘宝平台中,商品来源广泛,涵盖了众多第三方商家的产品。因此,对电商网站而言统计商品/商品品类的热度是至关重要的。通过这些数据,平台方能够深入了解商品的销售状况,进而根据销量情况策划更具针对性的营销活动和产品布局。平台的管理者和战略制定者可以依据这些热度数据迅速做出调整,紧跟市场趋势,从而间接地提升企业利润。对于电商网站的用户而言,人们更喜欢购买畅销的商品,以便找到更符合自己需求和口味的商品。而商品热度分析的功能模块,恰恰能够为用户提供这样的便利。它不仅能够帮助用户节省在海量商品中挑选的时间,还能结合平台的其他功能模块,为用户提供个性化的商品推荐。通过个性化的推荐机制,不仅能够显著提升消费者的使用满意度,而且有助于加强用户对电商平台的忠实度。这种方法能够满足用户的个别需求与偏好,进而吸引他们进行更多的购买行为。
3.3 系统性能需求分析
在本章节中,对系统的性能需求进行详尽的分析,以确保系统的可用性、稳定性和扩展性均能满足预设的设计标准。基于平台的核心功能特性以及使用者的实际需求,归纳提炼出以下三个关键的性能需求指标,以全面评估和提升系统的整体性能。这些性能需求的明确,将有助于在系统设计和实现过程中,更精准地把握性能优化的方向,确保系统能够高效、稳定地运行,满足用户的多样化需求。
3.3.1 可用性
(1)数据计算响应时间:数据处理的效率对数据计算响应时间的标准尤为重要。对于包含数百万条日志且数据量达到GB级别的数据集,要求计算能在15分钟内完成。当涉及多表数据的联合计算时,由于数据复杂度和处理难度的增加,应在30分钟内完成。
(2)数据查询响应时间:系统数据处理后的结果创建临时表储存在HDFS上,平台使用者在查询结果时,查看临时表的响应时间不应超过1s,可视化平台展示结果响应时间不应超过3s。
(3)数据存储量:本系统需处理海量数据故对内存有一定要求,三个节点总内存要求大于150G。
3.3.2 易用性
本系统的适用对象是电商平台的运维人员,故应制成通俗易懂、清晰直观的大数据可视化web平台,使用人员可以针对数据所反馈的情况做出判断并提出解决方案,这样不仅增强了系统运维的直观性,更极大地简化了运维人员的操作流程,使系统维护变得更加便捷高效。
3.3.3 可扩展性
(1)软件方面,本系统数据处理与分析是通过Hive实现的,HiveQL编写代码完成数据模型,可以满足策划人员的多项需求。后期在增添需求分析时可以方便的增加功能。
(2)在硬件扩展性方面,系统搭建分布式集群,在系统实际部署和应用过程中,为适应不同平台项目的特定需求,集群的整体规模可实现灵活扩展,从而确保无论在数据存储还是计算性能上,都不会遭遇显著的瓶颈或限制。这一设计策略可有效提升系统的可扩展性和适应性,使得系统能够应对复杂多变的业务场景。
3.4 系统安全性能需求分析
(1)为确保软件安全,必须严格管控平台用户的访问权限,以杜绝非法程序或文件通过伪装其他用户身份来窃取系统控制权的风险。
(2)为确保数据安全,需采取定期备份策略,利用异机备份方式以防硬盘损坏。此外,系统还需运用加密算法来确保数据在传输与存储过程中的机密性,防止数据被盗取。
第4章 系统设计
4.1 系统架构设计
本系统主要对数据进行分析处理并进行可视化展示,系统设计了五层架构分别为:数据层、存储层、计算层、服务层、展示层。系统整体架构如图 4.1所示。
图4.1 系统整体架构
数据层:User Behavior.csv是阿里云天池提供的一个用户行为数据集,其大小约3.41G包含了有行为的用户的所有购物行为约1亿条,其中行为包括商品详情页pv,等价于点击、商品购买、将商品加入购物车、收藏商品。用于隐式反馈推荐问题的研究。
存储层:将User Behavior数据集上传到HDFS进行存储。HDFS的分布式特性确保了数据的安全性和可扩展性。随后将HDFS中的数据导入Hive。Hive不仅支持SQL查询,还提供了对大规模数据集的快速处理能力。在数据经过Hive的计算处理后,用sqoop这一工具将结果保存至MySql数据库中。sqoop作为Hadoop和结构化数据存储之间的桥梁,能够高效地将数据从Hive导出到MySql关系型数据库。这一步骤确保了分析结果的持久化存储和后续查询的便捷性。
计算层: 为满足用户购物行为数据的分析需求,需构建一个分析需求模型。本系统采用HiveQL这门查询语言,它不仅与Hive数据仓库紧密集成,还能高效地驱动集群中的MapReduce任务。
服务层:展示层的Superset是由Python语言编写的Web应用,服务层是Python编写的程序将计算层的查询结果输出至展示层。
展示层:搭建superset环境,登录web端界面进行可视化操作,将MySQL中的数据设置为数据源,选择合适的图形进行可视化展示,生成