BlockManager
BlockManager运行在每个节点上(包括Driver和Executor),
提供对本地或远端节点上的内存、磁盘及堆外内存中Block的管理。
对Block的读取和写入的流程基本相似。
- 如果Block位于远程节点上,会调用BlockTransferService模块,该模块封装了任务失败多次重试等功能。
- 如果Block位于本地节点上, 又分在内存中(调用MemoryStore模块)和在磁盘中(调用DiskStore模块)。
如果是没有序列化的Block,则调用Values相关方法;如果Block已序列化,则调用Bytes相关方法。


网友评论