基于淘宝商城用户购物行为数据分析系统

摘  要

在电商行业高速发展的今天,用户购物行为数据量呈指数型增长,传统的数据处理架构已经无法满足于现如今的数据处理需求。针对于这样的需求本课题设计了一种基于淘宝的用户购物行为分析系统,旨在通过对大量数据进行分析处理进而深入研究用户在淘宝平台上的行为,揭示其购物模式和偏好,为电商平台提供更精准的个性化推荐和服务。

本系统采用了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)为确保数据安全,需采取定期备份策略,利用异机备份方式以防硬盘损坏。此外,系统还需运用加密算法来确保数据在传输与存储过程中的机密性,防止数据被盗取。

(3)为保障系统安全,所有平台使用者在操作本系统时都需输入相应的账号密码获取其对应的权限,保障系统的顺利运行。

(4)为保障网络安全,在部署系统的服务器上打开防火墙,用于预防抵抗网络攻击,使服务器能够正常运行保障系统项目的安全。

第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中的数据设置为数据源,选择合适的图形进行可视化展示,生成的数据大屏方便策划人员更清晰直观的分析数据。

4.2 系统模块设计

本系统的数据来源是离线数据类型故本系统仅有离线数据处理功能模块。从以下三个方面对用户在电商平台的购物行为进行分析,从中分析计算出有用的信息。系统功能模块图如图 4.2 所示。

图4.2系统功能模块图

4.3系统数据模块设计

系统数据处理流程如图4.3所示。将淘宝提供的数据集上传到HDFS上,Hive底层调用MapReduce对数据集进行计算处理,在Hive中创建临时表,将处理好的数据导入临时表中并在Mysql中创建相同表头的表,Hive中临时表通过sqoop工具导出到Mysql数据库中,最后利用superset技术对Mysql中的数据选择合适的图形进行可视化处理。

图4.3 系统数据流图

4.3.1用户会话行为分析 

(1)用户在电商平台上的各种操作,都会被记录下来以时间维度来进行统计,分别以小时、天、周来查看用户的各种行为汇总。

  1. 统计数据集内所有用户的总访问量与总用户量。
  2. 统计每日的用户量与访问量。
  3. 统计每位用户产生各种购物行为的次数。
  4. 统计一天内各时段的用户购物行为次数。
  5. 统计一周内每天用户购物所产生的行为次数。
  6. 统计每位用户的活跃天数,并对相同活跃天数的进行汇总。
  7. 统计每天的用户留存率。
  8. 统计在平台上购物超过两次的用户比例。

(2)创建用户价值分析模型

通过构建RFM模型对一个客户的最近购买时间、客户购买商品频率以及客户消费的金额三项指标来描述该客户的价值状况。通过对用户的购物行为进行打分,可以使淘宝电商平台清晰的了解用户的使用习惯。

4.3.2用户行为转换分析功能

用户行为转化率指的是在一定的时间内,新的用户行为占起始行为的比例。本文从以下几个方面进行分析:

1.用户购物收藏与加入购物车的行为和占用户浏览次数的比例,公式为:

(fav + cart) /  pv  =  pv2favcart

2.用户购买商品的行为占用户购物收藏与加入购物车的行为和的比例,公式为:

buy / (fav + cart) = favcart2buy

3.用户购买商品的行为占用户浏览商品次数的比例,公式为:

    buy / pv = pv2buy

通过各个阶段的用户行为转化率结合商品的购买量等多方面对产品、平台进行分析反馈,做出合理的调优,最终实现更多用户进行购买操作。

4.3.3热度统计功能

1.对商品热度进行统计,统计出每个商品在用户购物时所产生的行为次数,取其中用户购买商品的数量对商品进行倒序排序,导出前十名。并对其进行(购买/点击浏览)用户行为转化率操作,最终结合商品的购买量排序来一同分析商品市场情况。

2.对商品品类热度进行统计,统计出每个商品品类在用户购物时所产生的行为次数,取其中用户购买商品品类的数量对商品品类进行倒序排序,导出前十名。并对其进行(购买/点击浏览)用户行为转化率操作,最终结合商品品类的购买量排序来一同分析商品品类市场情况。

4.4数据库设计

数据库设计是一个系统性的过程,它涉及多个步骤来确保数据的准确性、完整性和效率。本系统基于E-R图的设计思想,设计了HDFS当中Hive表结构。E-R图如图4.4所示。

图4.4 系统E-R图

用户购物行为表如表4.5所示,在Hive中上传到HDFS后对其进行处理分析。

表4.5  user_behavior表

字段

类型

说明

user_id

string(30)

用户ID

item_id

string(30)

商品ID

category_id

string(30)

商品类目ID

behavior_type

string(30)

行为类型

包括(pv,buy,cart,fav)

timestamp

int(11)

行为时间戳

datatime

string(30)

行为时间

如表4.6所示,此表是对所有用户的购物行为进行统计,在Hive中用HiveQL处理完成后,映射在HDFS上,后经过sqoop技术同步到MySQL当中。

表4.6用户行为统计表

字段

数据类型

注释

user_id

varchar(30)

用户ID

pv

bigint(20)

等价于点击商品详情页数量

