RDD
RDD定义
弹性分布式数据集,
弹性:存储弹性,内存与磁盘的自动切换
容错弹性,数据丢失可以自动恢复
计算弹性,计算出错重试机制
分片弹性,可根据需要重新分片
分布式:数据存储在大数据集群不同节点上
数据集:RDD封装了计算逻辑,并不保存数据
数据抽象:RDD是一个抽象类,需要子类具体实现
不可变:RDD封装了计算逻辑是不可变的,如果想改变要重新定义RDD
可分区、并行计算
RDD的特性
A list of partitions
多个分区,分区可以看成是数据集的基本组成单位
A function for computing each split
计算每个切片(分区)的函数.
A list of dependencies on other RDDs
与其他 RDD 之间的依赖关系
Optionally, a Partitioner for key-value RDDs (e.g. to say that the RDD is hash-partitioned)
对存储键值对的 RDD,还有一个可选的分区器
RDD编程
导入依赖
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>