Spark的容错机制

分布式数据集的容错

方式:1)数据检查点:会发生拷贝,浪费资源
2)记录数据的更新:默认方式。在部分计算结果丢失时,只需要根据这个Lineage重算即可。每次更新都会记录下来,比较复杂且比较消耗性能
特点:Spark选择记录更新的方式

Spark的容错机制

对应:RDD的容错机制
分类:1)Lineage机制
2)Checkpoint机制

Lineage机制

含义:RDD的Lineage记录的是粗颗粒度的特定数据Transformation操作行为
特点:1)当这个RDD的部分分区数据丢失时,它可以通过Lineage获取足够的信息来重新运算和恢复丢失的数据分区
2)因为这种粗颗粒的数据模型,限制了Spark的运用场合,所以Spark并不适用于所有高性能要求的场景,但同时相比细颗粒度的数据模型,也带来了性能的提升

依赖

别称:依赖关系
含义:RDD每一个转换操作都会生成一个新的RDD,RDD之间形成如流水线一样的前后依赖关系
分类:窄依赖、宽依赖
对应:RDD的dependencies()接口(getDependencies方法)
作用:用来解决数据容错的高效性

窄依赖

别称:Narrow Dependency
含义:父RDD中的分片具体交给哪个唯一的子RDD
对应:一对一或多对一
特点:无Shuffle操作
分类:map、filter、union

宽依赖

别称:Shuffle Dependency、Wide Dependency
含义:多个子RDD的分片会依赖同一个父RDD分片,或者说同一个父RDD的分片都有多个子RDD的分片使用
对应:一对多
特点:有Shuffle操作
分类:reduceByKey、groupByKey、distinct、repartition、join

Checkpoint容错机制

基础:Lineage
含义:通过CheckPoint进行容错
作用:把内存中的变化刷新到持久存储,斩断依赖链
特点:checkpoint是transformation
举例:sc.setCheckpointDir(“hdfs://master:9000/…”) //在目录创建一个文件夹
rdd.checkpoint //对象面的rdd设置checkpoint

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值