fav

bigint(20)

收藏商品数量

cart

bigint(20)

将商品加入购物车数量

buy

bigint(20)

购买商品数量

如表4.7所示,此表是用户购买商品大于等于两次占所有用户的比例,在Hive中用HiveQL处理完成后,映射在HDFS上,后经过sqoop技术同步到MySQL当中。

表4.7 用户复购率表

字段

数据类型

注释

_c0

double

在平台上购买两次或两次以上的用户所占比例

如表4.8所示,此表是用户购买商品大于等于两次占所有用户的比例,在Hive中用HiveQL处理完成后,映射在HDFS上,后经过sqoop技术同步到MySQL当中。

表4.8 一周内每天用户活跃情况表

字段

数据类型

注释

weekday

int(11)

代表着星期几

pv

bigint(20)

总点击量

fav

bigint(20)

总收藏商品量

cart

bigint(20)

总加入购物车量

buy

bigint(20)

总购买量

如表4.9所示,此表是用户各种购物行为之间转化率与次数统计,在Hive中用HiveQL处理完成后,映射在HDFS上,后经过sqoop技术同步到MySQL当中。

表4.9用户行为转化率表

字段

数据类型

注释

pv

bigint(20)

总点击量

fav

bigint(20)

总收藏商品量

cart

bigint(20)

总加入购物车量

`fav+cart`

bigint(20)

总收藏+加入购物车量

buy

bigint(20)

总购买量

pv2favcart

double(20)

点击到收藏的转化率

favcart2buy

double(20)

购买到收藏的转化率

Pv2buy

double(20)

点击到购买的转化率

如表4.10所示,此表所表示的是Top10 热销商品品类和商品品类点击到购买的转化率,在Hive中用HiveQL处理完成后,映射在HDFS上,后经过sqoop技术同步到MySQL当中。

表4.8 Top10商品品类表

字段

数据类型

注释

category_id

string

商品品类名称

pv

bigint(20)

商品品类的点击量

fav

bigint(20)

商品品类的收藏量

cart

bigint(20)

商品品类的加购物车量

buy

bigint(20)

商品品类购买量

bp

double(20)

商品品类点击到购买转化率

如表4.11所示,此表表示的是Top10热销商品和商品点击到购买的转化率,在Hive中用HiveQL处理完成后,映射在HDFS上,后经过sqoop技术同步到MySQL当中。

表4.11 Top10商品表

字段

数据类型

注释

Item_id

string

商品名称

pv

bigint(20)

商品的点击量

fav

bigint(20)

商品的收藏量

cart

bigint(20)

商品的加购物车量

buy

bigint(20)

商品购买量

bp

double

商品点击到购买转化率

如表4.12所示,此表表示的是对用户忠诚度与活跃频率进行打分并得出总分,在Hive中用HiveQL处理完成后,映射在HDFS上,后经过sqoop技术同步到MySQL当中。

表4.12 活跃用户表

字段

数据类型

注释

user_id

string

用户id

r

bigint(20)

R值越高,说明用户活跃

r_score

bigint(20)

r值得分

f

bigint(20)

F值越高,说明用户忠诚

f_score

bigint(20)

f值得分

score

bigint(20)

总得分

第5章 系统实现

5.1系统部署 

5.1.1开发环境

为构建一套简化和高效的系统部署,本系统采用CentOS 7.0 Linux虚拟机方式搭建 Hadoop分布式集群, 集群中有三个节点hadoop101、hadoop102、hadoop103,其中 master节点作为 NameNode 和剩余2个worker节点作为 DateNode。如表5.1所示。每台计算机配置 50G 硬盘,8G 内存,四核 CPU。安装 Hadoop、Hive、Sqoop、jdk、superset、Miniconda等软件,并完成相关环境配置。如表5.2所示

表5.1 硬件配置表

主机名

IP地址

HDFS

YARN

Zookeeper

hadoop101

192.168.52.6

NameNode

NodeManager

Leader

hadoop102

192.168.52.7

DataNode

NodeManager

Follower

hadoop103

192.168.52.8

DataNode

ResourceManager

Follower

表5.2 软件配置表

软件名称

版本号

Hadoop

3.2.4

Zookeeper

3.8.1

Hive

3.1.3

Sqoop

1.4.7

Jdk

1.8.8_212

5.1.2集群搭建

(1)搭建Hadoop 完全分布式高可用模式集群:

1.进入软件的预装目录

cd /opt/presoftware

2.下载Hadoop的源码包

wget https://dlcdn.apache.org/hadoop/common/hadoop-3.2.4/hadoop-3.2.4-src.tar.gz

3.对安装包进行解压

tar -xvf hadoop-3.2.4-src.tar.gz -C /opt/source

4.进入Hadoop的配置目录:

cd /opt/software/hadoop-3.2.4/etc/hadoop/

5.编辑文件

vim hadoop-env.sh、vim core-site.xml、vim hdfs-site.xml、vim mapred-site.xml、vim yarn-site.xml

6.添加子节点

vim workers  添加节点hadoop01、hadoop02、hadoop03

7.编辑文件

vim start-dfs.sh、vim stop-dfs.sh、vim start-yarn.sh、vim stop-yarn.sh、

