Spark系列 三 Spark的工作機制

2021-08-16 18:30:46 字數 1348 閱讀 7653

什麼時候才能回歸到看**,寫感想的日子呀~剛剛交完房租的我血槽已空。看了師妹關於spark報告的ppt,好懷念學生時代開組會的時光啊,雖然我已經離開學校不長不短兩個月,但我還是非常認真的翻閱了,並作為大自然的搬運工來搬運知識了。

1、local,本地執行,通過多執行緒來實現平行計算。

2、本地偽集群執行模式,用單機模擬集群,有多個程序。

3、standalone,spark做資源排程,任務的排程和計算。部署繁瑣。

4、yarn, mesos,通用的統一資源管理機制,可以在上面執行多種計算框架。

著重介紹比較廣泛應用集群管理器yarn

yarn 是在 hadoop 2.0中引入的集群管理器,它可以讓多種資料處理框架執行在乙個共享的資源池上,並且通常安裝在與 hadoop 檔案系統(簡稱 hdfs)相同的物理節點上。

有兩種將應用連線到集群的模式:客戶端模式以及集群模式。在客戶端模式下應用的驅動器程式執行在提交應用的機器上(比如你的膝上型電腦),而在集群模式下,驅動器程式也執行在乙個 yarn 容器內部。這就涉及了應用的兩種提交方式。

driver執行在客戶端,即為客戶端模式

driver執行在集群上,是集群中的某乙個worker,即集群模式

多使用者需要共享集群資源時,可以依據集群管理者的配置,分配資源

yarn:配置每個應用分配的executor數量,每個executor占用的的記憶體大小和cpu核數

job的排程

job的排程符合fifo, 排程池裡面是很多任務集,任務集有兩個id ,jobid 和stageid,id小的先執行。 job: fifo

stage:  dagscheduler

stage的排程

stage的dag以最後執行的 stage為根進行廣度優先遍歷,遍歷到最開始執行的stage執行。dagscheduler中還維持了幾個重要的key-value集 :

waitingstages中記錄仍有未執行的父stage,防止過早執行;

runningstages中儲存正在執行的stage,防止重複執行;

failedstages中儲存執行失敗的stage,需要重新執行。

done

(三)Spark學習系列

本章節講一講spark的shuffle模組 shuffle模組作用是將若干node節點上面的資料重新分割,再劃分到不同的節點中,也就是將上乙個stage中的各個task的中間結果整合起來,然後再重新分組,以供下乙個stage的task對它們做運算。原因就是spark的設計就是把相具有某種共同特徵的一...

Spark系列 二 Spark的資料讀入

真的是超級忙碌的一周,所幸的是我們迎來了新的家庭成員乙隻小貓咪 大王。取名為大王的原因竟然是因為之前作為流浪貓的日子總是被其他貓所欺負,所以希望他能做乙隻霸氣的霸王貓啦。言歸正傳,在周一見的悲傷中唯有寫一篇部落格才能緩解我的憂傷吧。spark讀取文字檔案 textfile def textfile ...

Spark入門系列

讀完spark官方文件後,在研究別人的原始碼以及spark的原始碼之前進行一番入門學習,這個系列不錯。spark系列 除此之外,databricks也是乙個非常不錯的 上面可以使用免費的spark集群進行 提交與測試,在youtube以及spark大會中都有其發布教程以及spark應用部署的相關細節...