Spark- Checkpoint原理剖析
Checkpoint,是Spark 提供的一个比较高级的功能。有的时候,比如说,我们的 Spark 应用程序,特别的复杂,然后从初始的RDD开始,到最后拯个应用程序完成,有非常多的步骤,比如超过20个transformation 操作。而且整个应用运行的时间也特别的长,比如通常要运行1-5小时。
在上述的情况下,就比较适合使用checkpoint 功能。因为,对于特别复杂的 Spark应用,有很高的风险,会出现某个要反复使用的RDD,因为节点的故障,虽然之前持久化过,但是还是导致数据丢失了。那么也就是说,出现失败的时候,没有容错机制,所以当后面的 transformation 操作,又要使用到该RDD时,就会发现数据丢失了(Cache Manager),此时如果没有进行容错处理的话,那么可能就又要重新计算一次数据。简而言之,针对上诉情况,整个Spark应用程序的容错性很差。
所以,针对上诉的复杂Spark 应用的问题(没有容错机制的问题)。就可以使用checkpoint 功能。
checkpoint的功能是什么意思?checkpoint就是说,对于一个复杂的RDD chain,我们如果担心中间某些关键的,在后面会反复几次使用的RDD,可能会因为节点的故障,导致持久化数据的丢失,那么就可以针对该RDD格外启动 checkpoint 机制,实现容错和高可用。
checkpoint 首先要调用 SparkContext 的Checkpoint() 方法,设置一个容错的文件系统的目录,比如说 HDFS ;然后,对RDD调用checkpoint() 方法。之后,在RDD所处的 job 运行结束之后,会启动一个单独的 job,来将checkpoint 过的RDD数据写入之前设置的文件系统,进行高可用、容错的类持久化操作。
那么此时,即便在后面使用RDD时,他的持久话的数量,不小心丢失了,但是还是可以从它的checkpoint文件中直接读取数据,而不是重新计算。
转载于:https://www.cnblogs.com/RzCong/p/7721889.html
Spark- Checkpoint原理剖析相关推荐
- Spark运行原理剖析
http://ihoge.cn/2018/Spark%20Scheduler.html Apache Spark是一个开源的,强大的分布式查询和处理引擎.它提供MapReduce的灵活性和可扩展性,但 ...
- Spark Streaming 原理剖析
通过源码呈现 Spark Streaming 的底层机制. 1. 初始化与接收数据 Spark Streaming 通过分布在各个节点上的接收器缓存接收到的流数据并将流数 据 包 装 成 Spark ...
- 101、Spark Streaming之数据接收原理剖析与源码分析
流程图 数据接收原理剖析.png 源码剖析 入口包org.apache.spark.streaming.receiver下ReceiverSupervisorImpl类的onStart()方法 ove ...
- Spark源码解读之Shuffle原理剖析与源码分析
在前面几篇文章中,介绍了Spark的启动流程Spark内核架构流程深度剖析,Spark源码分析之DAGScheduler详解,Spark源码解读之Executor以及Task工作原理剖析,Spark源 ...
- flink checkpoint 重启_Flink进阶教程:Checkpoint机制原理剖析与参数配置
在Flink状态管理详解:Keyed State和Operator List State深度解析这篇文章中,我们介绍了Flink的状态都是基于本地的,而Flink又是一个部署在多节点的分布式引擎,分布 ...
- NameNode与DataNode的工作原理剖析
NameNode与DataNode的工作原理剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS写数据流程 1>.客户端通过Distributed FileSys ...
- Elasticsearch分布式一致性原理剖析(三)-Data篇
前言 "Elasticsearch分布式一致性原理剖析"系列将会对Elasticsearch的分布式一致性原理进行详细的剖析,介绍其实现方式.原理以及其存在的问题等(基于6.2版本 ...
- 【es】es 分布式一致性原理剖析(三)-Data篇
1.概述 转载:Elasticsearch分布式一致性原理剖析(三)-Data篇 前言 "Elasticsearch分布式一致性原理剖析"系列将会对Elasticsearch的分布 ...
- .Spark Streaming(上)--实时流计算Spark Streaming原理介
Spark入门实战系列--7.Spark Streaming(上)--实时流计算Spark Streaming原理介绍 http://www.cnblogs.com/shishanyuan/p/474 ...
- namenode和datanode工作机制_NameNode与DataNode的工作原理剖析
NameNode与DataNode的工作原理剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS写数据流程 1>.客户端通过Distributed FileSys ...
最新文章
- 【Vue】谈Vue的依赖追踪系统 ——搞懂methods watch和compute的区别和联系
- Open NI for Kinect安装测试
- python中的字符串是什么,一文秒懂Python中的字符串
- Vue中使用Openlayers加载Geoserver发布的ImageWMS
- AJAX应用【股票案例、验证码校验】
- batch批处理程序easyadd——追加单行文本到指定txt文件末尾
- innerXml,outerXml,innerText的不同
- 阿里人工智能实验室招聘计算机视觉算法专家-交互图像方向
- 输入法 java_使用 Utf7ime 输入法实现中文输入 Windows+Java 平台(完整步骤版)
- 域中添加电脑提示重名
- 计算机网络属性设置方法,电脑本地连接的属性设置在哪里
- [转载] java中抽象类的定义和使用
- javascript -- 变量
- 清华大学软件工程课程总结
- 如何优化MySQL千万级大表,我写了6000字的解读
- ThinkPHP V5.0.5漏洞_谷歌浏览器 v80.0.3987.100 正式版——墨涩网
- linux温湿度传感器SHTC3驱动开发
- Qt示例解析 【Callout】
- 10大最具影响力人物
- 百度地图、高德地图和腾讯地图定位不准确的解决方案
热门文章
- Retrofit2 完全解析 探索与okhttp之间的关系
- 向量空间和计算机科学与技术,向量空间
- wpf 为html 变量赋值_JavaScript 变量
- redis set 超时_Redis 更新(set) key值过期时间被重置
- Android快速阅读依赖的代码,Java Android快速阅读完整文件
- 服务器空岛怎么修改地形,迷你世界空岛地形码是什么 空岛地形码怎么输入[多图]...
- (转) 共享个很棒的vim配置
- 数据之路 Day8 Matplotlib包
- spark面试总结1
- 服务器中同一个【ip:port】可以多次accept的问题