vim /etc/profile.d/hadoophome.sh

8.远程分发

scp -r hadoop-3.2.4/ root@hadoop102:$PWD

scp -r hadoop-3.2.4/ root@hadoop103:$PWD

9.编辑文件配置环境变量

vim /etc/profile.d/hadoophome.sh

集群搭建完成后,启动集群可以通过hadoop101:9870的方式来查看HDFS的页面,通过hadoop103:8088的方式来查看YARN的页面。

  1. 安装Hive

1. 进入预安装目录

cd /opt/presoftware/

2.上传或者下载Hive的安装包,官网下载地址为:

wget https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

3.解压

tar -xvf apache-hive-3.1.3-bin.tar.gz -C /opt/software/

4.编辑文件

vim /etc/profile.d/hivehome.sh

5.下载Hive的连接驱动jar包

sz hive-jdbc-3.1.3-standalone.jar

在Hive安装完成后,分别在控制台输入start-dfs.sh、start-yarn.sh便能在hadoop101中启动HDFS集群,在hadoop03中启动YARN集群。通过输入编写的脚本jpsall,查看三个节点的进程。如图所示。

图5.3 hadoop集群三个节点进程

5.2数据预处理

本次实验使用阿里云天池提供的数据集进行实验,数据集名为 UserBehavior,数据集包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括fv、buy、cart、fav)。数据集内每一行由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,每一行代表着一个用户的购物行为记录,每个字段由逗号间隔。如表5.4所示。

表5.4 数据集说明

列表名

说明

用户ID

整数类型,序列化后的用户ID

商品ID

整数类型,序列化后的商品ID

商品类目ID

整数类型,序列化后的商品所属类目的ID

行为类型

字符串类型,包括(pvbuycartfav)

时间戳

行为发生的时间

把数据集上传至HDFS 中进行存储, 在 Hive 中创建数据库 bishe, 根据数据集中字段创建用户行为临时表user_behavior。通过 HiveQL 语句对数据集中数据进行清洗去掉完全重复的数据,利用data函数把时间戳格式化成datetime,查询是否有异常的时间数据并去掉时间异常的数据。

(1)数据清洗,去掉完全重复的数据

insert overwrite table user_behavior

select user_id, item_id, category_id, behavior_type, `timestamp`, datetime

from user_behavior

group by user_id, item_id, category_id, behavior_type, `timestamp`, datetime;

(2)数据清洗,时间戳格式化成 datetime

insert overwrite table user_behavior

select user_id,

item_id, category_id,

behavior_type,

`timestamp`

from_unixtime(`timestamp`, 'yyyy-MM-dd HH:mm:ss') 

from user_behavior;

(3)查看时间是否有异常值

select date(datetime) as day from user_behavior group by date

order by day;

(4)数据清洗,去除不在2017-11-25至2017-12-03时间段内的时间

insert overwrite table user_behavior

select `user_id`, `item_id`, `category_id`, `behavior_type`, `timestamp`, `datetime` 

from user_behavior

where cast(datetime as date) between '2017-11-25' and '2017-12-03';

处理完后的数据进行select * from操作,最终得出处理完的数据条数约为一亿条。

5.3.数据分析

5.3.1 统计总访问量与用户量

数据集从2017年11月25日开始至2017年12月3日结束,共计9天时间。统计9天内的所有访问量与用户总量。通过计算得出该时间段内访问次数为89716247次,总共有访问者987994位。如图5.5所示。

图5.5 总访问量与总用户量

5.3.2 统计日访问量与用户量

利用cast、group by与order by函数得出时间段内每一天的日访问量与日用户量。通过函数计算得出如图5.6所示结果。通过结果得出12月2日至3日pv(日访问量)与uv(日用户量)较于11月27日至12月1日有明显增加。经过查找和推测,2017年12月2日淘宝开启了“双十二”活动预热,通过打折满减促销,吸引了很多用户的点击量。

图5.6 日均访问量与日均用户量

5.3.3 统计用户购物详情

创建一个新表user_behavior_count,将每个用户的购物情况加工进去。可以清晰的看到每一位用户的购物详细情况。如图5.7所示

图5.7 部分用户购物情况

5.3.4查看复购率

产生两次或两次以上购买的用户占购买用户的比例。如下图5.8所示。复购率是用户满意度的直接反映。产品或服务能让用户满意,客户自然会愿意再次购买。反之,则需要改进。复购率还能判断市场定位是否准确。 如果目标客群与你的产品或服务不匹配,即使是优质的产品也难以促成复购。通过用户行为分析得出的数据可以看出淘宝平台产品个性化推送服务做得非常成功,超过66%的用户都会再次在该平台上购物,成功的留住了大量用户。

图5.8 用户复购率

5.3.5用户行为转化

在本文中用户行为流程如下图5.9所示。计算分析转化可以促进企业的核心业务的流通,提升盈利的能力。

图5.9 用户行为流程

