課程費用

5800.00 /人

課程時長

2

成為教練

課程簡介

a) 鑒于一般Spark不會單獨使用,而是與Hadoop一起使用,因此該課程首先簡單闡述HDFS與Yarn的關(guān)鍵技術(shù)與高可用及水平擴(kuò)展方案
b) 結(jié)合精典案例講解一個Spark Job的整個生命周期,以及如何劃分Stage,如何生成邏輯執(zhí)行計劃和物理執(zhí)行計劃
c) 從Hash Shuffle到Sort Shuffle再到Tungsten Sort Shuffle詳細(xì)分析Spark Shuffle機(jī)制的原理與演進(jìn)
d) 結(jié)合Yarn分析Spark的內(nèi)存模型以及如何進(jìn)行相關(guān)調(diào)優(yōu)
e) 介紹Spark Streaming使用方式,分析通用流式處理系統(tǒng)的關(guān)鍵問題以及Spark Streaming對相應(yīng)問題的解決方案,如窗口,亂序,Checkpoint等,并分析Spark Streaming與Storm和Kafka Stream各自的優(yōu)缺點和適用場景
f) 結(jié)合源碼分析Spark SQL的原理,以及實現(xiàn)SQL引擎的一般方法,并介紹如何進(jìn)行Spark SQL性能優(yōu)化
g) 結(jié)合電影推薦系統(tǒng)這一案例,介紹如何使用Spark MLlib解決機(jī)器學(xué)習(xí)問題
h) 結(jié)合大量真實案例,分析如何解決數(shù)據(jù)傾斜問題從而提高應(yīng)用性能

目標(biāo)收益

a) 熟悉HDFS與Yarn實現(xiàn)原理及最佳實踐
b) 掌握Spark核心原理,包括但不限于Spark Job的執(zhí)行過程,Shuffle機(jī)制
c) 了解如何對Spark Job進(jìn)行性能優(yōu)化,包括但不限于參數(shù)調(diào)優(yōu),數(shù)據(jù)傾斜優(yōu)化,代碼調(diào)優(yōu)
d) 掌握Spark Streaming的原理及使用方式,并掌握如何結(jié)合Spark Streaming和Kafka實現(xiàn)正好一次處理語義
e) 掌握Spark SQL的使用和優(yōu)化方式,了解SQL引擎的原理
f) 掌握使用Spark MLlib解決機(jī)器學(xué)習(xí)問題的一般方法

培訓(xùn)對象

a) 大數(shù)據(jù)產(chǎn)品開發(fā)工程師
b) 大數(shù)據(jù)運維工程師
c) 大數(shù)據(jù)架構(gòu)師

課程大綱

