您好,登錄后才能下訂單哦!
這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)大數(shù)據(jù)分布式計算spark技術(shù)如何理解,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
這個系統(tǒng)學習spark的名稱是:spark2.x 由淺入深深到底系列知識。所謂的"淺"是指一定的場景或者問題,然后"入深"就是這個解決這個場景以及問題的原理是什么,然后再“深”就是指這些場景以及問題的原理在我們的代碼層面上是怎么實現(xiàn)的,就是會涉及到源碼的閱讀,最后“到底”就是我們的實踐了,然后用實踐產(chǎn)生價值。
以下是系統(tǒng)學習spark的步驟:
一、spark2.x 由淺入深深到底系列一:正確理解spark
只有正確理解spark了,我們才能確定學習spark的方向和思路,這個是指路燈。
這個我們以視頻的方式給出,視頻的鏈接URL是:http://edu.51cto.com/course/10932.html
在這個視頻中,我們會弄明白下面的幾個問題:
1: 徹底弄懂什么是RDD及其特點
2: 徹底弄懂什么是spark的分布式內(nèi)存計算
3: 徹底弄懂spark是怎樣解決各個領(lǐng)域問題,以及在解決各個領(lǐng)域問題的時候的特點
同時,我們會徹底搞明白下面的兩個問題:
1: spark是基于內(nèi)存的,MapReduce是基于磁盤的,所以spark比MapReduce快,真的是這樣的嗎?
2: spark的分布式內(nèi)存是怎么樣合理的使用的,或者說用在哪些場景下是合理的
二、spark2.x 由淺入深深到底系列二:spark core RDD Api
對spark core中的RDD中的每一個scala api的用法、用的過程中需要注意的點以及每一個api的原理都做了系統(tǒng)的深入的講解
這個我們以視頻的方式給出,視頻的鏈接URL是:http://edu.51cto.com/course/11058.html
這個視頻中的內(nèi)容包括如下:
第一章: 課程內(nèi)容以及課程需要的環(huán)境的描述
第二章: 了解scala
了解scala的基本概念,包括:
1、scala之面向?qū)ο缶幊?/p>
2、scala之函數(shù)式編程
3、scala的兩個特征:閉包和數(shù)據(jù)結(jié)構(gòu)Option
第三章: RDD概念
根據(jù)RDD的特點,進而提出RDD的定義以及RDD的優(yōu)勢
第四章: RDD的創(chuàng)建
詳細講解創(chuàng)建RDD的api,并且詳細分析了parallelize和makeRDD兩個api的原理和差異
第五章: RDD的依賴
RDD的依賴的設計,并詳細講解了為什么RDD這么設計依賴
第六章: RDD的分區(qū)
1、用原理圖的方式展示了RDD分區(qū)器HashPartitioner的工作原理
2、講解利用分區(qū)器是怎么樣進行性能優(yōu)化的
3、結(jié)合原理圖和源代碼講解RangePartitioner的工作原理以及使用場景
4、結(jié)合實例自定義RDD的分區(qū)器Partitioner
5、RDD分區(qū)數(shù)控制api - coalesce 和 repartition的使用場景以及兩者的區(qū)別
6、結(jié)合原理圖和源代碼講解coalesce的原理
第七章: 單類型RDD的api詳解
1、單類型RDD的transformation api的使用及其需要注意的點,包括map, mapPartition, flatMap等api
2、MapPartitionsRDD的原理代碼詳解
3、RDD的采樣api(sample等)介紹
4、RDD分層采樣api(sampleByKey等)的介紹
5、RDD的pipe api的使用方式以及使用過程中需要注意的點
6、RDD的pipe的原理深入講解
7、單類型RDD的基本action api的講解,包括foreach、first、collect等
8、單類型RDD基本action api講解,包括reduce、fold以及aggregate等。同時分析了reduce和treeReduce以及aggregate和treeAggregate的原理和區(qū)別
第八章 key-value類型RDD的api詳解
1、combineBykey的七大參數(shù)的詳解
2、ShuffleRDD的原理詳解
3、基于combineByKey的api詳解,包括aggregateByKey、reduceByKey、foldByKey以及groupByKey等
4、combineBykey實戰(zhàn)以及使用過程中需要注意的點
5、reduceByKey和groupByKey的對比,同時包含了reduce和fold的對比
6、cogroup api的感官認識,包括基于cogroup實現(xiàn)的join、leftOuterJoin、rightOuterJoin、fullOuterJoin以及subtractByKey等api
7、通過原理圖和源代碼詳解cogroup原理
8、join等api的原理實現(xiàn)
9、subtractByKey的原理
10、sortedByKey原理,利用RangePartitioner實現(xiàn)優(yōu)化
11、count、countByKey等計數(shù)api,包括近似估算等api
第九章: 二元RDD操作
1、union的使用及其原理
2、intersection的使用及其原理
3、cartesian笛卡爾積的使用及其原理
4、zip的使用及其原理
第十章: persist 和 checkpoint機制
1、RDD的緩存機制,即persist
2、checkpoint的作用和實現(xiàn)流程
3、checkpoint實現(xiàn)原理
4、localCheckpoint和checkpoint的優(yōu)缺點
第十一章: Spark讀寫外部數(shù)據(jù)源
1、spark支持的讀寫存儲系統(tǒng)
2、HadoopRDD的原理和實現(xiàn)
3、spark支持的通用的文件格式,重點會講述了SequenceFile的數(shù)據(jù)結(jié)構(gòu)以及需要注意的點,包括text file、CSV file、Sequence file 、 Object file以及MapFile等
4、spark支持的hbase file的讀寫代碼
5、行式存儲文件格式(avro)和列式存儲文件格式(parquet)讀寫的詳細講解
6、spark對二進制數(shù)據(jù)的讀寫的api詳解
第十二章: broadcast和accumulator兩個api的詳解
第十三章: RDD項目實戰(zhàn)
以本人真實參加的項目來串聯(lián)我們這個課程所將到的api
三、spark2.x 由淺入深深到底系列三:spark core正確提交spark應用
我們一般用spark-submit來提交一個spark應用,所以我們需要理解透spark-submit中的每一個參數(shù)的用法及其原理,以達到正確提交各種業(yè)務場景下的spark應用。在理解透了spark-submit中的每一個參數(shù)的用法及其原理后,我們需要理解透spark-submit的原理,這個也是打開深入學習spark的大門
這個我們以視頻的方式給出,視頻的鏈接URL是:http://edu.51cto.com/course/11132.html
這個視頻的內(nèi)容包括:
第一章:課程內(nèi)容簡介
第二章:java基礎知識
2.1 java命令啟動JVM
2.2 java ProcessBuilder啟動JVM
第三章:詳解spark-submit的每一個參數(shù)
3.1 spark-submit感官認識
3.2 master和deploy-mode參數(shù)詳解
3.3 --conf參數(shù)詳解
3.4 driver相關(guān)參數(shù)的詳解
3.5 executor相關(guān)參數(shù)的詳解
3.6 --jars參數(shù)詳解
3.7 --package相關(guān)參數(shù)詳解
3.8 --files參數(shù)詳解
3.9 --queue相關(guān)參數(shù)的詳解
3.10 python spark應用的正確提交
3.11 利用SparkLauncher在代碼中提交spark應用
第四章 spark-submit原理
4.1 spark腳本系統(tǒng)
4.2 spark-class腳本原理以及實現(xiàn)
4.3 spark-daemon腳本原理以及實現(xiàn)
4.4 SparkSubmit原理以及源碼分析
四、spark2.x 由淺入深深到底系列四:spark core - scheduler on driver
由淺入深的講解spark應用是怎么樣拆分成task的,然后怎么在集群中調(diào)度的,以及深入講解了task調(diào)度的過程中的本地性規(guī)則、推測機制以及黑名單機制等。
這章比較偏原理,但是我會以一種通俗易懂的話語來講透這些原理,你會發(fā)現(xiàn),你覺得很復雜的東東其實都是那么的簡單
這個我們以視頻的方式給出:大概十一之前會發(fā)布視頻
大致的內(nèi)容包括(可能會變,以發(fā)布出來的視頻為準):
第一章:課程內(nèi)容以及環(huán)境
第二章:一個spark應用中的調(diào)度
2.1 DAG的劃分
2.2 stage的調(diào)度流程原理
2.3 task的延遲調(diào)度及性能調(diào)優(yōu)
2.4 task的推測機制及其使用場景
2.5 Blacklist機制及其使用場景
2.6 資源調(diào)度及其管理
第三章:多個spark應用的調(diào)度
3.1 資源動態(tài)分配的前提
3.2 資源動態(tài)分配的機制
五、spark2.x 由淺入深深到底系列五:spark core - shuffle實現(xiàn)原理以及調(diào)優(yōu)
在這個課程中會以通俗易懂的話語徹底說清楚spark的shuffle的實現(xiàn)原理以及調(diào)優(yōu)過程
這個課程的內(nèi)容大致會涉及到:內(nèi)存管理原理、存儲管理原理、mapoutTracker實現(xiàn)原理以及shuffle管理原理
這個我們以視頻的方式給出:發(fā)布時間待定
六、spark2.x 由淺入深深到底系列六:spark core RDD java api
這個是對系列二的一個補充,會詳細介紹RDD java api的實現(xiàn)原理,以及api的用法
這個以博客的形式給出,博客地址為:http://7639240.blog.51cto.com/7629240/d-1
會時時更新,以達到將自己所有知道的都寫進去
七、spark2.x 由淺入深深到底系列七:spark core RDD python api
這個是對系列二的一個補充,會詳細介紹RDD python api的實現(xiàn)原理,以及api的用法
這個以博客的形式給出,博客地址為:http://7639240.blog.51cto.com/7629240/d-2
這個目前還不是很完善,有空會時時更新
八、 spark2.x 由淺入深深到底系列八:spark core必備基礎知識
本課程主要會深入理解spark core的三個基礎組件以及我們深入理解spark需要的部分的基礎java知識
目標:
1: spark的安全管理
2: spark的序列化機制
3: spark的RPC機制,包括部分的nio的知識點
這個以博客的形式給出,博客地址為:待定
九、 spark2.x 由淺入深深到底系列九:spark core集群資源管理機制
本課程會詳細的理解spark的三種資源管理機制:
1: spark自帶的standalone模式,以及深入講解standalone的實現(xiàn)原理
2: hadoop的yarn模式,這節(jié)課使的我們徹底弄明白spark是怎么基于yarn來跑任務的,以及我們怎么樣去自己實現(xiàn)一個往yarn上提交應用的客戶端
3: mesos模式,這節(jié)課使的我們徹底弄明白spark是怎么基于mesos來跑任務的,以及我們怎么樣去自己實現(xiàn)一個往mesos上提交應用的客戶端
上述就是小編為大家分享的大數(shù)據(jù)分布式計算spark技術(shù)如何理解了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。