行为转化(pv):即Page View, 在一段时间内,发生某种“期望行为”的次数,一段时间内,同一ID“产生行为”n次,算n个pv。如图5.10所示。(喜欢+购物车)/点击浏览,转化率为 9.39%,购买/点击浏览转化率为2.25%,说明用户在购买商品前会对同类商品进行浏览比较。通过计算(点击浏览/购买 =89660654/ 2015775),可以得出平均每位顾客再下单前会进行约44次浏览。如图5.11所示。故可以得出结论,顾客在购买商品前会对同类商品进行比较,通过分析用户的购物习惯并进行调优,可以提高转化率并减少用户浏览成本。   

图5.10 各环节数量

图5.11 各环节转化率

5.3.6 一天各时段用户购物行为情况

为了更精准地洞察用户在不同时间段的活跃模式,将九天内的数据进行了整合分析,以探寻用户行为的变化规律。经过详细的对比研究,观察到访问量、用户数量等四项关键指标呈现出相似的波动趋势。如图5.12所示。具体来说,从0点开始,各项指标均呈现显著的下降趋势,至凌晨3点左右达到最低点。随后,从早上5点开始,这些指标逐渐回升,直至上午10点左右进入一个相对平稳的阶段。然而,到了傍晚6点,数据再次呈现出明显的上升趋势,直至晚上9点到10点间达到一天中的峰值。随后,这些指标开始逐渐回落。这种变化模式与通常理解的人类作息习惯相吻合,即在白天时段,人们的活跃度相对较高,而夜晚则相对较低。转化率与白天的情况大致相同但是用户数高峰的傍晚至晚上10点之间,转化率却出现了一定程度的下降。基于这一发现,建议在傍晚6点到晚上10点这一时间段内,通过更获得优惠活动或上架新的商品,从而提高转化率。这样的策略不仅符合用户的作息习惯,还能有效地利用用户高峰时段提升销售业绩。

图5.12每时段用户行为情况

5.3.7 一周用户的活跃分布

截取2017年11月27日(星期一)至2017年12月3日(星期日)一周的用户行为分析数据。如图5.13所示。通过对比各项数据可以得出结论:周末的数据明显优于工作日,在此时间内用户拥有充足的时间,他们更倾向于在电商平台进行浏览与购物,因此为了实现营销活动最大化,平台可以在周末推出更多的推广与促销活动。这样不仅符合用户的购物习惯,更能有效的吸引用户的注意力与提高转化率,最终实现平台的盈利。

图5.13 一周用户行为情况

5.3.8 用户价值分析——RFM分析

R(Recency):从消费时间上对客户打分,R值越大,表示距上次消费越久,打分越低,反之得分越高。

F(Frequency):从消费频率上对用户进行打分。F值越大,表示该时间段内客户频繁消费,反之则表示客户不够活跃得分越低。

本次分析数据集不含金额,因此仅从R、F两个维度进行分析。对有购买行为的用户按照排名进行分组,共划分为5组,

满分为五分,前百分之二十为五分,前百分之二十至百分之四十的用户为四分,前百分之四十至百分之六十的用户为三分,前百分之六十至百分之八十的用户为二分,最后百分之二十的用户为一分,按照此规则分别对用户时间间隔与购买频率排名打分,最后把两个分数相加在一起作为该名用户的最终评分。如图5.14所示。

图5.14 用户价值分析

根据RMF模型的得分对用户进行分类,发现大部分用户都处在需要挽留阶段。淘宝作为国内最大的电子商务平台之一,需要在与其他平台竞争的前提下多策划活动,巩固西游更多客户。同时,提升客户群体的管理效率显得尤为关键,为了实现这一目标,企业需要将其重点转变为培育客户成为具有显著价值的核心客户群。为此,企业可以实施一系列策略,例如定期向客户发送精心编写的内容和提供折扣优惠等措施。在制定策略时,还需要考虑到用户对被认可的需求、对社会地位提升的渴望以及享受优惠待遇的欲望。通过精心设计的文案和优惠券发放计划,企业不仅能够满足这些心理需求,还能够促进客户忠诚度的提升,从而将他们转化为更有价值的长期客户。此外,企业在设计这些策略时应注重文案的吸引力和个性化,确保优惠券的价值感和实用性,以此来强化用户感受到的专属体验和优越感。通过这样的策略,企业能够更好地吸引并保持其重要价值客户,最终推动销售增长和品牌忠诚度的提升。

5.3.9 Top10最受欢迎的商品

在评估商品的受欢迎程度时,可以从两个不同的维度考量:产品的点击率、销售数量如图5.15所示。这两个指标为提供了商品吸引力的不同视角。但是,高点击率的产品并不一定意味着高销量。点击量的增加可能源于多种因素,比如页面布局、广告推广或者用户对产品的初步兴趣。在这些情况下,用户可能只是被吸引过去查看,但并不一定会转化为实际的购买行为。相对而言,高销量的产品更有可能反映了用户的真实需求。这些产品往往是用户在搜索和比较后,确定为自己所需并决定购买的。因此,销量高的商品通常更加准确地反映了市场的真实情况。衡量商品的市场情况,最好同时分析点击量和购买量。如图5.16所示,可以看出在购买率前十的商品中,点击量到购买量的转化率差别巨大。

图5.15 销量最高的Top商品

5.16 购买转化率

根据上面购买量前十的商品,可以大致将商品分为三类:

1.转化率极高(0.6,1],这些目标用户的搜索和点击行为通常表现出明确的目的性。为了验证这一点,电商平台可以通过收集用户的行为数据来构建用户画像,并结合商品的属性进行分析。如果是用户属于明显特征人群,则向该类用户进行个性化推送;如果不属于模型特征人群,则平台应大力推广该商品,使该商品销量更好。

2.转化率一般(0.15,0.6],平台可以对其进行活动策划,可以得到更好的销量。

3.转化率低(0,0.15],该类商品存在一定的问题,拥有前十的高销量转化率却极低。说明该商品通过广告营销或其他社会热点导致商品有了极高的点击率,又或者商品价格偏高导致了商品的购买偏少。总之需要更多的信息来分析此商品存在的问题,以便商家更好的盈利。

5.3.10 Top10最受欢迎的商品种类

通过处理数据,得出了前十畅销的商品类的详情,如图5.17所示。在购买率前十的商品类目中如图5.18所示,分布比较集中,基本上转化率集中在(0,0.2]这个区间,而绝大多数转化率在0.1以内。

图5.17 销量最高的Top商品类

图5.18 商品类转化率

经过分析推算得出结论同一类商品中有很多件商品,用户在进行购买的时候通常会“货比三家”,然而同一类商品用户一般只会购买一件。所以个人对于提高商品类目的转化率,可以考虑优化商品类目所包含的商品对于用户的推荐算法,首先根据用户的购物行为推测其可能感兴趣的商品类目,然后从中选出有比较具有符合该用户属性的商品,这样不仅能够减少用户挑选商品的烦恼在更短的时间内选择出心仪的产品,更能增加用户对平台的体验感,增强其对平台的依赖。

5.4数据同步

(1)编写sqoop执行脚本,用于Hive连接MySQL数据库,进行数据同步。

export

--connect  jdbc:mysql://192.168.52.1:3306/taobao

--username  root

--password  123456

-m  1

--table  user_behavior_count

--columns  user_id,pv,fav,cart,buy

--export-dir  /user/hive/warehouse/bishe.db/user_behavior_count

--input-null-non-string  '\\N'

--input-null-string  '\\N'

(2)利用sqoop执行脚本,将Hive中处理分析的数据导入MySql中,Sqoop底层调用的是MapReduce,MapReduce提供DBInputFormat类和DBOutputFormat类,实现了Hive与MySQL之间数据的导入导出,通过解析传递的参数,Sqoop将参数传递给MapReduce来运行。因为数据迁移过程是没有聚合,所以Sqoop导入导出过程中只有Map,没有Reduce。如图5.19所示。最终实现将Hive中分析出的结果导入Mysql中。

图5.19 sqoop流程图

5.5数据可视化

登录superset,连接本地MySQL。把从Hive导入MySQL数据库中的表导到superset当中,选择适当的图标,对数据进行可视化。

(1)登录superset,在浏览器中访问http://192.168.52.7:8080/并输入正确的账号密码便可登录到superset网页端界面。

(2)选择添加数据源,本系统处理分析后的数据保存于数据库Mysql中的taobao库中,故添加数据源时选择其下面的表进行添加数据源。

(3)选择适合的可视化图形,将库中的信息填写在合适的位置便可进行制图操作。

(4)将制成的表进行排版,形成可视化大屏。如图5.20所示。

图5.20 可视化大屏

第6章 系统测试

本系统运用了黑盒测试的策略来验证其性能。将软件程序视为一个封闭且无法直接访问其内部机制的“黑盒子”。专注于程序与用户交互的界面,即其输入和输出功能,而不深入探索其内部逻辑或代码结构。通过这种方式,在不触及程序内部细节的情况下,对其功能进行全面的检查。

6.1测试环境

名称

配置说明

客户端操作系统

Window11

客户端浏览器

Google Chrome

服务器端操作系统

CentOS 7.0

服务器端数据库系统

SQLyog - 64 bit

客户端硬件

Lenovo XiaoXin LRL8

CPU

I5-13500

内存

16GB

硬盘

512GB

6.2数据处理分析测试

  1. 用户会话行为分析测试

Task1:打开DataGrip选中以天为单位分析处理数据模型代码,点击运行进行数据处理。

预期结果:以天为单位分析处理数据模型正常运行并计算出结果。

测试结果:本数据模型分析处理数据模型能够正常运行。

Task2:打开DataGrip选中以周为单位分析处理数据模型代码,点击运行进行数据处理。

预期结果:以周为单位分析处理数据模型正常运行并计算出结果。

测试结果:本数据模型分析处理数据模型能够正常运行。

Task3:打开DataGrip选中以小时为单位分析处理数据模型代码,点击运行进行数据处理。

预期结果:以小时为单位分析处理数据模型正常运行并计算出结果。

测试结果:本数据模型分析处理数据模型能够正常运行。

结论:用户会话行为分析功能测试通过,能够正常执行。

  1. 用户行为转换分析功能测试

Task1:打开DataGrip选中(fav + cart) /  pv = pv2favcart分析处理数据模型代码,点击运行进行数据处理。

