基于Spark的电商用户行为实时分析可视化系统(Flask-SocketIO)

本文介绍了基于Spark的电商用户行为实时分析可视化系统,利用Flume采集日志,Kafka进行数据传输,Spark进行实时处理,结果存储到Redis,Flask-SocketIO实现数据可视化。系统涵盖了从需求分析到具体实施的全过程,包括Hadoop、Spark、Kafka、Zookeeper等组件的版本配置和集群搭建。

基于Spark的电商用户行为实时分析可视化系统(Flask-SocketIO)

 

项目简介

由于做毕设之前学过大数据,但是一直没有做过一整套的实时数据分析系统,有点遗憾。所以毕业设计就自主选了这一套系统,算是对之前知识进行一次整合运行,也挑战一下自己。
该系统主要对用户行为日志(此项目使用的数据源是数据集,可以根据自己需求,在数据采集时监控网站用户数据存放目录或者用爬虫实时爬取数据的存放目录)进行实时分析可视化。

先放最终系统成果,才有耐心看下面的内容!!!
系统登录页
系统页面

一、业务需求分析

  1. 采集用户行为日志数据;
  2. 实时分析数据(例如实时总订单、男女购物比例、用户各类行为分析、每段时间内最受欢迎的商品品牌、各年龄段购物比例等);
  3. 实时数据结果存储(将需要的结果数据存储到目标数据库);
  4. 数据可视化(将实时分析出的结果数据进行数据可视化);

二、系统流程及架构

登录系统后,通过日志采集模块来采集目标日志数据,将采集到的数据发送给日志传输模块,数据存放于kafka对应的topic中;数据处理模块创建与kafka的连接,消费对应topic中的数据,对数据进行预处理之后再进行处理分析,处理所得的结果数据存放进对应各topic中,以便于数据可视化,同时也将结果数据存入Redis数据库,便于后期其他功能分析使用。最后通过可视化模块,后台使用Flask作为Web框架,前端使用H5+Echarts,将结果数据进行可视化。系统流程图如图所示:
系统流程图
系统相关技术和组件:
Hadoop、Spark、Flume、Kafka、Zookeeper、Flask、SocketIO、Echarts、Scala、Python。项目架构如图所示:
项目架构图

三、系统技术版本以及相关部署配置

此项目由于计算机硬件配置较低,所以采用Hadoop伪分布式集群(部署在虚拟机的linux系统上用于存放源数据和程序检查点)和单机Spark集群(部署在本地windows上)
1.Hadoop2.9.2
伪分布式搭建参考(此项目) https://blog.youkuaiyun.com/xujingran/article/details/83898140
全分布式搭建参考 https://blog.youkuaiyun.com/u011254180/article/details/77922331
2.Flume1.9.0
搭建参考 https://blog.youkuaiyun.com/caodaoxi/article/details/8885645
Flume作为kafka的sink的配置文件:
在这里插入图片描述
3.Kafka2.4.0
伪分布式搭建参考(此) https://blog.youkuaiyun.com/weixin_42207486/article/details/80635246
全分布式搭建参考 https://blog.youkuaiyun.com/qq_39211575/article/details/103677016
5.Spark2.4.4
Windows单机搭建参考(此) https://blog.youkuaiyun.com/Python_Big_love/article/details/81878142
6.Zookeeper3.5.6
伪分布式搭建参考(此项目)https://blog.youkuaiyun.com/MISSRIVEN/article/details/81394595
全分布式搭建参考 https://blog.youkuaiyun.com/sjhuangx/article/details/81155501
7.flask(系统Web框架)
安装参考 https://blog.youkuaiyun.com/cckavin/article/details/90766924

注意!!!
在本地(windows)Spark集群中编写SparkStreaming程序的时候,引入maven配置信息中(此项目依赖如下),scala、kafka、Spark-Streaming-kafka的版本都需要一致,高版本低版本都不行。
本系统使用scala版本为2.11、spark版本为2.4.4(此版本也有scala2.12编写版)、kafka版本为2.4.0(spark-streaming-kafka0.8最高支持kafka2.3.0以下版本,所以此项目使用0.10版本)

基于Spark电商用户行为可视化分析系统旨在为电商企业提供高效、智能的数据分析服务,以电商平台的商品销量和用户行为数据为输入,采用Spark大数据处理框架进行数据处理和分析。该系统实现了商品销量数据的实时采集、存储、处理和展示,以及用户行为数据的预处理、特征提取和模型训练,为企业带来显著业务价值[^1]。 以某电商平台为例,该系统以Spring Boot架构技术为基础,采用Java语言和MySQL数据库进行开发设计。通过对电商用户行为分析业务流程的分析,明确其功能性和非功能性需求,设计出包含个人管理员和用户两部分的系统。个人用户可通过手机接收系统公告等信息,管理员则可通过后台管理员界面管理用户信息、发布系统公告,让用户及时了解电商信息。借助该系统电商平台能快速处理海量数据,从多个维度对用户行为进行分析和挖掘,进而更好地了解用户的购买偏好、浏览习惯等信息,为用户提供更个性化的服务和推荐商品,还能发现潜在商机和市场趋势,为企业决策提供有力支持[^2]。 还有基于Python的电商用户行为可视化分析系统,在经济可行性方面,该网站基于Django/Flask和MySQL开发,使用开源技术平台,经济成本较低,用户可直接点击观看,无需更多经济付出;技术可行性上,系统基于Python和JS,易于维护,基于浏览器操作具有跨平台优势,Django/Flask框架成熟,构建速度快,便于快速开发更新,MySQL数据库容易上手且应用广泛;操作可行性方面,系统基于HTML,直观简易,用户点击即可操作,十分方便简洁;从社会因素分析,该系统为解决用户观影“痛点”而设计,操作简化,线上观影市场广泛,符合广大用户实际需求[^3]。 ```python # 示例代码,模拟数据处理 import pyspark from pyspark.sql import SparkSession # 创建SparkSession spark = SparkSession.builder \ .appName("EcommerceUserBehaviorAnalysis") \ .getOrCreate() # 读取用户行为数据 data = spark.read.csv("user_behavior_data.csv", header=True, inferSchema=True) # 进行简单的数据处理和分析 # 统计用户的购买次数 purchase_count = data.filter(data["behavior"] == "purchase").groupBy("user_id").count() # 展示结果 purchase_count.show() # 停止SparkSession spark.stop() ```
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值