架構(gòu)師
其他
大數(shù)據(jù)
SQL
Spark
分布式
推薦課程
average > 0 ? $model->average . '分' : '10.0分' ?>

大數(shù)據(jù)之 Spark實戰(zhàn)與Spark內(nèi)核剖析

哈瑞

一線互聯(lián)網(wǎng)行業(yè) 高級架構(gòu)師

?現(xiàn)任BAT公司某技術(shù)中心高級架構(gòu)師;曾在美團點評、唯品會工作,從事廣告平臺、電商平臺相關(guān)的架構(gòu)設(shè)計與團隊管理工作。
?中科院軟件研究所計算機專業(yè)碩士畢業(yè),出版過2本著作:
?在高并發(fā)高可用架構(gòu),業(yè)務(wù)建模,DDD領(lǐng)域,積累了10年工作經(jīng)驗,經(jīng)歷過游戲,社交,廣告,電商等各種類型的項目先后出版兩本書籍。曾任上海交大繼續(xù)教育學院兼職講師,教授Java與數(shù)據(jù)結(jié)構(gòu)基礎(chǔ),網(wǎng)絡(luò)與Web,曾任美團點評的校招面試官,搜索與推薦平臺,電商運營平臺,電商商品,庫存體系 ,廣告平臺,數(shù)據(jù)中臺。

服務(wù)過的企業(yè):
廣州賽意
深圳創(chuàng)維-RGB電子
招聯(lián)消費金融
中移
酷開
銀聯(lián)

?現(xiàn)任BAT公司某技術(shù)中心高級架構(gòu)師;曾在美團點評、唯品會工作,從事廣告平臺、電商平臺相關(guān)的架構(gòu)設(shè)計與團隊管理工作。 ?中科院軟件研究所計算機專業(yè)碩士畢業(yè),出版過2本著作: ?在高并發(fā)高可用架構(gòu),業(yè)務(wù)建模,DDD領(lǐng)域,積累了10年工作經(jīng)驗,經(jīng)歷過游戲,社交,廣告,電商等各種類型的項目先后出版兩本書籍。曾任上海交大繼續(xù)教育學院兼職講師,教授Java與數(shù)據(jù)結(jié)構(gòu)基礎(chǔ),網(wǎng)絡(luò)與Web,曾任美團點評的校招面試官,搜索與推薦平臺,電商運營平臺,電商商品,庫存體系 ,廣告平臺,數(shù)據(jù)中臺。 服務(wù)過的企業(yè): 廣州賽意 深圳創(chuàng)維-RGB電子 招聯(lián)消費金融 中移 酷開 銀聯(lián)

課程費用

6800.00 /人

課程時長

4

成為教練

課程簡介

深入剖析Spark大數(shù)據(jù)實戰(zhàn)技術(shù)與內(nèi)核原理。課程涵蓋Spark技術(shù)脈絡(luò)、基礎(chǔ)編程、分布式計算原理、進階使用及Spark Streaming、Spark SQL等核心應(yīng)用,幫助學員掌握Spark分布式處理海量數(shù)據(jù)的能力,打造高效的大數(shù)據(jù)處理流程。

目標收益

掌握核心技術(shù):通過系統(tǒng)學習Spark,學員將能夠熟練運用Spark處理大數(shù)據(jù),提升工作效率。
深入理解原理:深入剖析Spark內(nèi)核原理,理解其分布式計算機制,為復(fù)雜數(shù)據(jù)處理提供堅實理論基礎(chǔ)。
實戰(zhàn)應(yīng)用導(dǎo)向:通過實戰(zhàn)案例,學員將學會如何將Spark技術(shù)應(yīng)用于實際場景,提升數(shù)據(jù)處理能力,為企業(yè)創(chuàng)造價值。

培訓對象

課程大綱

