一、概述
根據(jù)《深入理解Spark:核心思想與源碼分析》一書,結合最新的spark源代碼master分支進行源碼閱讀,對新版本的代碼加上自己的一些理解,如有錯誤,希望指出。
1.塊管理器BlockManager的實現(xiàn)
塊管理器是Spark存儲體系的核心組件,Driver Application和Executor都會創(chuàng)建BlockManager,源代碼位置在core/org.apache.spark.storage,部分代碼如下。
View Code
上面代碼中聲明的BlockInfoManager用于管理BlockManager緩存BlockId及對應的BlockInfo,BlockInfoManager提供一些列的同步讀寫策略。BlockManager由以下部分組成。
1)shuffle客戶端shuffleClient;
2)BlockManagerMaster,對存在于所有Executor上的BlockManager進行統(tǒng)一管理;
3)磁盤塊管理器DiskBlockManager;
4)內(nèi)存存儲MemoryStore;
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數(shù)據(jù)結構來看看(二) 2017-07-26