您当前的位置: 首页 >  交互

段智华

暂无认证

  • 0浏览

    0关注

    1232博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Shuffle 与 Storage 模块间的交互

段智华 发布时间:2017-06-22 06:22:45 ,浏览量:0

 

7.6   Shuffle 与 Storage 模块间的交互 

在Spark中存储模块被抽象成Storage,顾名思义,Storage是存储的意思,代表着Spark中的数据存储系统,负责管理和实现数据块(Block)的存放。其中存取数据的最小单元是Block,数据由不同的Block组成,所有操作都是以Block为单位进行的。本质上讲RDD中的Partition和Storage中的Block是等价的,只是所处的模块不同看待的角度不一样而已。

 Storage抽象模块的实现分为两个层次,如下图所示。

图 7- 13 Storage存储模块

1)        通信层:通信层是典型的Master-Slave结构,Master和Slave之间传输控制和状态信息。通信层主要由BlockManager、BlockManagerMaster、BlockManagerMasterEndpoint、BlockManagerSlaveEndpoint等类实现。

2)        存储层:负者把数据存储到内存、磁盘或者堆外内存中,有时还需要为数据在远程节点上生成副本,这些都由存储层提供的接口实现。具体的存储层的实现类有抽象类BlockStore,实现类DiskStore、MemoryStore、ExternalBlockStore等。

Shuffle模块若要和Storage模块进行交互,需要通过调用统一的操作类BlockManager来完成。如果把整个存储模块看成一个黑盒,BlockManager就是黑盒上留出的一个供外部调用的接口。

7.6.1    Shuffle 注册的交互  

Spark中 BlockManager在Driver端的创建,在SparkContext创建的时候会根据具体的配置创建S

关注
打赏
1659361485
查看更多评论
立即登录/注册

微信扫码登录

0.1020s