RDD是什么?
RDD是弹性分布式数据集,是spark框架中用于数据处理的核心模型。本身并不是存储数据的集合,里面存储的是一堆算子,用于指向数据的指针
RDD为什么是分布式的?
因为数据是存储在大数据集群各个节点上面,会往数据所在节点上面传递RDD,所以RDD也是分布式的。分布式主要是指分区,有多少分区就会有多少RDD算子,每个分区执行各个的算子。
RDD的弹性
RDD默认是存放在内存中,每次执行算子都会消耗大量的内存,当内存不足的时候数据就会落盘。等后面内存逐渐释放的时候,落盘的数据会从重新加载到内存。这种内存和磁盘的数据进行有效的来回转换的过程就是RDD的弹性。
RDD的血统
根据数据血统,可以自动从节点失败中恢复分区。血统就是前一个算子是后一个算子的”爸爸“,也就是前一个算子的结果输出是下一个算子的结果输入。