电商分析平台
该项目是我根据尚硅谷大数据电商分析平台视频做的笔记,总共分成了大概十个需求,每个需求我都用一篇文章来解析
需求四:Top10热门品类的Top10活跃Session统计
课程简介
本课程是一套完整的企业级电商大数据分析系统,在当下最为热门的Spark生态体系基础上构建企业级数据分析平台,本系统包括离线分析系统与实时分析系统,技术栈涵盖Spark Core,Spark SQL,Spark Streaming与Spark性能调优,并在课程中穿插Spark内核原理与面试要点,能够让学员在实战中全面掌握Spark生态体系的核心技术框架。 本课程内容丰富,所有需求均来自于企业内部,对于每一个具体需求,讲师全部采用文字与图片相结合的讲解方式,从零实现每一个需求代码并对代码进行逐行解析,让学员知其然并知其所以然,通过本课程,能够让你对Spark技术框架的理解达到新的高度。
如何学习?
-
到github下载源码(顺便给个start噢!) 地址:spark-shopAnalyze
-
根据目录中第一篇文章,理解commons模块和mock模块的作用,并跟着文章创建一个maven工程!!!这个是很重要的,
-
根据目录中第二篇文章,理解需求的大概内容,
-
跟着目录顺序,理解每个需求的大致内容,然后一定要自己手打一遍
-
每做完一个需求,总结该需求所学
-
遇到不会的算子自查百度
所用技术框架
- spark(spark-sql,spark-streaming-spark-sql)
- hive
- kafka
- mysql
- hadoop-hdfs
所需环境
- hadoop
本人是利用virtualBox搭建了hadoop的完全分布式环境如果你还没有hadoop环境,可以参考下面两篇文章:
【超详细】最新Windows下安装Virtual Box后安装CentOS7并设置双网卡实现宿主机与虚拟机互相访问 【超详细】最新VirtualBox+CentOS7+Hadoop2.8.5手把手搭建完全分布式Hadoop集群(从小白逐步进阶)
- IDEA scala,spark开发环境
- sparkStreaming与kafka的整合
主要功能
主要分为离线统计和实时统计两部分,共分十个需求,每个需求一篇文章进行详解,保证能看的懂
你能学到什么?
- 整合hadoop-hdfs,kafka,spark,spark-sql,spark-streaming,hive等大数据常用框架,对所学知识起到梳理作用
- 对spark的各个算子,以及spark-sql,spark-streaming深入理解.这个教程主要的核心框架就是spark
- 知道常见的大数据计算模式,懂得如何对计算需求进行分析,逆推,并且做到活学活用
项目目录:
commons主要用于一些配置读取,对象连接池获取,代码规范等
mock模块
- mock模块主要用于模拟数据的获取,
- MockDataGenerate用于产生离线的数据,你可以选择保存到hadoop中,亦或者保存到hive中.如果你还没学过hive,那就保存到hadoop
- MockRealTimeData用于产生实时数据,并通过kafka将数据发送到sparkStreaming,以便统计实时的数据
- sesion模块是离线数据统计的模块
- 其中sessionStat是主函数所在处
- server目录下的各个server是各个需求的代码处,会通过主函数sessionStat进行引用
- sessionAccumulator是自定义的累加器
- SortKey是自定义排序器
adverStat模块
- advertStat是主函数所在
- 因为实时部分的需求是上下相互关联的,所以都在一个主函数中进行调用
- jdbcHelper,可视为java中的dao层