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

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

项目简介

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

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

一、业务需求分析

  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.csdn.net/xujingran/article/details/83898140
全分布式搭建参考 https://blog.csdn.net/u011254180/article/details/77922331
2.Flume1.9.0
搭建参考 https://blog.csdn.net/caodaoxi/article/details/8885645
Flume作为kafka的sink的配置文件:
在这里插入图片描述
3.Kafka2.4.0

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于Spark商销售数据分析可以通过以下步骤实现: 1. 数据采集:使用Flume采集商销售数据,并将数据传输到Kafka中。 2. 数据处理:使用Spark Streaming对Kafka中的数据进行实时处理和分析。 3. 数据存储:将处理后的数据存储到HDFS或者其他分布式存储系统中。 4. 数据可:使用Flask等Web框架将处理后的数据进行可展示。 下面是一个简单的代码示例,用于从Kafka中读取数据并进行实时处理: ```python from pyspark.streaming.kafka import KafkaUtils from pyspark.streaming import StreamingContext ssc = StreamingContext(sparkContext, 10) # 创建StreamingContext对象,每10秒处理一次数据 kafkaParams = {"metadata.broker.list": "localhost:9092"} # Kafka连接参数 topics = ["sales_data"] # Kafka主题 # 从Kafka中读取数据 kafkaStream = KafkaUtils.createDirectStream(ssc, topics, kafkaParams) # 对数据进行处理 salesData = kafkaStream.map(lambda x: x[1]) # 获取消息内容 salesData = salesData.flatMap(lambda x: x.split(",")) # 将消息内容按逗号分隔 salesData = salesData.map(lambda x: (x.split(":")[0], int(x.split(":")[1]))) # 将数据转换为(key, value)格式 salesData = salesData.reduceByKey(lambda x, y: x + y) # 对相同key的value进行累加 # 将处理后的数据存储到HDFS中 salesData.saveAsTextFiles("hdfs://localhost:9000/user/sales_data") ssc.start() # 启动StreamingContext ssc.awaitTermination() # 等待处理结束 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值