Spark内核剖析|源码解读|性能优化和案例鉴赏

课程介绍:

这是世界上第一个Spark内核高端课程:
1,该课程在对Spark的13个不同版本源码彻底研究基础之上提炼而成;
2,课程涵盖Spark所有内核精髓的剖析;
3,课程中有大量的核心源码解读;
4,全景展示Spark商业案例下规划、部署、开发、管理技术;
5,涵盖Spark核心优化技巧
该课程是Spark的高端课程,其前置课程是“18小时内掌握Spark:把云计算大数据速度提高100倍以上!”。

课程对象:

1,系统架构师、系统分析师、高级程序员、资深开发人员;
2,牵涉到大数据处理的数据中心运行、规划、设计负责人;
3,云计算大数据从业者和Hadoop使用者;
4,政府机关,金融保险、移动和互联网等大数据来源单位的负责人;
5,高校、科研院所涉及到大数据与分布式数据处理的项目负责人;
6,数据仓库管理人员、建模人员,分析和开发人员、系统管理人员、数据库管理人员以及对数据仓库感兴趣的其他人员;

学院基础:

了解面向对象编程;
了解Linux的基本使用;

课程时长:2天

课程方式:

传统的面对面授课方式。

 

课程大纲:

第1堂课:Spark为什么如此之快?
1.1 基于内存的计算模式
1.2 DAG的机制与实现
1.3 Lineage的机制

第2堂课:Spark的核心组件源码剖析
2.1 SparkContext
2.2 RDD Graph
2.3 Scheduler
2.4 BlockTracker
2.5 ShuffleTracker
2.6 Worker

第3堂课:彻底剖析RDD
3.1 分区
3.2 依赖
3.3 函数
3.4 最佳位置
3.5 分区策略
3.6 Hadoop RDD
3.7 Filtered RDD
3.8 Joined RDD
3.9 Scala中集合操作

第4堂课:源码剖析RDD执行流程
4.1 Driver部分RDD源码剖析
4.2 Spark Client端的RDD源码剖析
4.3 Worker中的RDD源码剖析

第5堂课:Spark任务调度
5.1 源码剖析RDD Objects
5.2 源码剖析DAGScheduler
5.3 源码剖析TaskScheduler
5.4 DAG、TaskSet、Task
5.5 Worker的Executor
5.6 Worker的BlockManager

第6堂课:调度器的优化
6.1 调度器实现源码剖析
6.2 Narrow Dependency
6.4 Wide Dependency
6.5 重用已缓存过的数据
6.6 基于Partitioning的join优化

第7堂课:Spark性能优化
7.1 任务执行速度倾斜
7.2 Reducer数量的优化
7.3 Task GC和OOM
7.4 本地性缓慢
7.5序列化
7.6 其它性能优化最佳时间

第8堂课:Spark商业案例
8.1 架构
8.2 代码剖析
8.3 优化