Spark | BlockManager

BlockManager是整个Spark存储模块中的核心,它不仅提供存储模块处理各种存储方式的读写方法,而且还为Shuffle模块提供数据处理等操作接口。

BlockManager存在于Driver端和每个Executor中:Driver端的BlockManager  保存了数据的元数据信息;而在Executor中的BlockManager则根据接受到的消息类型进行操作:

当Executor的BlockManager接收到读取数据操作时,根据数据块所在的节点是否本地而使用BlockManager的不同方法进行处理;如果本地则直接调用MemoryStore和DiskStore中的方法getValue等进行读取;如果远程则调用BlockTransferService服务来获取远程节点上的数据。

当Executor的BlockManager接受到写入数据操作时,如果不需要创建副本,则调用BlockStore的接口方法进行处理(这点与数据读取不同,数据读取是直接调用不同存储的读取方法),根据数据写入的存储类型,决定调用对应的写入方法。

 

实例学习:

https://blog.csdn.net/jiaojiao521765146514/article/details/86065061

 

https://blog.csdn.net/LINBE_blazers/article/details/89408371

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值