美文网首页
spark的存储管理

spark的存储管理

作者: scott_alpha | 来源:发表于2019-10-12 13:45 被阅读0次

    通信层架构:每个节点BlockManager包含三个部分,blockmanager master、blockmanager master actor、block manager slave actor。
    每个executor上都有一个blockmanager,都只负责其自身数据的元信息。而driver端的blockmanager维护所有的已注册的blockmanager信息以及数据源信息。当executor需要获取非本地数据时,需要向driver发送获取所需要的非本地数据。这些信息的传输是通过主从节点的block manager master actor相互通信,传输相应信息;而block manager slave actor之间也会相互通信,传输RDD控制信息;executor在初始化时会向主节点注册,主节点将收到的blockmanager及其自身标识存储在哈希表中。每个blockmanager中还包含blockmanagerwork,监听远程数据块存取请求并处理。
    存储层架构:分为RDD缓存和shuffle缓存。RDD由不同的分区组成。所有的转换操作都是在分区上进行的,本质上分区与数据块是等价的。spark存储中存取数据的最小管理单元是数据块。spark可以在内存和磁盘中对RDD进行持久化,因此memstore与diskstore分别对应了内存和磁盘的存储管理。
    RDD分区与数据块关系:
    a.分区与数据块一一对应;
    b.分区与数据块的对应关系是通过名称上的约定进行的。每个RDD都有一个唯一的ID,每个分区有独立的索引,以ID+索引号作为数据块名便自然的建立起了分区与块的映射。

    相关文章

      网友评论

          本文标题:spark的存储管理

          本文链接:https://www.haomeiwen.com/subject/umsqmctx.html