一、概述

根據(jù)《深入理解Spark:核心思想與源碼分析》一書,結(jié)合最新的spark源代碼master分支進(jìn)行源碼閱讀,對新版本的代碼加上自己的一些理解,如有錯(cuò)誤,希望指出。

1.塊管理器BlockManager的實(shí)現(xiàn)

塊管理器是Spark存儲體系的核心組件,Driver Application和Executor都會創(chuàng)建BlockManager,源代碼位置在core/org.apache.spark.storage,部分代碼如下。

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn) View Code

上面代碼中聲明的BlockInfoManager用于管理BlockManager緩存BlockId及對應(yīng)的BlockInfo,BlockInfoManager提供一些列的同步讀寫策略。BlockManager由以下部分組成。

1)shuffle客戶端shuffleClient;

2)BlockManagerMaster,對存在于所有Executor上的BlockManager進(jìn)行統(tǒng)一管理;

3)磁盤塊管理器DiskBlockManager;

4)內(nèi)存存儲MemoryStore;

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式