依赖关系(RDD)

依赖关系(RDD)

Content #

Spark 不需要将每个中间计算结果进行数据复制以防数据丢失,因为每一步产生的 RDD 里都会存储它的依赖关系。

这样做有助于提升 Spark 的计算效率,并且使错误恢复更加容易。

试想,在一个有 N 步的计算模型中,如果记载第 N 步输出 RDD 的节点发生故障,数据丢失,我们可以从第 N-1 步的 RDD 出发,再次计算,而无需重复整个 N 步计算过程。这样的容错特性也是 RDD 为什么是一个“弹性”的数据集的原因之一。

窄依赖(Narrow Dependency)和宽依赖(Wide Dependency)

From #