第1天大數(shù)據(jù)技術(shù)脈絡(luò)與Spark入門
序言:
大數(shù)據(jù)技術(shù)發(fā)展脈絡(luò)
1.大數(shù)據(jù)技術(shù)圖譜:
采集、傳輸、存儲、調(diào)度、計算
2. 分布式的3個領(lǐng)域:
(1) 分布式存儲:TFS/GFS/HDFS/Ceph/…
(2) 分布式調(diào)度:Yarn/K8S
(3) 分布式計算:
批處理、流處理、OLAP、 ML
3. 各種分布式計算框架:
Spark/Flink/各種OLAP框架/ML框架
第1單元 hadoop核心原理與Spark環(huán)境部署 1.Spark單機模式
2.Spark集群模式
3.Spark on Yarn模式
(1)HDFS集群部署、HDFS核心概念解析、HDFS高可用
(2) Yarn集群部署、Yarn核心概念解析、Yarn高可用
(3)存算分離架構(gòu) vs. 存算不分架構(gòu)
(4)Spark on Yarn部署
4.Spark任務(wù)提交
5.Spark on K8S模式
第2單元:
Spark基礎(chǔ):Scala語言
1.Scala與Java的聯(lián)系與區(qū)別
2.函數(shù)式編程 vs. 面向?qū)ο缶幊?br/>3.函數(shù)的各種特別寫法
4.Scala面向?qū)ο笈cJava的差異點
5.類型、泛型、反射
6.Scala特有的一些設(shè)計模式:self-type/cake-pattern, Product等
第3單元
基于RDD的spark編程
1.RDD的用法、設(shè)計理念剖析
2.Transformation與Action算子
3.Transromation算子:1元、2元、多元算子
4.常用算子剖析:map/flatmap/filter/reduceByKey/groupByKey/reduce/repartition/coalesce/..
5.讀/寫hdfs文件
第4單元
RDD背后的分布式計算原理剖析

1.Spark App源代碼如何拆分成多個Job?Job之間串行、并行?
2.Job如何拆分成多個Stage? Stage之間串行、并行?
3.Stage如何拆分成多個Task?Task之間串行、并行?
4.物理并行度 vs. 邏輯并行度
5.Spark任務(wù)的資源分配:精通分配 vs. 動態(tài)分配
第5單元
Spark 進階使用
1.RDD容錯機制: cache與persist
2.RDD checkpoint
3.spark broadcast機制
4.spark accumulator機制
第2天 Spark Streaming、Spark SQL與DataFrame編程

第1單元
Spark Streaming入門
1.Spark Streaming典型應(yīng)用場景:
Spark消費Kafka舉例
2.Spark Streaming:
無狀態(tài)應(yīng)用 vs. 有狀態(tài)應(yīng)用
3.Spark Streaming vs. Flink
Spark Streaming和Flink的優(yōu)缺點對比
4.Spark Streaming原理
5.綜合案例實戰(zhàn):
案例1: kafka數(shù)據(jù)落入hdfs,各種實現(xiàn)方法分析
第2單元:
Spark SQL編程
1. Spark SQL vs. RDD
2. 基于DataFrame編程
(1)DataFrame背后的設(shè)計理念
(2)基于DataFrame的各種算子
3. 低階算子 vs. 高階算子
4. 從Spark到Flink:
Streaming SQL引入
5.Spark structure programming:
spark streaming SQL

第3單元
Spark SQL背后的原理
1.SQL語句如何轉(zhuǎn)化為AST語法樹?- Antlr框架介紹
2.AST如何轉(zhuǎn)化為邏輯計劃?
謂詞下推、列裁剪
3.邏輯計劃如何轉(zhuǎn)化為物理計劃?
4.物理計劃轉(zhuǎn)化為RDD?
第4單元
SQL UDF編程與背后原理
1.為什么要用UDF?
2.常規(guī)UDF寫法
3.基于Expression的UDF實現(xiàn)
第3天 Spark常用優(yōu)化技巧與內(nèi)核剖析

