《循序渐进学Spark》一3.5 容错机制及依赖
本节书摘来自华章出版社《循序渐进学Spark》一书中的第3章,第3.5节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3.5 容错机制及依赖
一般而言,对于分布式系统,数据集的容错性通常有两种方式:
1) 数据检查点(在Spark中对应Checkpoint机制)。
2) 记录数据的更新(在Spark中对应Lineage血统机制)。
对于大数据分析而言,数据检查点操作成本较高,需要通过数据中心的网络连接在机器之间复制庞大的数据集,而网络带宽往往比内存带宽低,同时会消耗大量存储资源。
Spark选择记录更新的方式。但更新粒度过细时,记录更新成本也不低。因此,RDD只支持粗粒度转换,即只记录单个块上执行的单个操作,然后将创建RDD的一系列变换序列记录下来,以便恢复丢失的分区。
3.5.1 Lineage(血统)机制