◆◆0Spark RDD是具体怎么容错的,基本原理是什么? 黛云轩 2022/01/11 云圈子 325 1 百度已收录 阿里云双十二 新老用户服务器仅需57元起 双十二低至1折 1核2G 云服务器390元/1年 学生用户专属 18-24岁用户直享¥9.5/月 云·速成美站 千套模板,自己动手建网站 企业用户优选 2核8G内存5M带宽1015元/3年 多产品一键采购 购物车采购可减5000元 云服务器全球购 海外1核2G服务器低至2折 腾讯云双十一 2核4G 3M 698元/3年 过期域名预定 过期域名快速查询和抢注服务 ECS 云服务器 SWAS 轻量应用服务器 RDS 云数据库 Redis 云数据库 CDN 内容分发 OSS 对象存储 SLB 负载均衡 NAT 网关 DNS 云解析 MAIL 企业邮箱 WAF 应用防火墙 DDoS 高防 SMS 短信包 MK 云市场 XIN 心选 IM 商标注册 JZ 自营建站Spark RDD是具体怎么容错的,基本原理是什么?上一篇: Docker中的COPY指令的含义是什么?下一篇: HBase的基本概念有哪些?
一般来说,分布式数据集的容错性有两种方式:数据检查点和记录数据的更新。
2021-12-13 19:40面向大规模数据分析,数据检查点操作成本很高,需要通过数据中心的网络连接在机器之间复制庞大的数据集,而网络带宽往往比内存带宽低得多,同时还需要消耗更多的存储资源。
因此,Spark选择记录更新的方式。但是,如果更新粒度太细太多,那么记录更新成本也不低。因此,RDD只支持粗粒度转换,即只记录单个块上执行的单个操作,然后将创建RDD的一系列变换序列(每个RDD都包含了他是如何由其他RDD变换过来的以及如何重建某一块数据的信息。因此RDD的容错机制又称“血统(Lineage)”容错)记录下来,以便恢复丢失的分区。
Lineage本质上很类似于数据库中的重做日志(Redo Log),只不过这个重做日志粒度很大,是对全局数据做同样的重做进而恢复数据。