Spark 儲存管理之BlockManger

2021-07-17 05:24:19 字數 1061 閱讀 3734

spark 儲存管理之blockmanger

[睡著的水-hzjs-2016.08.24]

一、blockmanager 執行

# a、 blockmanagermaster:對整個集群的block資料進行管理的;

2、blockmanagermasterendpoint 本身是乙個訊息體,會負責通過遠端訊息通訊的方式去管理所有節點的blockmanager;

3、沒啟動乙個executorbackend 都會實力哈ublockmanager 並通過遠端通訊的方式註冊給blockmanagermaster;實質上是executor中的blockmanager在啟動的時候註冊給了dirver 的blockmanagermasterendpoint;

4、memorystore 是blockmanager中專門負責記憶體資料儲存和讀寫的類;

5、diskstore:是blockmanager中專門負責基於磁碟的資料儲存和讀寫的類;

6、diskblockmanager :管理logical block與disk 上的physical block 之間的對映關係並負責磁碟檔案的建立,

讀寫等;

# 從job 執行的角度來觀察blockmanager:

1、首先通過memorystore 才儲存廣播變數;

2、在driver中通過blockmanagerinfo 來管理集群中每個executorbackend 中的blockmanager 中的元資料資訊的;

3、當改變具體的executorbackend上的block 資訊後就必須發訊息給driver 中的blockmanagermaster 來更新相應的blockmanagerinfo;

4、當執行第二個stage的時候,第二個stage 會向driver中的mapoutputtrachermasterendpoint 發訊息請求上乙個stage中相應的輸出,此時mapoutputtrackermaster會把上乙個stage 的輸出資料資訊傳送給當前請求的stage;

初始spark 四 之spark儲存管理

我們在使用spark進行資料相關的操作的時候,經常會用到的是rdd,但是我們也都知道rdd是乙個抽象的資料集,並不是真正的資料儲存的地方,rdd使我們對資料的操作更方便,其實rdd的出現避免了我們對資料儲存底部的接觸,可以更方便的編寫我們的應用。其實資料的儲存都是由spark的儲存管理模組實現和管理...

Spark的儲存管理

功能上看spark的儲存管理模型可以分為兩部分 rdd快取和shuffle資料的持久化.rdd快取,指的是rdd呼叫cache persist 或checkpoint,呼叫這個三個方法會將rdd對應的資料塊結果儲存到記憶體或者磁碟中,可以將寬依賴的結果儲存下來.shuffle資料持久化 說明 def...

block 記憶體管理

block簡介 copy一段 block作為c語言的擴充套件,並不是高新技術,和其他語言的閉包或lambda表示式是一回事。需要注意的是由於objective c在ios中不支援gc機制,使用block必須自己管理記憶體,而記憶體管理正是使用block坑最多的地方,錯誤的記憶體管理 要麼導致retu...