宽窄依赖:
- 定义:在Apache Spark中,宽窄依赖是指RDD(弹性分布式数据集)之间的依赖关系。
- 宽依赖:当一个父RDD的分区被多个子RDD的分区所依赖时,称为宽依赖。宽依赖会导致数据的Shuffle操作,即数据需要在不同的节点之间进行重新分布。
定义:父RDD的一个分区的数据给了子RDD的多个分区【需要调用Shuffle的分区器来实现】特点:一对多,必须经过Shuffle,性能相对较慢,可以实现全 局分区、排序、分组等
- 窄依赖:当一个父RDD的每个分区最多被一个子RDD的一个分区所依赖时,称为窄依赖。窄依赖不会导致数据的Shuffle操作,数据可以在同一个节点上处理。
定义:父RDD的一个分区的数据只给了子RDD的一个分区 【不用经过Shuffle】
特点:一对一或者多对一,不经过Shuffle,性能相对较快, 但无法实现全局分区、排序、分组等
总结:
- 宽窄依赖是Spark计算框架中的一个重要概念,影响着数据处理的效率和性能