第1單元
常用優(yōu)化技巧
1.Spark調(diào)優(yōu)的基本框架
2.看懂Spark Web UI與history UI的各種參數(shù)
3.常用優(yōu)化技巧介紹:
(1)rdd復(fù)用
(2)謹慎使用shuffle算子
(3)合理配置spark任務(wù)參數(shù)
第2單元
優(yōu)化專題1 - Spark SQL Join的幾種不同實現(xiàn)方式與選擇
1.Join的幾種不同實現(xiàn)算法:
(1)單機3種Join算法:
Nested Loop Join
Sorted Merge Join
Hash Join
(2)分布式Join的2個策略
Shuffle
BroadCast
2.join hints – 選擇不同的Join算法
第3單元
優(yōu)化專題2 – 數(shù)據(jù)傾斜
1.為什么會有數(shù)據(jù)傾斜?
2.數(shù)據(jù)傾斜的幾種不同優(yōu)化方法:
(1)預(yù)計算
(2)提高并行度
(3)隨機前綴打散
(4)小表廣播
第4單元
Spark RDD內(nèi)核剖析
1.源代碼如何構(gòu)建DAG圖?
2.DAGScheduler內(nèi)核剖析 –
DAGScheduler如何調(diào)度執(zhí)行DAG?
3.TaskScheduler內(nèi)核剖析 – TaskScheduler如何調(diào)度Task?
4.Executor內(nèi)核剖析 – Executor如何執(zhí)行Task?
第5單元
Spark sql內(nèi)核剖析
1.sql如何變成AST語法樹?
2.語法樹變成邏輯計劃?
3.邏輯計劃變成物理計劃?
4.物理計劃變成RDD DAG圖?
5.AQE 與 DPP
6.Tungsten – WSCG與向量化
第4天 機器學習與Spark ML
序言:從機器學習到深度學習
1.機器學習 vs. 深度學習
2.常用ML/深度學習庫:sklearn/SparkML/tensorflow/pytorch
第1單元 常用機器學習算法1 – LR深入剖析 1.線性回歸、最小2乘
2.從線性回歸到邏輯回歸:
交叉熵損失函數(shù)、梯度下降法
3.凸優(yōu)化:梯度下降的直觀解讀
4.機器學習算法框架總結(jié):
(1)定義模型
(2)定義損失函數(shù)
(3)損失函數(shù)最小化
第2單元 常用機器學習算法2 - 決策樹深入剖析 1.決策樹算法的基本思維
2.數(shù)據(jù)純度的表達 – 方差、信息熵、Gini系數(shù)
3.ID3、C4.5、Cart
4.專題討論:離散值劃分問題
5.決策樹的損失函數(shù)解讀
第3單元 常用機器學習算法3 –
集成樹 - 深入剖析
1.Bagging 與 Boosting
2.高數(shù)基礎(chǔ):復(fù)合函數(shù)求導(dǎo)
3.GBDT算法介紹
4.XGB算法介紹
5.lightGBM算法介紹
第4單元 Spark ML 1.Spark ML - LR例子
2.Spark ML - XGB例子
3.Spark ML – lightGBM例子
第1天大數(shù)據(jù)技術(shù)脈絡(luò)與Spark入門
序言:
大數(shù)據(jù)技術(shù)發(fā)展脈絡(luò)
1.大數(shù)據(jù)技術(shù)圖譜:
采集、傳輸、存儲、調(diào)度、計算
2. 分布式的3個領(lǐng)域:
(1) 分布式存儲:TFS/GFS/HDFS/Ceph/…
(2) 分布式調(diào)度:Yarn/K8S
(3) 分布式計算:
批處理、流處理、OLAP、 ML
3. 各種分布式計算框架:
Spark/Flink/各種OLAP框架/ML框架
第1單元 hadoop核心原理與Spark環(huán)境部署
1.Spark單機模式
2.Spark集群模式
3.Spark on Yarn模式
(1)HDFS集群部署、HDFS核心概念解析、HDFS高可用
(2) Yarn集群部署、Yarn核心概念解析、Yarn高可用
(3)存算分離架構(gòu) vs. 存算不分架構(gòu)
(4)Spark on Yarn部署
4.Spark任務(wù)提交
5.Spark on K8S模式
第2單元:
Spark基礎(chǔ):Scala語言
1.Scala與Java的聯(lián)系與區(qū)別
2.函數(shù)式編程 vs. 面向?qū)ο缶幊?br/>3.函數(shù)的各種特別寫法
4.Scala面向?qū)ο笈cJava的差異點
5.類型、泛型、反射
6.Scala特有的一些設(shè)計模式:self-type/cake-pattern, Product等
第3單元
基于RDD的spark編程
1.RDD的用法、設(shè)計理念剖析
2.Transformation與Action算子
3.Transromation算子:1元、2元、多元算子
4.常用算子剖析:map/flatmap/filter/reduceByKey/groupByKey/reduce/repartition/coalesce/..
5.讀/寫hdfs文件
第4單元
RDD背后的分布式計算原理剖析

1.Spark App源代碼如何拆分成多個Job?Job之間串行、并行?
2.Job如何拆分成多個Stage? Stage之間串行、并行?
3.Stage如何拆分成多個Task?Task之間串行、并行?
4.物理并行度 vs. 邏輯并行度
5.Spark任務(wù)的資源分配:精通分配 vs. 動態(tài)分配
第5單元
Spark 進階使用
1.RDD容錯機制: cache與persist
2.RDD checkpoint
3.spark broadcast機制
4.spark accumulator機制
第2天 Spark Streaming、Spark SQL與DataFrame編程

