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