预期结果: pv2favcart分析处理数据模型正常运行并计算出结果。

测试结果:本数据模型分析处理数据模型能够正常运行。

Task2:打开DataGrip选中buy / (fav + cart) = favcart2buy分析处理数据模型代码,点击运行进行数据处理。

预期结果:favcart2buy分析处理数据模型正常运行并计算出结果。

测试结果:本数据模型分析处理数据模型能够正常运行。

Task3:打开DataGrip选中buy / pv = pv2buy分析处理数据模型代码,点击运行进行数据处理。

预期结果:pv2buy分析处理数据模型正常运行并计算出结果。

测试结果:本数据模型分析处理数据模型能够正常运行。

结论:用户行为转换分析功能测试通过,能够正常执行。

  1. 商品/品类热度统计功能测试

Task1:打开DataGrip选中商品热度分析处理数据模型代码,点击运行进行数据处理。

预期结果:商品热度分析处理数据模型正常运行并计算出结果。

测试结果:本数据模型分析处理数据模型能够正常运行。

Task2:打开DataGrip选中商品类目热度分析处理数据模型代码,点击运行进行数据处理。

预期结果:商品类目热度任务数据处理模型成功运行并得出结果。

测试结果:本数据模型分析处理数据模型能够正常运行。

结论:商品/品类热度统计功能测试通过,能够正常执行。

6.3任务处理时间性能测试

在本次系统生产环境中要处理大量数据,而此时如果使用select * from tableName的形式,会对整个表进行扫描,数据量越大效率越低。所以在实际过程中查询数据的时候,最好指定列或者指定分区;如果是按行查询,最好限定行数,例如使用limit或者tablesample(x rows)形式。

同样是对用户行为数据统计表进行查询,查询全部数据用时695ms,对行数进行限制的查询用时574ms。故本系统任务处理时间性能测试通过。

第7章 结束语

在当前电子商务领域迅猛发展的背景下,用户行为数据成为了电商平台运营与管理的关键资源。为了更深入地理解这些海量数据并据此优化策略,本文基于对阿里云天池用户行为数据的探索,进行了大数据技术与电商平台融合的研究。通过处理电商平台用户产生的庞大行为数据,来更好的了解客户的需求与评估产品的市场表现。该系统依赖于Hive、Superset等核心技术的支持以淘宝用户行为数据集为例,详细展示了数据处理的流程,并最终实现了数据的可视化展示。通过系统测试验证了系统能够有效挖掘用户行为背后的深层规律,无论是用户的行为习惯,还是行为转化等关键维度,都能得到准确的反映。这些分析结果对于电商平台来说具有极大的参考价值,不仅能帮助平台调整营销策略,还能显著提升用户体验。目前,该系统主要利用Hive技术进行离线数据的分析。然而,为了进一步提升系统的实用性,本系统在未来计划进一步的优化,使得页面更加的只关正杰。同时,为系统增加实时数据处理模块,使得系统的适用范围更广、可用性更强,为电商平台的运营管理提供更全面、更及时的数据支持。


致谢

时光如白驹过隙,本科大学四年的大学生活就要结束。因为大学生活中的大半时间都是在疫情中度过,所以我更加珍惜我的大学时光。在此我将感谢一路走来曾陪伴过的我的所有人。

首先,我要感谢我的导师余雨萍。您不辞辛苦的帮助指导我完成本科论文,更是在人生道路上为我指明了方向。您治学态度严谨,学术造诣深厚,而且无私地奉献,这些品质都深深地影响了我,让我受益匪浅终身受益。在论文的选题、研究设计、数据分析以及撰写过程中,您都给予了我耐心细致的指导,使我在学术上不断取得进步。

其次,衷心感谢所有参与论文评审的委员会成员。感谢您们为我提出了许多建设性的意见与建议。这些不仅极大地提升了我的论文质量,更让我在学术探究的过程中意识到了个人的短板和不足。。我深感荣幸能够得到您们的指点和认可,这将是我今后人生道路上不断前进的动力。

同时,我也要感谢我的舍友与朋友们。在论文撰写过程中,我们共同探讨问题、交流心得,相互鼓励和支持。你们的陪伴让我感受到了学术研究的乐趣和价值,也让我更加珍惜这段宝贵的校园时光。

此外,我还要感谢学校为我们提供了各种学术上优质的资源。正是这些资源的支持,使我在论文撰写过程中能够顺利地进行文献查阅等工作。

最后,我要再次向所有给予我帮助和支持的人表示衷心的感谢。在未来的人生的道路上,我将继续努力,实现自己的人生价值以回报大家的关爱和期望。


参考文献

[1] 李成华,张新访,金海,向文.MapReduce:新型的分布式并行计算编程模型[J].计算机工程与科学,2011(3): 129-135.

[2] 张谦. 基于Hadoop的用户画像系统的设计与实现[D]. 武汉:华中科技大学,2020.

[3] 于淑云,林姝敏.基于 Hadoop 的大数据用户行为分析系统[J].北京信息科技大学学报(自然科学版),2018(5):65-70.

[4] 赵龙,江荣安.基于Hive的海搜索日志分析系统研究[J].计算机应用研究,2013(11):3343-3345.

