RDD中partion和block的对比

第一段引用:http://www.tuicool.com/articles/fyuABfQ

RDD是一个分布式数据集,顾名思义,其数据应该分部存储于多台机器上。事实上,每个RDD的数据都以Block的形式存储于多台机器上,下图是Spark的RDD存储架构图,其中每个Executor会启动一个BlockManagerSlave,并管理一部分Block;而Block的元数据由Driver节点的BlockManagerMaster保存。BlockManagerSlave生成Block后向BlockManagerMaster注册该Block,BlockManagerMaster管理RDD与Block的关系,当RDD不再需要存储的时候,将向BlockManagerSlave发送指令删除相应的Block。

                                    


 以我的理解RDD的block仅仅是RDD源文件的物理存储形式的单位。而我们知道spark的快速正是因为其对内存的利用。既然block是对物理存储的单位表示,那spark就用partion来表示内存空间的单位表示。block和partion就像hadoop MR和spark的对比,一一对应但是互不相关。

最后引用别人一个总结:

block位于存储空间、partion位于计算空间,
    block的大小是固定的、partion大小是不固定的,
    block是有冗余的、不会轻易丢失,partion(RDD)没有冗余设计(需要的话需要手动配置)、丢失之后重新计算得到。

注意一点:网上有教程说的slices其实是指partion,还是尽量说成partion吧。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值