第1單元
Spark Streaming入門
1.Spark Streaming典型應(yīng)用場景:
Spark消費Kafka舉例
2.Spark Streaming:
無狀態(tài)應(yīng)用 vs. 有狀態(tài)應(yīng)用
3.Spark Streaming vs. Flink
Spark Streaming和Flink的優(yōu)缺點對比
4.Spark Streaming原理
5.綜合案例實戰(zhàn):
案例1: kafka數(shù)據(jù)落入hdfs,各種實現(xiàn)方法分析
第2單元:
Spark SQL編程
1. Spark SQL vs. RDD
2. 基于DataFrame編程
(1)DataFrame背后的設(shè)計理念
(2)基于DataFrame的各種算子
3. 低階算子 vs. 高階算子
4. 從Spark到Flink:
Streaming SQL引入
5.Spark structure programming:
spark streaming SQL

第3單元
Spark SQL背后的原理
1.SQL語句如何轉(zhuǎn)化為AST語法樹?- Antlr框架介紹
2.AST如何轉(zhuǎn)化為邏輯計劃?
謂詞下推、列裁剪
3.邏輯計劃如何轉(zhuǎn)化為物理計劃?
4.物理計劃轉(zhuǎn)化為RDD?
第4單元
SQL UDF編程與背后原理
1.為什么要用UDF?
2.常規(guī)UDF寫法
3.基于Expression的UDF實現(xiàn)
第3天 Spark常用優(yōu)化技巧與內(nèi)核剖析

第1單元
常用優(yōu)化技巧
1.Spark調(diào)優(yōu)的基本框架
2.看懂Spark Web UI與history UI的各種參數(shù)
3.常用優(yōu)化技巧介紹:
(1)rdd復(fù)用
(2)謹慎使用shuffle算子
(3)合理配置spark任務(wù)參數(shù)
第2單元
優(yōu)化專題1 - Spark SQL Join的幾種不同實現(xiàn)方式與選擇

1.Join的幾種不同實現(xiàn)算法:
(1)單機3種Join算法:
Nested Loop Join
Sorted Merge Join
Hash Join
(2)分布式Join的2個策略
Shuffle
BroadCast
2.join hints – 選擇不同的Join算法
第3單元
優(yōu)化專題2 – 數(shù)據(jù)傾斜
1.為什么會有數(shù)據(jù)傾斜?
2.數(shù)據(jù)傾斜的幾種不同優(yōu)化方法:
(1)預(yù)計算
(2)提高并行度
(3)隨機前綴打散
(4)小表廣播
第4單元
Spark RDD內(nèi)核剖析
1.源代碼如何構(gòu)建DAG圖?
2.DAGScheduler內(nèi)核剖析 –
DAGScheduler如何調(diào)度執(zhí)行DAG?
3.TaskScheduler內(nèi)核剖析 – TaskScheduler如何調(diào)度Task?
4.Executor內(nèi)核剖析 – Executor如何執(zhí)行Task?
第5單元
Spark sql內(nèi)核剖析
1.sql如何變成AST語法樹?
2.語法樹變成邏輯計劃?
3.邏輯計劃變成物理計劃?
4.物理計劃變成RDD DAG圖?
5.AQE 與 DPP
6.Tungsten – WSCG與向量化
第4天 機器學習與Spark ML
序言:從機器學習到深度學習
1.機器學習 vs. 深度學習
2.常用ML/深度學習庫:sklearn/SparkML/tensorflow/pytorch
第1單元 常用機器學習算法1 – LR深入剖析
1.線性回歸、最小2乘
2.從線性回歸到邏輯回歸:
交叉熵損失函數(shù)、梯度下降法
3.凸優(yōu)化:梯度下降的直觀解讀
4.機器學習算法框架總結(jié):
(1)定義模型
(2)定義損失函數(shù)
(3)損失函數(shù)最小化
第2單元 常用機器學習算法2 - 決策樹深入剖析
1.決策樹算法的基本思維
2.數(shù)據(jù)純度的表達 – 方差、信息熵、Gini系數(shù)
3.ID3、C4.5、Cart
4.專題討論:離散值劃分問題
5.決策樹的損失函數(shù)解讀
第3單元 常用機器學習算法3 –
集成樹 - 深入剖析
1.Bagging 與 Boosting
2.高數(shù)基礎(chǔ):復(fù)合函數(shù)求導(dǎo)
3.GBDT算法介紹
4.XGB算法介紹
5.lightGBM算法介紹
第4單元 Spark ML
1.Spark ML - LR例子
2.Spark ML - XGB例子
3.Spark ML – lightGBM例子

課程費用

6800.00 /人

課程時長

4

預(yù)約體驗票 我要分享

近期公開課推薦

近期公開課推薦

活動詳情

提交需求