大數(shù)據(jù)系統(tǒng)的基礎(chǔ)Zookeeper 1.1 Zookeeper原理
1.2 集群配置管理
1.3 服務(wù)發(fā)現(xiàn)
1.4 基于Zookeeper的領(lǐng)導(dǎo)選舉
1.5 分布式鎖
HDFS原理 2.1 HDFS架構(gòu)
2.2 HDFS讀寫過程及優(yōu)化
2.3 MR與Spark使用HDFS最佳實踐
2.4 Name node高可用方案
2.5 Name node水平擴(kuò)展方案
Yarn原理 3.1 Yarn架構(gòu)分析
3.2 資源分配與隔離
3.3 資源調(diào)度與調(diào)優(yōu)
3.4 基于標(biāo)簽的資源分配
3.5 Resource Manager高可用方案
Spark核心原理 4.1 Spark架構(gòu)
4.2 Job邏輯執(zhí)行計劃
4.3 Job物理執(zhí)行計劃
4.4 Spark transform與action
4.5 Spark Job的一生
Spark Shuffle機(jī)制演進(jìn) 5.1 Hadoop Shuffle
5.2 Hash Shuffle
5.3 Sort Shuffle
5.4 Tungsten Sort Shuffle
Spark內(nèi)存模型與調(diào)優(yōu) 6.1 內(nèi)存分配
6.2 堆外內(nèi)存使用
6.3 Spark on Yarn內(nèi)存分配最佳實踐
Spark數(shù)據(jù)結(jié)構(gòu)原理 7.1 RDD優(yōu)劣勢
7.2 DataFrame與Dataset
7.3 廣播變量實現(xiàn)原理
7.4 累加器
Spark Streaming 8.1 例講Spark Streaming
8.2 流式系統(tǒng)關(guān)鍵問題分析
8.3 Window操作
8.4 如何在流數(shù)據(jù)上做Join
8.5 Checkpoint機(jī)制
8.6 如何處理數(shù)據(jù)亂序問題
8.7 Spark Streaming容錯機(jī)制
8.8 Spark與Kafka實現(xiàn)Exactly once
8.9 Spark Streaming vs. Storm vs. Kafka Stream
8.10 Spark Streaming性能優(yōu)化
8.11 Structured Streaming
Spark SQL 9.1 Spark SQL前世今生
9.2 例講Spark SQL
9.3 Spark SQL數(shù)據(jù)源
9.4 Spark集成metastore
9.5 如何實現(xiàn)和使用自定義函數(shù)(UDF)
9.6 DataFrame vs. spark-sql vs. thrift server
9.7 Spark SQL實現(xiàn)原理(SQL引擎原理)
9.8 Spark SQL性能優(yōu)化
例講數(shù)據(jù)傾斜解決方案及案例 10.1 為何需要處理數(shù)據(jù)傾斜
10.2 調(diào)整并行度,分散同一Task的不同Key
10.3 自定義Partitioner,分散同一Task的不同Key
10.4 Map Join代替Reduce Join消除數(shù)據(jù)傾斜
10.5 為傾斜key增加隨機(jī)前綴
10.6 大表增加隨機(jī)前綴,小表擴(kuò)容
Spark MLlib原理與應(yīng)用 11.1 使用Spark MLlib開發(fā)機(jī)器學(xué)習(xí)應(yīng)用的方法
11.2 Pipeline的使用方法
11.3 超參數(shù)調(diào)優(yōu)
11.4 如何開發(fā)新的算法
11.5 如何使用Spark MLlib開發(fā)電影推薦系統(tǒng)
大數(shù)據(jù)系統(tǒng)的基礎(chǔ)Zookeeper
1.1 Zookeeper原理
1.2 集群配置管理
1.3 服務(wù)發(fā)現(xiàn)
1.4 基于Zookeeper的領(lǐng)導(dǎo)選舉
1.5 分布式鎖
HDFS原理
2.1 HDFS架構(gòu)
2.2 HDFS讀寫過程及優(yōu)化
2.3 MR與Spark使用HDFS最佳實踐
2.4 Name node高可用方案
2.5 Name node水平擴(kuò)展方案
Yarn原理
3.1 Yarn架構(gòu)分析
3.2 資源分配與隔離
3.3 資源調(diào)度與調(diào)優(yōu)
3.4 基于標(biāo)簽的資源分配
3.5 Resource Manager高可用方案
Spark核心原理
4.1 Spark架構(gòu)
4.2 Job邏輯執(zhí)行計劃
4.3 Job物理執(zhí)行計劃
4.4 Spark transform與action
4.5 Spark Job的一生
Spark Shuffle機(jī)制演進(jìn)
5.1 Hadoop Shuffle
5.2 Hash Shuffle
5.3 Sort Shuffle
5.4 Tungsten Sort Shuffle
Spark內(nèi)存模型與調(diào)優(yōu)
6.1 內(nèi)存分配
6.2 堆外內(nèi)存使用
6.3 Spark on Yarn內(nèi)存分配最佳實踐
Spark數(shù)據(jù)結(jié)構(gòu)原理
7.1 RDD優(yōu)劣勢
7.2 DataFrame與Dataset
7.3 廣播變量實現(xiàn)原理
7.4 累加器
Spark Streaming
8.1 例講Spark Streaming
8.2 流式系統(tǒng)關(guān)鍵問題分析
8.3 Window操作
8.4 如何在流數(shù)據(jù)上做Join
8.5 Checkpoint機(jī)制
8.6 如何處理數(shù)據(jù)亂序問題
8.7 Spark Streaming容錯機(jī)制
8.8 Spark與Kafka實現(xiàn)Exactly once
8.9 Spark Streaming vs. Storm vs. Kafka Stream
8.10 Spark Streaming性能優(yōu)化
8.11 Structured Streaming
Spark SQL
9.1 Spark SQL前世今生
9.2 例講Spark SQL
9.3 Spark SQL數(shù)據(jù)源
9.4 Spark集成metastore
9.5 如何實現(xiàn)和使用自定義函數(shù)(UDF)
9.6 DataFrame vs. spark-sql vs. thrift server
9.7 Spark SQL實現(xiàn)原理(SQL引擎原理)
9.8 Spark SQL性能優(yōu)化
例講數(shù)據(jù)傾斜解決方案及案例
10.1 為何需要處理數(shù)據(jù)傾斜
10.2 調(diào)整并行度,分散同一Task的不同Key
10.3 自定義Partitioner,分散同一Task的不同Key
10.4 Map Join代替Reduce Join消除數(shù)據(jù)傾斜
10.5 為傾斜key增加隨機(jī)前綴
10.6 大表增加隨機(jī)前綴,小表擴(kuò)容
Spark MLlib原理與應(yīng)用
11.1 使用Spark MLlib開發(fā)機(jī)器學(xué)習(xí)應(yīng)用的方法
11.2 Pipeline的使用方法
11.3 超參數(shù)調(diào)優(yōu)
11.4 如何開發(fā)新的算法
11.5 如何使用Spark MLlib開發(fā)電影推薦系統(tǒng)

活動詳情

提交需求