热点推荐

查看: 9307|回复: 29

Spark 2.0大型项目实战:移动电商App交互式数据分析平台

[复制链接]

1418

主题

1532

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
39191
发表于 2018-5-21 07:28:44 | 显示全部楼层 |阅读模式
Spark 2.0大型项目实战:移动电商App交互式数据分析平台


开发工具: Eclipse9 v1 ?/ J5 v, ]- Q6 A" S
Linux:CentOS 6.41 \. ~5 w0 p) N& ~4 D& {
Spark: 1.5.1
Hadoop: hadoop-2.5.0-cdh5.3.6
Hive: hive-0.13.1-cdh5.3.6
ZooKeeper: zookeeper-3.4.5-cdh5.3.68 O% g: ~! P- J: v5 f/ p! Z3 S
Kafka: 2.9.2-0.8.1     
其他工具:flume-ng-1.5.0-cdh5.3.6、SecureCRT、WinSCP、VirtualBox等

/ r0 l( w. E' I/ {1 a( C
2.内容简介4 S7 ~' n, y+ K/ Q, a
项目主要采用目前大数据领域流行、热门的技术——Spark,具有普通项目无法比拟的技术前瞻性与尖端性。本项目使用了Spark技术生态栈中常用的三个技术框架,Spark Core、Spark SQL和Spark Streaming,进行离线计算和实时计算业务模块的开发。实现了包括用户访问session分析、页面单跳转化率统计、热门商品离线统计、广告点击流量实时统计4个业务模块。
项目中所有的业务功能模块都是直接从实际企业项目中抽取出来的,业务复杂度绝对没有任何缩水,只是为了更好的贴近大数据实战课程的需要,进行了一定程度上的技术整合和业务整合。该项目的真实性、业务复杂性以及实战型,绝对不是市面上现有的仅几个课时的Demo级的大数据项目可以比拟的。

通过合理的将实际业务模块进行技术整合与改造,该项目完全涵盖了Spark Core、Spark SQL和Spark Streaming这三个技术框架中几乎所有的功能点、知识点以及性能优化点。仅一个项目,即可全面掌握Spark技术在实际项目中如何实现各种类型的业务需求!在项目中,重点讲解了实际企业项目中积累下来的宝贵的性能调优、troubleshooting以及数据倾斜解决方案等知识和技术,是任何其他视频课程以及书本中都没有包含的珍贵经验积累!同时以企业级大数据项目开发流程贯穿每个业务模块的讲解,涵盖了项目开发全流程,包括需求分析、方案设计、数据设计、编码实现、测试以及性能调优等环节,全面还原真实大数据项目的开发流程。该项目的整体商业价值绝对在百万元以上!
/ P& V% K  U$ z( I) o


本项目主要讲解了一套应用于互联网电商企业中,使用Java、Spark等技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为、页面跳转行为、购物行为、广告点击行为等)进行复杂的分析。用统计分析出来的数据,辅助公司中的PM(产品经理)、数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务。最终达到用大数据技术来帮助提升公司的业绩、营业额以及市场占有率的目标。
: x- s. L: i$ \. d! I  f: q

3.目录1 ~* j* _( Y) Q1 W3 g! f3 ~9 s! i
一、大数据集群搭建
第1讲-课程介绍
第2讲-课程环境搭建:CentOS 6.4集群搭建
第3讲-课程环境搭建:hadoop-2.5.0-cdh5.3.6集群搭建 ( m5 g8 a& _  B  G3 F9 [
第4讲-课程环境搭建:hive-0.13.1-cdh5.3.6安装 ) u$ b8 l& X- b* E! e
第5讲-课程环境搭建:zookeeper-3.4.5-cdh5.3.6集群搭建
第6讲-课程环境搭建:kafka_2.9.2-0.8.1集群搭建 ( C* M2 _& M% C
第7讲-课程环境搭建:flume-ng-1.5.0-cdh5.3.6安装 9 V8 _8 o4 o) Q0 R& `
第8讲-课程环境搭建:离线日志采集流程介绍 6 `2 Q" N- B# P1 s7 [0 a. @
第9讲-课程环境搭建:实时数据采集流程介绍 ( J5 q; Z9 n3 m# z
第10讲-课程环境搭建:Spark 1.5.1客户端安装以及基于YARN的提交模式
二、用户访问session分析: 8 A; X' h* P) f8 C. |6 {
第11讲-用户访问session分析:模块介绍 . B* d1 n8 z. r( S5 n# n$ f
第12讲-用户访问session分析:基础数据结构以及大数据平台架构介绍 ) `! T% l- s# Q: {- G: K. T
第13讲-用户访问session分析:需求分析 ! K$ c2 \/ x! Q/ }+ c8 Q) t5 A
第14讲-用户访问session分析:技术方案设计
第15讲-用户访问session分析:数据表设计 7 d' `" p! B3 O+ z8 O1 b# g+ s
第16讲-用户访问session分析:Eclipse工程搭建以及工具类说明
第17讲-用户访问session分析:开发配置管理组件 7 K: Y- K- k$ _- ]4 O$ m
第18讲-用户访问session分析:JDBC原理介绍以及增删改查示范
第19讲-用户访问session分析:数据库连接池原理 # e. ]" r, n$ _7 `( S
第20讲-用户访问session分析:单例设计模式 / h2 f# x, K  W
第21讲-用户访问session分析:内部类以及匿名内部类
第22讲-用户访问session分析:开发JDBC辅助组件(上) + G* ]: S2 J0 n" X0 c( W. r
第23讲-用户访问session分析:开发JDBC辅助组件(下)
第24讲-用户访问session分析:JavaBean概念讲解
第25讲-用户访问session分析:DAO模式讲解以及TaskDAO开发
第26讲-用户访问session分析:工厂模式讲解以及DAOFactory开发 ) k- K  T1 T$ v. D
第27讲-用户访问session分析:JSON数据格式讲解以及fastjson介绍
第28讲-用户访问session分析:Spark上下文构建以及模拟数据生成 # [+ I3 Z7 A0 |7 o' M5 U
第29讲-用户访问session分析:按session粒度进行数据聚合 $ V! x9 l. ?3 E8 B2 u2 z+ N3 r9 u
第30讲-用户访问session分析:按筛选参数对session粒度聚合数据进行过滤
第31讲-用户访问session分析:session聚合统计之自定义Accumulator
第32讲-用户访问session分析:session聚合统计之重构实现思路与重构session聚合 0 {- U/ `! e# H% {% C$ {0 `6 m
第33讲-用户访问session分析:session聚合统计之重构过滤进行统计 , J  W) h. Q1 V
第34讲-用户访问session分析:session聚合统计之计算统计结果并写入MySQL % g7 w) m- s! ~, ^: C* _
第35讲-用户访问session分析:session聚合统计之本地测试
第36讲-用户访问session分析:session聚合统计之使用Scala实现自定义Accumulator . w+ O& a% s7 c7 ^) D0 A8 d1 H
第37讲-用户访问session分析:session随机抽取之实现思路分析 + }6 x' {7 i9 X' \/ t% t5 @
第38讲-用户访问session分析:session随机抽取之计算每天每小时session数量 # L+ E6 W$ d& F, t/ {5 ], R
第39讲-用户访问session分析:session随机抽取之按时间比例随机抽取算法实现 6 c. w+ W! \) D5 g8 F# e- w9 W5 X
第40讲-用户访问session分析:session随机抽取之根据随机索引进行抽取
第41讲-用户访问session分析:session随机抽取之获取抽取session的明细数据
第42讲-用户访问session分析:session随机抽取之本地测试 1 ~& W- `" E1 W  {
第43讲-用户访问session分析:top10热门品类之需求回顾以及实现思路分析 / |! _. G$ ?8 _- S
第44讲-用户访问session分析:top10热门品类之获取session访问过的所有品类
第45讲-用户访问session分析:top10热门品类之计算各品类点击、下单和支付的次数
第46讲-用户访问session分析:top10热门品类之join品类与点击下单支付次数 9 i" J3 G  V) t# w- h! I  I
第47讲-用户访问session分析:top10热门品类之自定义二次排序key
第48讲-用户访问session分析:top10热门品类之进行二次排序
第49讲-用户访问session分析:top10热门品类之获取top10品类并写入MySQL
第50讲-用户访问session分析:top10热门品类之本地测试
第51讲-用户访问session分析:top10热门品类之使用Scala实现二次排序 & e$ N. H6 a9 w( j; L2 `
第52讲-用户访问session分析:top10活跃session之开发准备以及top10品类RDD生成
第53讲-用户访问session分析:top10活跃session之计算top10品类被各sessoin点击的次数 & S" N# P& [& e$ X* I8 Q
第54讲-用户访问session分析:top10活跃session之分组取TopN算法获取top10活跃session
第55讲-用户访问session分析:top10活跃session之本地测试以及阶段总结 4 _9 T( h3 a; M. l- }( t
三、企业级性能调优、troubleshooting经验与数据倾斜解决方案:
第56讲-用户访问session分析:性能调优之在实际项目中分配更多资源
第57讲-用户访问session分析:性能调优之在实际项目中调节并行度 7 t# j# U' L' V( ~& }
第58讲-用户访问session分析:性能调优之在实际项目中重构RDD架构以及RDD持久化   I5 Y  G# p2 v- `* d) y. N
第59讲-用户访问session分析:性能调优之在实际项目中广播大变量 6 Q* L; L* A! C
第60讲-用户访问session分析:性能调优之在实际项目中使用Kryo序列化
第61讲-用户访问session分析:性能调优之在实际项目中使用fastutil优化数据格式
第62讲-用户访问session分析:性能调优之在实际项目中调节数据本地化等待时长 ( y# W: q9 d+ R) `" c8 {$ b7 `$ y
第63讲-用户访问session分析:JVM调优之原理概述以及降低cache操作的内存占比
第64讲-用户访问session分析:JVM调优之调节executor堆外内存与连接等待时长
第65讲-用户访问session分析:Shuffle调优之原理概述 ! y4 O/ b( T* T5 X$ ^4 d8 U& M& M+ |
第66讲-用户访问session分析:Shuffle调优之合并map端输出文件
第67讲-用户访问session分析:Shuffle调优之调节map端内存缓冲与reduce端内存占比
第68讲-用户访问session分析:Shuffle调优之HashShuffleManager与SortShuffleManager
第69讲-用户访问session分析:算子调优之MapPartitions提升Map类操作性能
第70讲-用户访问session分析:算子调优之filter过后使用coalesce减少分区数量 9 V4 Q  Q' r; a" b% b- I
第71讲-用户访问session分析:算子调优之使用foreachPartition优化写数据库性能
第72讲-用户访问session分析:算子调优之使用repartition解决Spark SQL低并行度的性能问题
第73讲-用户访问session分析:算子调优之reduceByKey本地聚合介绍 ; j$ \* q/ Z" G
第74讲-用户访问session分析:troubleshooting之控制shuffle reduce端缓冲大小以避免OOM
第75讲-用户访问session分析:troubleshooting之解决JVM GC导致的shuffle文件拉取失败
第76讲-用户访问session分析:troubleshooting之解决YARN队列资源不足导致的application直接失败 # Q9 E$ Q. U" ?0 @$ y9 m* X
第77讲-用户访问session分析:troubleshooting之解决各种序列化导致的报错 $ A# F* g. t6 `
第78讲-用户访问session分析:troubleshooting之解决算子函数返回NULL导致的问题 ) Y6 [$ L# g: H; |3 E
第79讲-用户访问session分析:troubleshooting之解决yarn-client模式导致的网卡流量激增问题 , _8 b$ n( P8 R4 `5 P9 P
第80讲-用户访问session分析:troubleshooting之解决yarn-cluster模式的JVM栈内存溢出问题
第81讲-用户访问session分析:troubleshooting之错误的持久化方式以及checkpoint的使用 ' l) I. R1 k) H; i) s) R0 h6 c
第82讲-用户访问session分析:数据倾斜解决方案之原理以及现象分析
第83讲-用户访问session分析:数据倾斜解决方案之聚合源数据以及过滤导致倾斜的key 7 S7 J5 U, `  `, U. K
第84讲-用户访问session分析:数据倾斜解决方案之提高shuffle操作reduce并行度 9 R' O- V* [/ Q6 @
第85讲-用户访问session分析:数据倾斜解决方案之使用随机key实现双重聚合
第86讲-用户访问session分析:数据倾斜解决方案之将reduce join转换为map join / W- Z6 o; u% @; E$ Q1 G8 E/ L
第87讲-用户访问session分析:数据倾斜解决方案之sample采样倾斜key单独进行join
第88讲-用户访问session分析:数据倾斜解决方案之使用随机数以及扩容表进行join
四、页面单跳转化率统计:
第89讲-页面单跳转化率:模块介绍
第90讲-页面单跳转化率:需求分析、技术方案设计、数据表设计 4 F! l: x2 `- H" n  M& {/ P
第91讲-页面单跳转化率:编写基础代码 0 _2 k4 ?5 J5 o0 S
第92讲-页面单跳转化率:页面切片生成以及页面流匹配算法实现
第93讲-页面单跳转化率:计算页面流起始页面的pv
第94讲-页面单跳转化率:计算页面切片的转化率 2 j' P  ~! @5 q( t1 \& \% N8 @
第95讲-页面单跳转化率:将页面切片转化率写入MySQL
第96讲-页面单跳转化率:本地测试
第97讲-页面单跳转化率:生产环境测试 . O5 y& @) D+ c( S8 o/ g
第98讲-用户访问session分析:生产环境测试 ) ^% H+ n' h. c* a
五、各区域热门商品统计:
第99讲-各区域热门商品统计:模块介绍
第100讲-各区域热门商品统计:需求分析、技术方案设计以及数据设计
第101讲-各区域热门商品统计:查询用户指定日期范围内的点击行为数据 5 f# Q% F5 H# o" I7 L2 B4 J
第102讲-各区域热门商品统计:异构数据源之从MySQL中查询城市数据 ; Z; y* M1 M- O6 o2 {8 V- }
第103讲-各区域热门商品统计:关联城市信息以及RDD转换为DataFrame后注册临时表 $ Q6 Z9 b1 t* [9 O$ v
第104讲-各区域热门商品统计:开发自定义UDAF聚合函数之group_concat_distinct()
第105讲-各区域热门商品统计:查询各区域各商品的点击次数并拼接城市列表 / F* X. e) J& _5 {( {' N- S
第106讲-各区域热门商品统计:关联商品信息并使用自定义get_json_object函数和内置if函数标记经营类型 ; M9 W. c2 D  |
第106讲-各区域热门商品统计:使用开窗函数统计各区域的top3热门商品
第107讲-各区域热门商品统计:使用内置case when函数给各个区域打上级别标记 + G$ X; ~8 s1 Q: O- t% V
第108讲-各区域热门商品统计:将结果数据写入MySQL中
第109讲-各区域热门商品统计:Spark SQL数据倾斜解决方案 ; U7 {# u! {# Z7 ^
第110讲-各区域热门商品统计:生产环境测试 3 \2 d' O& u3 X" h1 F- M7 J
六、广告点击流量实时统计:
第111讲-广告点击流量实时统计:需求分析、技术方案设计以及数据设计 $ ?1 g! Q! \5 ^; q& o4 }
第112讲-广告点击流量实时统计:为动态黑名单实时计算每天各用户对各广告的点击次数   I8 l, u) L4 x% s
第113讲-广告点击流量实时统计:使用高性能方式将实时计算结果写入MySQL中 : J" c5 u$ ]7 P5 _
第114讲-广告点击流量实时统计:过滤出每个batch中的黑名单用户以生成动态黑名单 / i/ f, ]* b: ]; i
第115讲-广告点击流量实时统计:基于动态黑名单进行点击行为过滤
第116讲-广告点击流量实时统计:计算每天各省各城市各广告的点击量
第117讲-广告点击流量实时统计:计算每天各省的top3热门广告
第118讲-广告点击流量实时统计:计算每天各广告最近1小时滑动窗口内的点击趋势 ; t* b; h0 }! o5 {3 h8 b
第119讲-广告点击流量实时统计:实现实时计算程序的HA高可用性 3 S2 {, I. N/ u' Q& @1 h$ H, G
第120讲-广告点击流量实时统计:对实时计算程序进行性能调优
第121讲-广告点击流量实时统计:生产环境测试 . x0 I$ s; J! K$ }, Z
第122讲-课程总结:都学到了什么? # W, d# o' Q- b6 ]
新升级增加课程大纲: " r$ N1 i# a- r8 n/ }6 V0 K1 b" b
第123讲-(赠送)Spark 2.0-新特性介绍
第124讲-(赠送)Spark 2.0-新特性介绍-易用性:标准化SQL支持以及更合理的API 0 f) C8 r- c$ V1 n
第125讲-(赠送)Spark 2.0-新特性介绍-高性能:让Spark作为编译器来运行
第126讲-(赠送)Spark 2.0-新特性介绍-智能化:Structured Streaming介绍
第127讲-(赠送)Spark 2.0-新特性介绍-Spark 1.x的Volcano Iterator Model技术缺陷分析 % j& h! \" |& [9 ]& J
第128讲-(赠送)Spark 2.0-新特性介绍-whole-stage code generation技术和vectorization技术 3 _$ k6 O4 k: k3 T) W  x! \
第129讲-(赠送)Spark 2.0-Spark 2.x与1.x对比以及分析、学习建议以及使用建议
第130讲-(赠送)Spark 2.0-课程环境搭建:虚拟机、CentOS、Hadoop、Spark等
第131讲-(赠送)Spark 2.0-开发环境搭建:Eclipse+Maven+Scala+Spark
第132讲-基于Spark 2.0的用户活跃度分析:模块介绍以及交互式用户行为分析系统的解释 5 K* {. s' H1 G- O* A
第133讲-基于Spark 2.0的用户活跃度分析:统计指定时间内访问次数最多的10个用户 : x; ?+ C, {( {& A9 c
第134讲-基于Spark 2.0的用户活跃度分析:统计指定时间内购买金额最多的10个用户 * O2 H& `, U2 c- X5 c
第135讲-基于Spark 2.0的用户活跃度分析:统计最近一个周期相比上一个周期访问次数增长最多的10个用户 " \( H7 \* @% H/ v, ~/ M2 D
第136讲-基于Spark 2.0的用户活跃度分析:统计最近一个周期相比上一个周期购买金额增长最多的10个用户
第137讲-基于Spark 2.0的用户活跃度分析:统计指定注册时间范围内头7天访问次数最高的10个用户 6 ]* b$ }4 J: r3 P" A. C2 k
第138讲-基于Spark 2.0的用户活跃度分析:统计指定注册时间范围内头7天购买金额最高的10个用户

下载地址回复可见:
游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报

0

主题

109

帖子

436

积分

永久VIP会员

Rank: 3Rank: 3

积分
436
发表于 2018-5-21 09:20:26 | 显示全部楼层
spark可是多看看
回复

使用道具 举报

0

主题

138

帖子

828

积分

永久VIP会员

Rank: 3Rank: 3

积分
828
发表于 2018-5-21 09:59:38 | 显示全部楼层
Spark 2.0大型项目实战
回复

使用道具 举报

0

主题

53

帖子

205

积分

Lv1码农小白

Rank: 1

积分
205
发表于 2018-5-21 10:49:53 | 显示全部楼层
xiexiefenxiang
回复

使用道具 举报

0

主题

399

帖子

1369

积分

永久VIP会员

Rank: 3Rank: 3

积分
1369
发表于 2018-5-21 12:22:54 | 显示全部楼层
Spark 2.0大型项目实战:移动电商App交互式数据
回复

使用道具 举报

3

主题

297

帖子

983

积分

永久VIP会员

Rank: 3Rank: 3

积分
983
发表于 2018-5-21 15:20:20 | 显示全部楼层
感谢分享~~~
回复

使用道具 举报

0

主题

26

帖子

372

积分

Lv1码农小白

Rank: 1

积分
372
发表于 2018-5-21 20:33:10 | 显示全部楼层
这个厉害了
回复

使用道具 举报

0

主题

137

帖子

364

积分

Lv1码农小白

Rank: 1

积分
364
发表于 2018-5-21 20:57:06 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

221

帖子

613

积分

永久VIP会员

Rank: 3Rank: 3

积分
613
发表于 2018-5-21 22:34:24 | 显示全部楼层
spark学习
回复

使用道具 举报

0

主题

47

帖子

324

积分

Lv1码农小白

Rank: 1

积分
324
发表于 2018-5-21 23:17:59 | 显示全部楼层
程序员的学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表