1. RDD
RDD(Resilient Distributed Dataset)是弹性分布式数据集的简称。具有以下特点:
- RDD由一系列的分区组成,一个数据块对应一个分区
- 每个分区的数据有相应的函数对其进行计算
- 不同的RDD相互依赖
- 对于k-v键值对RDD数据,由分区器(Partioner)根据指定的key按照特定的分区算法对数据进行分区
- 为了实现计算向本地数据移动,RDD记录了需要计算的数据的依赖的路径
2. RDD依赖关系
RDD依赖分为窄依赖和宽依赖(shuffle依赖),特点如下
- 窄依赖(NarrowDependency)
一对一依赖(OneToOneDependency):RDD相互之间是一对一关系,且分区也是一对一的关系
范围依赖(RangeDependency):RDD相互之间与分区相互之间是多对一,或者是一对一关系 - shuffle依赖(shuffleDependency): 分区之间是多对多的关系