首页 > 其他分享 >【SPARK-CORE】checkpoint机制

【SPARK-CORE】checkpoint机制

时间:2024-06-15 11:59:47浏览次数:23  
标签:CORE 存储 机制 checkpoint RDD SPARK 目录 Checkpoint

本文主要介绍SPARK RDD的checkpoinnt机制

 

checkpoint机制介绍

checkpoint是讲RDD保存到可靠的存储中的机制,主要目的是提高应用的容错能力和持久性。Checkpointing 将数据从内存中转移到磁盘存储,使得在出现节点故障时,Spark 可以从存储中恢复数据,而不需要重新计算所有的数据。这在复杂的数据处理应用程序中尤为重要。

 

如何使用

  1. 指定checkpoint目录
  2. 调用checkpoint方法
  3. 执行action算子,触发job
val conf = new SparkConf().setAppName("Checkpoint Example")
val sc = new SparkContext(conf)
// 指定checkpoint目录
sc.setCheckpointDir("hdfs://path/to/checkpoint/dir")
val rdd = sc.parallelize(Seq(1, 2, 3, 4, 5))
// 显示的调用checkpoint()
rdd.checkpoint()
// 执行 action 以触发 checkpoint
rdd.count()  

 Checkpoint 的原理

  1. 触发条件

    • Checkpoint 并不会立即执行,必须要有 action 操作(如 count()collect() 等)触发。
  2. 血统图重置

    • 当 RDD 被 checkpoint 之后,其血统图将被重置,只包含到 checkpoint 文件的引用。这极大地减少了 DAG 的复杂性和计算开销。
  3. 可靠存储

    • Checkpoint 数据被存储在设置的 checkpoint 目录中,该目录应在可靠的存储系统中,如 HDFS。
  4. 恢复机制

    • 在发生节点故障时,Spark 可以从 checkpoint 目录中恢复数据,而不必重新计算所有 RDD。

标签:CORE,存储,机制,checkpoint,RDD,SPARK,目录,Checkpoint
From: https://www.cnblogs.com/mark-blogs/p/18249146

相关文章

  • ASP.NET Core之使用OpenTelemetry的日志管理
    一、前言当前软件架构演变由单体架构=>分布式架构(SOA)=>微服务架构(mircoservice)=>云原生架构(cloudnative),所以架构的演变导致对系统日志、监控、链路等统称为观测性方案提出巨大的挑战。在单体架构时代,借助丰富的日志库基本满足对日志管理,但是面对分布式、微服务的架构盛行,......
  • Spark 面试题(十)
    1.简述Spark参数(性能)调优?Spark性能调优涉及多个方面,包括资源分配、任务并行度、内存管理、存储策略等。以下是一些关键的Spark性能调优参数:spark.executor.memory:设置Executor的内存大小。这是最关键的配置之一,需要根据集群的资源和作业的需求进行调整。spark.driver......
  • Spark 面试题(九)
    1.简述Spark的DAG以及它的生成过程?在Spark中,DAG(有向无环图)是描述作业中所有RDD转换操作依赖关系的图。DAG的生成过程是Spark作业调度的关键步骤之一。以下是对SparkDAG的简述以及它的生成过程:DAG的概念节点:DAG中的每个节点代表一个RDD。边:边表示RDD之间的依赖关系,可以......
  • CorelDRAW破解激活2024新版本序列号
    CorelDRAW破解2024最新版序列号激活码注册码,这可是个神奇的宝贝!......
  • 核心(Hutool-core)语言特性(二进码十进数-BCD)
    介绍BCD码(Binary-CodedDecimal)亦称二进码十进数或二-十进制代码,BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点式......
  • 核心(Hutool-core)工具类(社会信用代码工具-CreditCodeUtil)
    介绍法人和其他组织统一社会信用代码制度,相当于让法人和其他组织拥有了一个全国统一的“身份证号”。规则如下:第一部分:登记管理部门代码1位(数字或大写英文字母)第二部分:机构类别代码1位(数字或大写英文字母)第三部分:登记管理机关行政区划码6位(数字)第四部分:主体标识码(......
  • 核心(Hutool-core)工具类(信息脱敏工具-DesensitizedUtil)
    介绍在数据处理或清洗中,可能涉及到很多隐私信息的脱敏工作,因此Hutool针对常用的信息封装了一些脱敏方法。现阶段支持的脱敏数据类型包括:用户id中文姓名身份证号座机号手机号地址电子邮件密码中国大陆车牌,包含普通车辆、新能源车辆银行卡整体来说,所谓脱敏就是隐藏掉信......
  • 核心(Hutool-core)工具类(字符编码工具-CharsetUtil)
    介绍CharsetUtil主要针对编码操作做了工具化封装,同时提供了一些常用编码常量。常量常量在需要编码的地方直接引用,可以很好的提高便利性。字符串形式ISO_8859_1UTF_8GBKCharset对象形式CHARSET_ISO_8859_1CHARSET_UTF_8CHARSET_GBK方法编码字符串转为Charset对象Char......
  • 核心(Hutool-core)工具类(SPI加载工具-ServiceLoaderUtil)
    介绍SPI(ServiceProviderInterface),是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。更多介绍见:https://www.jianshu.com/p/3a3edbcd8f24使用定义一个接口:packagecn.hutool.test.spi;publicinterfaceSPIService......
  • 核心(Hutool-core)工具类(类加载工具-ClassLoaderUtil)
    介绍提供ClassLoader相关的工具类,例如类加载(Class.forName包装)等方法获取ClassLoadergetContextClassLoader获取当前线程的ClassLoader,本质上调用Thread.currentThread().getContextClassLoader()getClassLoader按照以下顺序规则查找获取ClassLoader:获取当前线程的Context......