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原理剖析相关推荐

  1. Spark运行原理剖析

    http://ihoge.cn/2018/Spark%20Scheduler.html Apache Spark是一个开源的,强大的分布式查询和处理引擎.它提供MapReduce的灵活性和可扩展性,但 ...

  2. Spark Streaming 原理剖析

    通过源码呈现 Spark Streaming 的底层机制. 1. 初始化与接收数据 Spark Streaming 通过分布在各个节点上的接收器缓存接收到的流数据并将流数 据 包 装 成 Spark ...

  3. 101、Spark Streaming之数据接收原理剖析与源码分析

    流程图 数据接收原理剖析.png 源码剖析 入口包org.apache.spark.streaming.receiver下ReceiverSupervisorImpl类的onStart()方法 ove ...

  4. Spark源码解读之Shuffle原理剖析与源码分析

    在前面几篇文章中,介绍了Spark的启动流程Spark内核架构流程深度剖析,Spark源码分析之DAGScheduler详解,Spark源码解读之Executor以及Task工作原理剖析,Spark源 ...

  5. flink checkpoint 重启_Flink进阶教程:Checkpoint机制原理剖析与参数配置

    在Flink状态管理详解:Keyed State和Operator List State深度解析这篇文章中,我们介绍了Flink的状态都是基于本地的,而Flink又是一个部署在多节点的分布式引擎,分布 ...

  6. NameNode与DataNode的工作原理剖析

    NameNode与DataNode的工作原理剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS写数据流程 1>.客户端通过Distributed FileSys ...

  7. Elasticsearch分布式一致性原理剖析(三)-Data篇

    前言 "Elasticsearch分布式一致性原理剖析"系列将会对Elasticsearch的分布式一致性原理进行详细的剖析,介绍其实现方式.原理以及其存在的问题等(基于6.2版本 ...

  8. 【es】es 分布式一致性原理剖析(三)-Data篇

    1.概述 转载:Elasticsearch分布式一致性原理剖析(三)-Data篇 前言 "Elasticsearch分布式一致性原理剖析"系列将会对Elasticsearch的分布 ...

  9. .Spark Streaming(上)--实时流计算Spark Streaming原理介

    Spark入门实战系列--7.Spark Streaming(上)--实时流计算Spark Streaming原理介绍 http://www.cnblogs.com/shishanyuan/p/474 ...

  10. namenode和datanode工作机制_NameNode与DataNode的工作原理剖析

    NameNode与DataNode的工作原理剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS写数据流程 1>.客户端通过Distributed FileSys ...

最新文章

  1. 【Vue】谈Vue的依赖追踪系统 ——搞懂methods watch和compute的区别和联系
  2. Open NI for Kinect安装测试
  3. python中的字符串是什么,一文秒懂Python中的字符串
  4. Vue中使用Openlayers加载Geoserver发布的ImageWMS
  5. AJAX应用【股票案例、验证码校验】
  6. batch批处理程序easyadd——追加单行文本到指定txt文件末尾
  7. innerXml,outerXml,innerText的不同
  8. 阿里人工智能实验室招聘计算机视觉算法专家-交互图像方向
  9. 输入法 java_使用 Utf7ime 输入法实现中文输入 Windows+Java 平台(完整步骤版)
  10. 域中添加电脑提示重名
  11. 计算机网络属性设置方法,电脑本地连接的属性设置在哪里
  12. [转载] java中抽象类的定义和使用
  13. javascript -- 变量
  14. 清华大学软件工程课程总结
  15. 如何优化MySQL千万级大表,我写了6000字的解读
  16. ThinkPHP V5.0.5漏洞_谷歌浏览器 v80.0.3987.100 正式版——墨涩网
  17. linux温湿度传感器SHTC3驱动开发
  18. Qt示例解析 【Callout】
  19. 10大最具影响力人物
  20. 百度地图、高德地图和腾讯地图定位不准确的解决方案

热门文章

  1. Retrofit2 完全解析 探索与okhttp之间的关系
  2. 向量空间和计算机科学与技术,向量空间
  3. wpf 为html 变量赋值_JavaScript 变量
  4. redis set 超时_Redis 更新(set) key值过期时间被重置
  5. Android快速阅读依赖的代码,Java Android快速阅读完整文件
  6. 服务器空岛怎么修改地形,迷你世界空岛地形码是什么 空岛地形码怎么输入[多图]...
  7. (转) 共享个很棒的vim配置
  8. 数据之路 Day8 Matplotlib包
  9. spark面试总结1
  10. 服务器中同一个【ip:port】可以多次accept的问题