课程受众
大数据开发工程师、数仓工程师(希望提升自己的coding能力的)
不甘心只做一个SQL Boy,想要去更大的平台,更高的发展空间
学习门槛
熟悉Scala语言、对Spark有一定的使用经验
涉及内容
Scala、Netty、NIO、多线程、分布式原理、设计模式等
涉及内容
提升代码阅读能力同时大大提升自己的编码能力、螺旋式教学方式逢山开路,遇水搭桥,事先会铺垫一些要用的的知识点,通过这些知识点,自己动手编写程序,然后在回过头阅读Spark的源码
涉及内容
- 熟练阅读Spark的源码、深入掌握Spark内核原理、自己动手写一个简化版的Spark
- 有能力参与Spark二次开发、甚至参与Spark社区贡献代码
- 有潜力成为Spark技术领域小能手、小专家
项目试听视频
课程视频
课程视频(共分成14大模块),章节目录如下:
1.1 SparkRPC简介
1.2 SparkRPC入门案例
1.3 实现Master和Worker相互通信
1.4 完善Master和Worker通信案例
1.5 Netty简介和入门案例
1.6 Netty的Handler的定义
1.7 Netty的Pipeline中的Handler执行顺序
1.8 SparkRPC原理和工作流行介绍
1.9 定义RpcEndpoint的RpcEndpointRef
1.10 实现NettyRpcEnvFactory和NettyRpcEnv
1.11 创建Dispatcher和TransportServer
1.12 实现TransportServer并将服务启动
1.13 实现NettyRpcEndpointRef
1.14 将RpcEndpoint和RpcEndpointRef进行绑定
1.15 实现Inbox和MessageLoop
1.16 创建TransportClient
1.17 实现OutBox
1.18 发送异步消息和同步消息
2.1手写SparkContext
2.2手写RDD
2.3 手写NarrowDependency
2.4 手写MapPartitionsRDD
2.5 手写ShuffledRDD
2.6 手写PairRDDFunctions
2.7 手写HashPartitioner
2.8 手写Aggregator
2.9 手写ShuffleDependency
2.10 手写DAGScheduler
2.11 手写ShuffleMapStage
2.12 手写ResultStage
2.13 手写ShuffleMapTask
2.14 手写ResultTask
2.15 手写TaskRunner
2.16 手写TaskScheduler
2.17 手写SchedulerBackend
2.18 手写ShuffleManager
2.18 手写ShuffleReader
2.19 手写ShuffleWriter
2.20手写BlockManager
2.21 手写ShuffleBlockFetcherIterator
3.1 map、flatMap、filter精讲和源码分析
3.2 mapPartitions和mapPartitionsWithIndex精讲和源码分析
3.3 MapPartitionsRDD源码分析
3.4 reduceByKey、combineByKey精讲和源码分析
3.5 ShuffledRDD精讲和源码分析
3.5 groupBy、groupByKey精讲和源码分析
3.6 sortBy、sortByKey精讲和源码分析
3.7 cogroup精讲和源码分析
3.8 join、leftOuterJoin、rightOuterJoin、fullOuterJoin精讲和源码分析
3.9 intersection、subtract精讲和源码分析
4.1 collect精讲和源码分析
4.2 saveAsTextFile精讲和源码分析
4.3 count、min、max精讲和源码分析
4.4 sum、reduce、fold、aggregate精讲和源码分析
4.5 take、top、takeOrdered精讲和源码分析
4.5 foreach和foreachPartition精讲和源码分析
5.1 Master启动脚本分析
5.2 Master启动流程源码分析
5.3 Worker启动脚本分析
5.4 Worker启动流程源码分析
5.5 Worker向Master注册过程源码分析
5.6 Worker向Master发送心跳源码分析
5.7 Master清除超时Worker源码分析
6.1 spark-submit启动脚本分析
6.2 SparkSubmit提交类源码分析
6.3 SparkEnv源码分析
6.4 Driver向Master申请资源源码分析
7.1 DAGScheduler创建过程源码分析
7.2 DAGScheduler切分Stage源码分析
7.3 DAGScheduler提交Stage源码分析
7.4 DAGScheduler生成ShuffleMapTask和ResultTask源码分析
8.1 TaskScheduler启动过程源码分析
8.2 TaskScheduler将Task序列化源码分析
8.3 TaskScheduler提交task源码分析
9.1Executor启动流程源码分析
9.2Executor内线程池源码分析
9.3 Executor向Driver注册源码分析
9.4 Executor接收Task并反序列化源码分析
9.5 TaskRunner源码分析
9.6 ShuffleMapTask执行流程源码分析
9.7 ResultTask执行流程源码分析
10.1 ShuffleManager启动流程源码分析
10.2 注册ShuffleHandle源码分析
10.3 ShuffleWirter源码分析
10.4 ShuffleWriteProcessor源码分析
10.5 SortwShuffleManager源码分析
10.6 ExternalSorter源码分析
10.7 ShuffleExternalSorter源码分析
10.8 SortShuffleWriter源码分析
10.9 BypassMergeSortShuffleHandle源码分析
10.10 SerializedShuffleHandle源码分析
11.1 BlockManager启动流程源码分析
11.2 BlockManager通信流程源码分析
11.4 DiskBlockObjectWriter源码分析
11.5 DiskBlockManager源码分析
11.6 ShuffleBlockFetcherIterator源码分析
12.1 YarnSchedulerBackend源码分析
12.2 YarnClusterApplication源码分析
12.3 YarnClusterManager源码分析
12.4 ApplicationMaster源码分析
12.5 YarnClusterSchedulerBackend源码分析
12.6 ApplicationMaster向ResourceManager注册流程源码分析
12.7 ApplicationMaster申请到资源源码分析
12.8 ApplicationMaster向NodeManager发送启动容器源码分析
12.9 YarnCoarseGrainedSchedulerBackend源码分析
12.10 YarnCoarseGrainedExecutorBackend源码分析
13.1 SparkSQL执行流程总览分析
13.2 SparkSQL编译器Parser源码分析
13.3 SparkSQL逻辑计划源码分析
13.4 SparkSQL的Optimizer源码分析
13.5 SparkSQL的Planner源码分析
14.6 SparkSQL的CodGenerator源码分析
敬请期待
视频及配套资料
- 课程源码
- 课程文档
- 上课所用的虚拟机环境
- 交流答疑微信群
学习及购买方式
视频形式 | 离线加密视频,也可用播放器在线播放 |
播放器 | 大黄蜂播放器,有win,mac,安卓,iphone等各平台app |
课程进度 | 尚未完结,持续更新 |
课程价格 | 更新完成前1399元 更新完成后 1999 |
购买方式 | 1. 加客服微信,付款后开通账号 2. 下载安装大黄蜂播放器 3. 登录开通的账号己开启学习 |