RDD:即弹性分布式数据集,它具备像MapReduce等数据流模型的容错特性,能在并行计算中高效地进行数据共享进而提升计算性能。RDD中提供了一些转换操作,在转换过程中记录“血统”关系,但在RDD中并不会存储真正的数据,只是对数据和操作的描述。
RDD是只读的、分区记录的集合
RDD有5大特性,分别如下:
(1)一系列的分区信息。
RDD源码对应的方法是:
protected def getPartitions:Array[Partition]
(2)由一个函数计算每一个分片。
Spark中的RDD的计算是以分片为单位的,每个RDD都会实现compute函数以达到这个目的。\
def compute(split:Partition,context:TaskContext):Iterator[T]
(3)