[5] 彭稣宇. 基于大数据分析平台的网络数据处理研究[D].东南大学,2017.

[6] Wired. Google remakes online empire with 'colossus'[J]. Association for Computing Machinery,2012.

[7] Rana G, Sahar A, Douglas G.D, et al. A classification of hadoop job schedulers based on performance optimization approaches[J]. Cluster Computing, 2021:1-23.

[8] 王伟.大数据分析RDBMSMapReduce 的竞争与共生漫谈[J].计算机光盘软件与应用,2013(7):55-56.

[9] 潘家腾.基于 Hive 数据仓库的用户行为模型研究 [D]. 北京:北京邮电大学 , 2015.

[10] 杨晓,刘才铭,于军伟,.互联网用户行为分析系统的设计和实现 [J]. 计算机光盘软件与应用 , 2014, 17(20): 273+275.

[11] 秦东旭,徐瑾,吕明,张捷.基于Hadoop的用户行为数据分析系统的设计[J].工业控制计算机,2019(10):137-138.

[12] 滕斌.大数据时代下的智能数据分析技术[J/OL].电子技术与软件工程 2019.

[13] Yazidi A,Azizi M.S, Benlachmi Y, et al. Apache Hadoop-MapReduce on YARN framework latency[J]. Procedia Computer Science, 2021,184:803-808.

[14] 翟金芝.基于大数据的网络用户消费行为分析[J].商业经济研究,2020(24):46-49.

[15] 罗海艳,杨勇,王珏,于海龙.基于云计算的移动用户上网行为分析系统[J].控制工程,2018(2):218-223.

[16] 刘鹏.云计算(第三版)[M].电子工业出版社,2015.

[17] 艾丽蓉,刘云峰.基于 Hive 的智慧城市数据处理技术研究与实现[J].计算机技术与发展,2018(2):9-13.

[18] 翟艳堂. 腾讯大规模 Hadoop 集群时间[J]. 程序员,2014(2):99-103.

[19] 孙康. 基于 Spark 的电商用户行为分析系统的研究[J]. 沈阳:沈阳理工大学,2022.

[20] 陈伟. 基于Hadoop的电商用户行为分析系统设计与实现[J]. 宿州教育学院学报, 2021.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/734237.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

11、鸿蒙学习—UDID获取方法

一、手机的UDID获取方法如下&#xff1a; 1、打开“设置 > 关于手机”&#xff0c;多次点击版本号&#xff0c;打开开发者模式。 2、打开“设置 > 系统和更新”&#xff0c;在最下方找到“开发人员选项”&#xff0c;打开“USB调试”开关。 3、使用PC连接手机后&#…

【单片机】Code Composer Studio Linux版本下载,CCS开发环境

被windows的驱动兼容性搞得烦死了&#xff0c;我直接搞虚拟机用linux版本的ccs尝试一下。 下载&#xff1a; https://www.ti.com/tool/download/CCSTUDIO ubuntu22 虚拟机内&#xff0c;安装一些依赖&#xff1a; 安装libc6-i386库&#xff1a; 运行以下命令来安装libc6-i38…

银河麒麟V10 SP1.1操作系统 离线安装 nginx1.21.5、redis 服务

银河麒麟官网地址&#xff1a;国产操作系统、麒麟操作系统——麒麟软件官方网站 一、查看系统版本 命令&#xff1a;nkvers 我的是 release V10 (SP1)&#xff0c;根据这个版本去官网找对应的rpm包 银河麒麟操作系统的rpm包必须从官方找&#xff0c; 要是随便找个Centos的rp…

SpringBoot配置第三方专业缓存技术jetcache方法缓存方案

jetcache方法缓存 我们可以给每个方法配置缓存方案 JetCache 是一个基于 Java 的缓存库&#xff0c;支持多种缓存方案和缓存策略&#xff0c;主要用于提升应用程序的性能和响应速度。它提供了多种缓存模式和特性&#xff0c;可以根据需求选择合适的缓存方案。 JetCache 的主…

vmware虚拟机安装ubuntu20.04

1.下载Ubuntu 20.04的ISO镜像 Index of /ubuntu-releases/ 2.安装VMware 3.创建新的虚拟机&#xff1a;打开VMware&#xff0c;选择“创建新的虚拟机”或通过文件菜单新建虚拟机。 4.选择典型&#xff0c;然点点击下一步&#xff1a; 5.选择稍后安装操作系统&#xff1a; 6.…

空间复杂度 线性表,顺序表尾插。

各位少年&#xff0c;大家好&#xff0c;我是那一脸阳光&#xff0c;本次分享的主题是时间复杂度和空间复杂度 还有顺序表文章讲解和分享&#xff0c;如有不对可以评论区指导。 时间复杂度例题 // 计算斐波那契递归Fib的时间复杂度&#xff1f; long long Fib(size_t N){if(N…

挑战Midjourney,融合近百个SD大模型的通用模型AlbedoBase XL

在SDXL的通用模型中&#xff0c;DreamShaperXL和juggernautXL这2款大模型一直都深受广大AI绘画者的喜爱&#xff0c;不可否认&#xff0c;这2款通用模型在很多方面表现都相当出色。 今天再给大家介绍一款基于SDXL的通用大模型&#xff1a;AlbedoBase XL&#xff0c;作者的目标…

