怎样理解spark中的partition和block的关系
2018-03-04 09:42
183 查看
一、
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)没有冗余设计、丢失之后重新计算得到
相关文章推荐
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系和Application,Driver,Job,Task,Stage理解
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系和Application,Driver,Job,Task,Stage理解
- spark中的几个概念File,Block,Split,Task,Partition,RDD以及节点数、Executor数、core数目的关系。
- spark中的partition和block的关系
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- 【Spark】worker、executor、stage、task、partition关系
- Spark的Straggler深入学习(2):思考Block和Partition的划分问题——以论文为参考
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- 第9将 网络编程-怎样理解应用程序协议和网络通讯协议的关系
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系