400-888-5228

課程介紹:

本課程是世界上第一Spark企業(yè)級(jí)最佳實(shí)踐課程,課程包含:

Spark的架構(gòu)設(shè)計(jì);

Spark編程模型;

Spark內(nèi)核框架源碼剖析;

Spark的廣播變量與累加器;

Shark的原理和使用;

Spark的機(jī)器學(xué)習(xí);

Spark的圖計(jì)算GraphX;

Spark SQL;

Spark實(shí)時(shí)流處理;

Spark程序的測(cè)試;

Spark的優(yōu)化;

Spark on Yarn;

JobServer;

最后以一個(gè)商業(yè)級(jí)別的Spark案例為基礎(chǔ),實(shí)戰(zhàn)展示商業(yè)級(jí)別Spark項(xiàng)目的架構(gòu)設(shè)計(jì)、實(shí)現(xiàn)和優(yōu)化;

 

課程時(shí)長(zhǎng):

3天

課程對(duì)象:

1,云計(jì)算大數(shù)據(jù)從業(yè)者;

2,Hadoop使用者;

3,系統(tǒng)架構(gòu)師、系統(tǒng)分析師、高級(jí)程序員、資深開(kāi)發(fā)人員;

4,牽涉到大數(shù)據(jù)處理的數(shù)據(jù)中心運(yùn)行、規(guī)劃、設(shè)計(jì)負(fù)責(zé)人;

5,政府機(jī)關(guān),金融保險(xiǎn)、移動(dòng)和互聯(lián)網(wǎng)等大數(shù)據(jù)來(lái)源單位的負(fù)責(zé)人;

6,高校、科研院所涉及到大數(shù)據(jù)與分布式數(shù)據(jù)處理的項(xiàng)目負(fù)責(zé)人;

7,數(shù)據(jù)倉(cāng)庫(kù)管理人員、建模人員,分析和開(kāi)發(fā)人員、系統(tǒng)管理人員、數(shù)據(jù)庫(kù)管理人員以及對(duì)數(shù)據(jù)倉(cāng)庫(kù)感興趣的其他人員;

 

學(xué)員基礎(chǔ):

了解面向?qū)ο缶幊蹋?/p>

了解Linux的基本使用;

了解Scala語(yǔ)法

 

課程大綱:

第1堂課:Spark的架構(gòu)設(shè)計(jì)

1.1 Spark生態(tài)系統(tǒng)剖析

1.2 Spark的架構(gòu)設(shè)計(jì)剖析

1.3 RDD計(jì)算流程解析

1.4 Spark的出色容錯(cuò)機(jī)制

 

第2堂課:Spark編程模型

2.1 RDD

2.2 transformation

2.3 action

2.4 lineage

2.5寬依賴與窄依賴

 

第3堂課:深入Spark內(nèi)核

3.1 Spark集群

3.2 任務(wù)調(diào)度

3.3 DAGScheduler

3.4 TaskScheduler

3.5 Task內(nèi)部揭秘

 

第4堂課:Spark的廣播變量與累加器

4.1 廣播變量的機(jī)制

4.2 廣播變量使用最佳實(shí)踐

4.3 累加器的機(jī)制

4.4 累加器使用的最佳實(shí)踐

 

第5堂課:編寫(xiě)Spark程序

5.1 程序數(shù)據(jù)的來(lái)源:File、HDFS、HBase、S3等

5.2 IDE環(huán)境構(gòu)建

5.3 Maven

5.4 sbt.

5.5 編寫(xiě)并部署Spark程序的實(shí)例

 

第6堂課:SparkContext解析和數(shù)據(jù)加載以及存儲(chǔ)

6.1 源碼剖析SparkContext

6.2 Scala、Java、Python使用SparkContext

6.4 加載數(shù)據(jù)成為RDD

6.5 把數(shù)據(jù)物化

 

第7堂課:深入實(shí)戰(zhàn)RDD

7.1 DAG

7.2 深入實(shí)戰(zhàn)各種Scala RDD Function

7.3 Spark Java RDD Function

7.4 RDD的優(yōu)化問(wèn)題

 

第8堂課:Shark的原理和使用

8.1 Shark與Hive

8.2 安裝和配置Shark

8.3 使用Shark處理數(shù)據(jù)

8.4 在Spark程序中使用Shark Queries

8.5 SharkServer

8.6 思考Shark架構(gòu)

 

第9堂課:Spark的機(jī)器學(xué)習(xí)

9.1 LinearRegression

9.2 K-Means

9.3 Collaborative Filtering

 

第10堂課:Spark的圖計(jì)算GraphX

10.1 Table Operators

10.2 Graph Operators

10.3 GraphX

 

第11堂課:Spark SQL

11.1 Parquet支持

11.2 DSL

11.3 SQL on RDD

 

第12堂課:Spark實(shí)時(shí)流處理

12.1 DStream

12.2 transformation

12.3 checkpoint

12.4 性能優(yōu)化

 

第13堂課:Spark程序的測(cè)試

13.1 編寫(xiě)可測(cè)試的Spark程序

13.2 Spark測(cè)試框架解析

13.3 Spark測(cè)試代碼實(shí)戰(zhàn)

 

第14堂課:Spark的優(yōu)化

14.1 Logs

14.2 并發(fā)

14.3 內(nèi)存

14.4 垃圾回收

14.5 序列化

14.6 安全

 

第15堂課:Spark on Yarn

15.1 Spark on Yarn的架構(gòu)原理

15.2 Spark on Yarn的最佳實(shí)踐

 

第16堂課:JobServer

16.1 JobServer的架構(gòu)設(shè)計(jì)

16.2 JobServer提供的接口

16.3 JobServer最佳實(shí)踐

 

第17堂課:Spark項(xiàng)目案例實(shí)戰(zhàn)

17.1 Spark項(xiàng)目的最佳架構(gòu)模式

17.2 案例的介紹和架構(gòu)

17.3 案例的源碼實(shí)現(xiàn)

17.4 調(diào)優(yōu)