spark中的partition和block的关系

作者:郭众鑫

链接:https://www.zhihu.com/question/37310539/answer/71417604

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

hdfs中的block是分布式存储的最小单元,类似于盛放文件的盒子,一个文件可能要占多个盒子,但一个盒子里的内容只可能来自同一份文件。假设block设置为128M,你的文件是250M,那么这份文件占3个block(128+128+2)。这样的设计虽然会有一部分磁盘空间的浪费,但是整齐的block大小,便于快速找到、读取对应的内容。(p.s. 考虑到hdfs冗余设计,默认三份拷贝,实际上3*3=9个block的物理空间。)

spark中的partition 是弹性分布式数据集RDD的最小单元,RDD是由分布在各个节点上的partition 组成的。partition 是指的spark在计算过程中,生成的数据在计算空间内最小单元,同一份数据(RDD)的partition 大小不一,数量不定,是根据application里的算子和最初读入的数据分块数量决定的,这也是为什么叫“弹性分布式”数据集的原因之一。

总结:

block位于存储空间、partition 位于计算空间,

block的大小是固定的、partition 大小是不固定的,

block是有冗余的、不会轻易丢失,partition(RDD)没有冗余设计、丢失之后重新计算得到

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《拆掉思维里的墙》作者古典,是的知名的生涯规划师,新精英生涯创始人。这本书被评论为“人生开窍手册”,但我读后感觉却...
    启鸿阅读 248评论 0 0
  • 01 我前两天去参加一个聚会时,同行的一个女孩问我,一般怎么过周末? 其实说来挺无趣的,因为本来比较宅,工作了一周...
    猫妖叨叨阅读 2,013评论 0 4
  • 虽然是简单背影,但是我还是很用心。
    爱生活的美好阅读 99评论 0 1
  • 我是个容易烦躁的人。 不知什么时候开始,一点小事也能让我眼前一片黑。莫名的烦躁,说话大声,面部冷漠,走路呈颓废状,...
    倚窗望星座阅读 248评论 0 0