天天看点

Spark的RDD的依赖关系

RDD的依赖关系:宽依赖、窄依赖、Lineage(血统关系)

宽依赖:指的是多个子RDD的Partition会依赖同一个父RDD的Partition,会引起shuffle(可以理解为超生)

窄依赖:指的是每一个父RDD的Partition最多被子RDD的一个Partition使用(可以理解为独生子女)

Spark的RDD的依赖关系

Lineage:应用在整个过程中,RDD之间形成的产生关系,就叫做血统关系,RDD在没有持久化的时候默认是不保存的,如果需要那么根据血统关系来重新计算。

RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。

Spark的RDD的依赖关系

推荐:

Spark的RDD介绍

Spark的RDD操作:转换(transformation)和行动(action)

Spark的DAG图

继续阅读