- hdfs-block位于存储空间;spark-partition位于计算空间;
- hdfs-block的大小是固定的;spark-partition大小是不固定的;
- hdfs-block是有冗余的、不会轻易丢失;spark-partition(RDD)没有冗余设计、丢失之后重新计算得到;
上图中的每个RDD包含三个partition
注意:
textFile方法底层封装的是读取MR读取文件的方式,读取文件之前先split,默认split大小是一个block大小。
RDD实际上不存储数据,这里方便理解,暂时理解为存储数据。
什么是K,V格式的RDD?
如果RDD里面存储的数据都是二元组对象,那么这个RDD我们就叫做K,V格式的RDD。
哪里体现RDD的弹性(容错)?
partition数量,大小没有限制,体现了RDD的弹性。
RDD之间依赖关系,可以基于上一个RDD重新计算出RDD。
哪里体现RDD的分布式?
RDD是由Partition组成,partition是分布在不同节点上的。
RDD提供计算最佳位置,体现了数据本地化。体现了大数据中“计算移动数据不移动”的理念。