Spark—2、存储模块

BlockManager

BlockManager运行在每个节点上(包括Driver和Executor),
提供对本地或远端节点上的内存、磁盘及堆外内存中Block的管理。

对Block的读取和写入的流程基本相似。

  • 如果Block位于远程节点上,会调用BlockTransferService模块,该模块封装了任务失败多次重试等功能。
  • 如果Block位于本地节点上, 又分在内存中(调用MemoryStore模块)和在磁盘中(调用DiskStore模块)。
    如果是没有序列化的Block,则调用Values相关方法;如果Block已序列化,则调用Bytes相关方法。
BlockManager之Block数据的读取
BlockManager之Block数据的写入
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。