天天看點

Spark入門到精通視訊學習資料--第三章:Spark進階(2講)

掌握Spark核心是精通Spark的關鍵,也是駕馭Spark的精髓所在。

基于Spark核心,Spark建構起了一體化多元化的大資料處理流水線,在一個技術堆棧中即可以同時完成批處理、實時流處理、互動式查詢、機器學習、圖計算以及這些子架構之間資料和RDD算子的無縫共享與互操作。

可以說,Spark核心是每個想徹底掌握Spark的人員的必修課,通過對核心的探索,我們對整個Spark的運作機制會了如指掌,這對Spark的大規模應用、性能優化、系統自定義開發Spark系統都是至關重要的。

一、Spark核心核心術語解析

Application:

Application是建立了SparkContext執行個體對象的Spark使用者,包含了Driver程式

Spark-shell是一個應用程式,因為spark-shell在啟動的時候建立了SparkContext對象,其名稱為sc

Job:

和Spark的action相對應,每一個action例如count、savaAsTextFile等都會對應一個Job執行個體,該Job執行個體包含多任務的并行計算。

Driver Program:

運作main函數并且建立SparkContext執行個體的程式。

Cluster Manager:

叢集資源管理的外部服務,在Spark上現在主要有Standalone、Yarn、Mesos等三種叢集資料總管,Spark自帶的Standalone模式能夠滿足絕大部分純粹的Spark計算環境中對叢集資源管理的需求,基本上隻有在叢集中運作多套計算架構的時候才建議考慮Yarn和Mesos。

Worker Node:

叢集中可以運作應用程式代碼的工作節點,相當于Hadoop的slave節點。

Executor:

在一個Worker Node上為應用啟動的工作程序,在程序中負責任務的運作,并且負責将資料存放在記憶體或磁盤上,必須注意的是,每個應用在一個Worker Node上隻會有一個Executor,在Executor内部通過多線程的方式并發處理應用的任務。

Task:

被Driver送到executor上的工作單元,通常情況下一個task會處理一個split的資料,每個split一般就是一個Block塊的大小

Stage:

一個Job會被拆分成很多任務,每一組任務被成為Stage,這個MapReduce的map和reduce任務很像,劃分Stage的依據在于:Stage開始一般是由于讀取外部資料或者Shuffle資料、一個Stage的結束一般是由于發生Shuffle(例如reduceByKey操作)或者整個Job結束時例如要把資料放到hdfs等存儲系統上

詳細講解請參考以下視訊:

深入spark核心(上).mp4       http://pan.baidu.com/s/1bnB62MN

深入spark核心(上).mp4       http://pan.baidu.com/s/1ntr9qsh

另附上講解PPT:

深入spark核心.pdf       http://pan.baidu.com/s/1mgHZGhU

==========================================================

申明:視訊資料已過期,建議不要再下載下傳了。

繼續閱讀