第一部份. 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 其它優化項 |