Spark 实时电商数据分析可视化系统是一个经典的大数据应用项目,技术栈主要有 Flume、Kafka、Spark Streaming、Flask 等,帮助大家了解和运用一些当前热门的大数据处理组件来亲自动手搭建一套大数据处理平台框架和熟悉大数据项目的基础开发流程。
本实验将带领大家通过实验楼平台所提供的线上环境实现项目前期的数据采集与传输模块,以此对 Flume 和 Kafka 这两个组件在项目中的应用有一定的了解。
为分布式应用提供支持的一种协调分布式服务,项目中主要用于管理 Kafka。除此之外还可提供统一配置管理、域名集中访问、分布式锁和集群管理等服务。
一种日志采集系统,具备高可用、高可靠和分布式等优点,可定制各类数据发送方,用于数据的收集;传输过程中,可对数据进行简单处理,并可定制数据接收方,具备事务性,只有当数据被消费之后才会被移除,项目中接收方定制为 Kafka。
在使用 Flume 的时候,可编写自定义的过滤器进行初次的数据清洗,减少后期 ETL 的压力,但是此项目用的数据集较为简单,仅需后期简单清洗即可,如果对这方面感兴趣的同学们可以去自行学习后,将过滤器加进此项目中测试。
一种高性能分布式消息队列系统组件,具有数据持久化、多副本备份、横向扩展和处理数据量大等特点。Kafka 需要部署于 Zookeeper 同步服务上,用于实时流式数据分析。项目中用作存放 Flume 采集的数据。Kafka 中也存在拦截器机制,可对传入的消息进行拦截和修改。
源数据为用户行为日志数据集中截取的 10w 条记录,日志字段定义如下表所示:
下载 test.csv 测试数据,考虑到运行环境内存,数据量不是很大,如果使用自己机器进行实现,可以去网络上找一份比较大数据量的数据集。
cd /home/shiyanlou/Desktop
# 测试数据拉取
wget https://labfile.oss.aliyuncs.com/courses/2629/test.csv
数据具体格式如下图所示,字段排列顺序按上表。
结合提供的 Spark 开发环境,开启 Flume 采集端后,Kafka 的控制台消费者能够不断的消费 Topic 中的数据,在命令窗口中进行显示。
以上内容来自课程《Spark 实时电商数据分析及可视化》,通过课程可以学到:
点击了解更多,可学习完整课程哦!前二章免费试学!
本文作者:yuneuseo 网址:http://www.yuneu.com/post/337.html发布于 6个月前 ( 09-04 )
文章转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...