Spark RDD实现基于Lineage的容错机制,基于RDD的各项transformation构成了compute chain,在部分计算结果丢失的时候可以根据Lineage重新计算恢复。在窄依赖中,在子RDD的分区丢失要重算父RDD分区时,父RDD相应分区的所有数据都是子RDD分区的数据,并不存在冗余计算;在宽依赖情况下,丢失一个子RDD分区重算的每个父RDD的每个分区的所有数据并不是都给丢失的子RDD分区用的,会有一部分数据相当于对应的是未丢失的子RDD分区中需要的数据,这样就会产生冗余计算开销和巨大的性能浪费。
本文出自 “王家林大数据语录” 博客,请务必保留此出处http://wangjialin2dt.blog.51cto.com/10467465/1723418
王家林每日大数据语录Spark篇0021(2015.11.18于珠海)
原文:http://wangjialin2dt.blog.51cto.com/10467465/1723418