微吼云上線多路互動直播服務 加速多場景互動直播落地
656
2025-04-05
掌握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等存儲系統上
附上講解PPT:
深入spark內核.pdf? ? ? ?http://pan.baidu.com/s/1mgHZGhU
視頻 spark
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。