5.什么是C语言

什么是 C 语言? C语言是一种用于和计算机交流的高级语言, 它既具有高级语言的特点&#xff0c;又具有汇编语言的特点 非常接近自然语言程序的执行效率非常高 C语言是所有编程语言中的经典&#xff0c;很多高级语言都是从C语言中衍生出来的&#xff0c; 例如:C、C#、Object-C、…

帕金森患者饮食指南:科学调养,呵护健康

&#x1f33c;在医学的广阔领域中&#xff0c;帕金森病作为一种慢性神经系统疾病&#xff0c;除了需要专业的医疗治疗外&#xff0c;日常饮食的调养也显得尤为重要。 今天&#xff0c;就为大家带来一份专为帕金森患者打造的饮食建议&#xff0c;希望能为大家的健康调养提供一些…

ArkUI部分案例笔记——padding,space

基础的构建 组件分类&#xff1a; 容器组件&#xff1a;像Column&#xff0c;Row这种组件就是容器组件一般就来控制行和列的就是容器组件 基础组件&#xff1a;Text(文本组件)&#xff0c;像这种用来有一定功能的就是基础组件 注意&#xff1a;一个build只能有一个根容器组件…

小i机器人:总负债5.31亿,员工数量在减少,银行借款在增加,净利润已下降-362.68%

小i机器人:总负债5.31亿,员工数量在减少,银行借款在增加,总收入在增长,净利润已下降-362.68% 来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 目录 一、小i机器人公司介绍 二、小i机器人过去20年的发展历程和取得的成就 三、小i机器人的产品和技术架构 四、小i机器人…

saas产品运营案例 | 联盟营销计划如何帮助企业提高销售额?

在当今数字化时代&#xff0c;SaaS&#xff08;软件即服务&#xff09;产品已成为企业提高效率、降低成本的重要工具。然而&#xff0c;面对激烈的市场竞争&#xff0c;如何有效地推广SaaS产品、提高销售额&#xff0c;成为许多企业面临的挑战。林叔将以ClickFunnels为例&#…

57.SAP MII产品介绍(07)功能详解(06)Workbench-SQLQuery

1.SQLQuery概念 您可以使用SAP Manufacturing Integration and Intelligence&#xff08;SAP MII&#xff09;Workbench中的SQLQuery来创建访问面向SQL的连接器&#xff08;如IDBC连接器&#xff09;的模板。此查询的扩展名为tqsq。 简而言之&#xff0c;SQLQuery就是一段…

mysql中返回日期格式带有T、Java解决返回日期格式带 ‘T‘ 问题、MySQL查询日期为什么带T、java.util.Date()类型为什么有T

文章目录 一、场景描述&#xff1a;Mysql返回日期格式带有T二、解决方法2.1、方法一&#xff1a;通过注解格式化2.2、方法二&#xff1a;通过全局配置2.3、方法三&#xff1a;查询时手动转换时间格式 三、mysql 数据库时间类型数据为什么有T3.1、什么是ISO 8601格式 四、java中…

【Unity】Animator动画倒播,与StartRecording动画录制

一、Animator动画倒播 正常我们修改速度&#xff0c;只需要修改Animator.speed即可&#xff0c;但如果设置为负值&#xff0c;Animator系统会自动将其改为0值。 1.创建动画速度参数 (1)设置动画 我们需要创建表示速度的动画参数Speed&#xff0c;将其付给需要倒播的动画片段…

【React】AntD组件的使用--极客园--02.登录模块

基本结构搭建 实现步骤 在 Login/index.js 中创建登录页面基本结构在 Login 目录中创建 index.scss 文件&#xff0c;指定组件样式将 logo.png 和 login.png 拷贝到 assets 目录中 代码实现 pages/Login/index.js import ./index.scss import { Card, Form, Input, Button }…

vue elementui table给表格中满足条件的每一条记录添加计时器

需求&#xff1a; 在前端给表格中给满足条件的每一条记录增加一个计时器&#xff0c;用于计算工作时长。 1.数据库中存储的有每条记录的作业开始时间&#xff0c;将当前时间和作业开始时间计算一个差值&#xff0c;作为作业时长的初始值&#xff1b; 2.把满足条件的每条记录绑…

手写docker:你先玩转namespace再来吧

哈喽&#xff0c;我是子牙老师。今天咱们聊聊Linux namespace 瓦特&#xff1f;你没听过namespace&#xff1f;那有必要科普一下了&#xff1a;namespace是Linux内核提供的一种软件性质的资源隔离机制。容器化技术&#xff0c;比如docker&#xff0c;就是基于这样的机制实现的…

北方银行 - HDFS 现代化快速案例研究

故事很重要&#xff0c;客户故事是最好的。他们提供令人瞠目结舌的统计数据或克服巨大障碍的那些是获得最佳头条新闻的那些。它们也是最难发表的。我们知道&#xff0c;因为我们将与您分享一些我们正在孜孜不倦地努力出版的内容 - 但现在它们将保持匿名。话虽如此&#xff0c;如…