第一部份. Spark背景介绍与安装部署
1.1 Spark在大数据生态中的定位
1.2 Spark主要模块介绍
1.3 Spark部署模型介绍
1.4 Spark基于Ambari的安装
1.5 Spark Standalone下的HA
第二部份. 基于Java的Spark编程入门
2.1 Spark应用中的术语介绍
2.2 交互式工具spark-shell
2.3 从Word Count看Spark编程
2.4 spark-submit的几种用法
第三部份 Spark常用算子介绍
3.1 transform与action
3.2 广播变量与累加器
3.3 persist与checkpoint
3.4 数据本地性(Data locality)
第四部份. 一个Spark应用的一生
4.1 Spark应用的Stage划分
4.2 窄依赖 vs. Shuffle依赖
4.3 Job逻辑执行计划
4.4 Job物理执行计划
第五部份. Shuffle机制变迁
5.1 Hadoop Shuffle方案
5.2 Spark Hash Shuffle
5.3 Spark Sort Shuffle
5.4 Spark Tungsten Sort Shuffle
第六部份. Spark SQL实战
6.1 Spark SQL前世今生
6.2 RDD vs. Dataframe vs. Dataset
6.3 使用外部数据源
6.4 连接metastore
6.5 自定义函数
6.6 spark-sql与Spark thrift server
第七部份. Spark SQL原理
7.1 Spark SQL执行过程解析
7.2 Catalyst原理
7.3 SQL引擎原理
7.4 Spark SQL优化
第八部份. 例讲数据倾斜解决方案
8.1 为何需要处理数据倾斜
8.2 调整并行度,分散同一Task的不同Key
8.3 自定义Partitioner,分散同一Task的不同Key
8.4 Map Join代替Reduce Join消除数据倾斜
8.5 为倾斜key增加随机前缀
8.6 大表增加随机前缀,小表扩容
第九部份. Spark Streaming上
9.1 Spark Streaming示例
9.2 流式系统关键问题分析
9.3 Window操作
9.4 如何在流数据上做Join
9.5 Checkpoint机制
第十部份. Spark Streaming下
10.1 如何处理数据乱序问题
10.2 Spark Streaming容错机制
10.3 Spark与Kafka实现Exactly once
10.4 Spark Streaming vs. Storm vs. Kafka Stream
10.5 Spark Streaming性能优化
10.6 Structured Streaming
第十一部份. Spark MLlib
11.1 Pipeline
11.2 特征工程
11.3 模型选择
11.4 调优
第十二部份. Spark优化
12.1 应用代码优化
12.2 Spark统一内存模型
12.3 基于YARN的参数优化
12.4 其它优化项 |