第一部份. Spark背景介紹與安裝部署
1.1 Spark在大數(shù)據(jù)生態(tài)中的定位
1.2 Spark主要模塊介紹
1.3 Spark部署模型介紹
1.4 Spark基于Ambari的安裝
1.5 Spark Standalone下的HA
第二部份. 基于Java的Spark編程入門
2.1 Spark應(yīng)用中的術(shù)語介紹
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 數(shù)據(jù)本地性(Data locality)
第四部份. 一個Spark應(yīng)用的一生
4.1 Spark應(yīng)用的Stage劃分
4.2 窄依賴 vs. Shuffle依賴
4.3 Job邏輯執(zhí)行計劃
4.4 Job物理執(zhí)行計劃
第五部份. Shuffle機制變遷
5.1 Hadoop Shuffle方案
5.2 Spark Hash Shuffle
5.3 Spark Sort Shuffle
5.4 Spark Tungsten Sort Shuffle
第六部份. Spark SQL實戰(zhàn)
6.1 Spark SQL前世今生
6.2 RDD vs. Dataframe vs. Dataset
6.3 使用外部數(shù)據(jù)源
6.4 連接metastore
6.5 自定義函數(shù)
6.6 spark-sql與Spark thrift server
第七部份. Spark SQL原理
7.1 Spark SQL執(zhí)行過程解析
7.2 Catalyst原理
7.3 SQL引擎原理
7.4 Spark SQL優(yōu)化
第八部份. 例講數(shù)據(jù)傾斜解決方案
8.1 為何需要處理數(shù)據(jù)傾斜
8.2 調(diào)整并行度,分散同一Task的不同Key
8.3 自定義Partitioner,分散同一Task的不同Key
8.4 Map Join代替Reduce Join消除數(shù)據(jù)傾斜
8.5 為傾斜key增加隨機前綴
8.6 大表增加隨機前綴,小表擴容
第九部份. Spark Streaming上
9.1 Spark Streaming示例
9.2 流式系統(tǒng)關(guān)鍵問題分析
9.3 Window操作
9.4 如何在流數(shù)據(jù)上做Join
9.5 Checkpoint機制
第十部份. Spark Streaming下
10.1 如何處理數(shù)據(jù)亂序問題
10.2 Spark Streaming容錯機制
10.3 Spark與Kafka實現(xiàn)Exactly once
10.4 Spark Streaming vs. Storm vs. Kafka Stream
10.5 Spark Streaming性能優(yōu)化
10.6 Structured Streaming
第十一部份. Spark MLlib
11.1 Pipeline
11.2 特征工程
11.3 模型選擇
11.4 調(diào)優(yōu)
第十二部份. Spark優(yōu)化
12.1 應(yīng)用代碼優(yōu)化
12.2 Spark統(tǒng)一內(nèi)存模型
12.3 基于YARN的參數(shù)優(yōu)化
12.4 其它優(yōu)化項 |