什么是RDD?
Resilient Distributed Dataset,弹性分布式数据集,是spark中最基本的数据抽象。
代码中是一个抽象类,它代表一个弹性的、不可变的、可分区、元素可并行计算的集合。
- 弹性
存储的弹性:内存和磁盘自动切换。
容错的弹性:数据丢失可以自动恢复。
计算的弹性:计算出错重试机制。
分片的弹性:可根据需要重新分片。 - 分布式
不同分区的数据存储在不同节点上。 - 数据集
RDD封装了计算逻辑,并不存储数据。 - 数据抽象
RDD是一个抽象类,其功能由其子类实现。 - 不可变
RDD封装了计算逻辑,计算逻辑是不可变的,想要改变,只能生成新的RDD,在新的RDD中封装计算逻辑。 - 可分区、并行计算