spark--RDD的容错Checkpoint检查点机制-★★★★-程序员宅基地

技术标签: spark  Spark  

为什么要RDD容错-Checkpoint

  • 可以将计算复杂/成本较高且后续要被频繁使用到的比较重要的RDD的计算结果进行缓存/持久化到内存或磁盘上
  • 注意:
    • 这里存在内存中肯定是不安全的,因为一旦宕机内存中的数据就没了
    • 而存在磁盘上也不是绝对安全,因为这里说的磁盘只是普通磁盘,不是HDFS
    • 所以
    • 如果想让这类比较重要的数据数据绝对的安全应该要将数据使用Checkpoint机制存放在HDFS上

如何使用RDD容错-Checkpoint

sc.setCheckpointDir("HDFS目录") //设置Checkpoint检查点目录

rdd.checkpoint() //将该rdd的结果存入Checkpoint目录,注意是调用action操作之后才真正的执行
  • 如:
sc.setCheckpointDir("hdfs://node01:8020/ckpdir43") 
//设置检查点目录,会立即在HDFS上创建一个空目录
val rdd1 = sc.textFile("hdfs://node01:8020/wordcount/input/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)
rdd1.checkpoint //对rdd1进行检查点保存
rdd1.collect //Action操作才会真正执行checkpoint
//后续如果要使用到rdd1可以从checkpoint中读取

开发中如何选用?是使用缓存/持久化还是使用Checkpoint?

  • 对于计算复杂/成本较高且后续要被频繁使用到的比较重要的RDD的计算结果
  • 1.先进行缓存/持久化 保证后续使用的效率
  • 2.再使用Checkpoint保证数据安全
  • 这样既保证效率有保证安全

缓存/持久化和Checkpoint有啥区别?

  • 1.位置不同: 缓存/持久化放内存/普通磁盘 , Checkpoint一般都是使用HDFS分布式磁盘
  • 2.生命周期不同: 缓存/持久化会在程序结束或手动调用unpersist之后销毁 , Checkpoint会一直在HDFS直到手动销毁
  • 3.对于依赖关系的处理不同: 缓存/持久化会记录RDD的依赖关系, Checkpoint只存结果不记录依赖关系
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_46893497/article/details/113923371

智能推荐

怎么用python画天气图_用Python绘制天气图-程序员宅基地

文章浏览阅读2.3k次。#!/bin/env python#coding=utf-8import codecsimport numpy as npimport datetimeimport reimport pandas as pdimport cartopy.crs as ccrsimport cartopy.feature as cfeaturefrom metpy.calc import wind_componen..._python绘制天气图

最新版YOLOv6训练自己的数据集(超详细完整版!)-程序员宅基地

文章浏览阅读2.1w次,点赞43次,收藏188次。接着上篇文章继续写,本篇文章讲如何训练自己的数据集。从官网下载YOLOv6源码:meituan/YOLOv6: YOLOv6: a single-stage object detection framework dedicated to industrial applications. (github.com)https://github.com/meituan/YOLOv6权重根据自己需求下载,我下的是yolov6s.pt将tools文件夹中的train.py放主目录下,再创一个myself.yaml文件_yolov6训练自己的数据集

linux定时删除文件或文件夹_linux定时删除文件命令 每天-程序员宅基地

文章浏览阅读1w次,点赞8次,收藏16次。本文转载自:https://blog.csdn.net/jiangnan8710/article/details/51849748linux新人,个人记录以后备用一、常用的命令 1、查询命令 find 在删除日志前,首先要做的是查找日志所在的目录。 命令常用格式:find 目录path -name "需要匹配的文件" ..._linux定时删除文件命令 每天

初识HTML5新增(部分新增)-程序员宅基地

文章浏览阅读70次。关于article和sectionarticalsectionsectionsectionarticlesectionarticle。

武大94年博士年薪201万入职华为!学霸日程表曝光,简直降维打击!-程序员宅基地

文章浏览阅读130次。点击上方“码农突围”,马上关注这里是码农充电第一站,回复“666”,获取一份专属大礼包真爱,请设置“星标”或点个“在看程序员求职面试(ID:CoderJob)整理内容综合自:湖北日报、I...

软件设计师考点内容分析(一)_软件设计师 cfg解析-程序员宅基地

文章浏览阅读129次。1、CPU构成程序计数器(PC):存放执行指令的地方,计算之前要用到累加器(AC):暂时存放算数逻辑运算部件ALU运算的结果信息指令寄存器(IR):保存当前正在执行的一条指令地址寄存器(AR):保存当前CPU所要访问的内存单元的地址###2、DMA(Direct Memory Access,直接内存存取)DMA工作方式,是在DMA控制硬件的控制下,实现内存与外设间数据的直接传送,..._软件设计师 cfg解析

随便推点

Gitlab_gitlab clone-程序员宅基地

文章浏览阅读2.9k次。1. 如何使用Pycharm克隆Gitlab代码_gitlab clone

CCC数字钥匙设计【NFC】--NFC卡相关基础知识_type b卡与a卡-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏16次。CCC3.0的NFC技术中,除车端,手机端需包含NFC功能外,另外一般还会配置一个NFC卡,用于备份使用。本文主要介绍NFC卡相关的基础知识。_type b卡与a卡

uniapp修改h5导航栏标题_uniapph5页面微信导航栏没有title-程序员宅基地

文章浏览阅读777次。注意:如果需要在页面进入时设置标题,可以在onReady内执行,以避免被框架内的修改所覆盖。如果必须在onShow内执行需要延迟一小段时间。2、在pages.json-globalStyle节点设置navigationBarTitleText属性值也无效。在应用的标题页面通过uni.setNavigationBarTitle设置。:用户微信小程序嵌入开发的h5后,上方导航标题需要自定义。1、直接在如下图在编包时修改标题无法生效。_uniapph5页面微信导航栏没有title

Netty中的bytebuf无符号读取方法_bytebuf.readshort()-程序员宅基地

文章浏览阅读1.9k次。ByteBuf读操作我们常用的有一下几种:ByteBuf.readByte() 读一个字节,有符号ByteBuf.readUnsignedByte() 读一个字节,无符号 ByteBuf.readShort()读连续的两个字节,有符号ByteBuf.readUnsignedShort()读连续的两个字节,无符号 ByteBuf.readInt() 读连续的四个字节,有符号 ByteBuf.readU..._bytebuf.readshort()

【零基础学Java】—Java中的 >>,>>>_java中>>>0-程序员宅基地

文章浏览阅读1.3k次,点赞11次,收藏6次。【Java基础】Java中的 >>,>>>前言(做题时遇到了,记录一下2022 4 27)我们都知道对于有符号数据类型,二进制最左端的数字为符号位,0代表正,1代表负,这里先介绍几个概念逻辑左移=算术左移:高位溢出,低位补0逻辑右移:低位溢出,高位补0算术右移:低位溢出,高位用符号位的值补比如一个有符号位的8位二进制数10101010,[]是添加的数字逻辑左移一位:0101010[0]逻辑左移两位:101010[00]算术左移一位:0101010[0]算术_java中>>>0

手机有一个时钟的标志_各式各样的时钟,总有一款会适合你的家-程序员宅基地

文章浏览阅读1k次。完美的配件,把任何中世纪的现代客厅、卧室、办公室、餐厅或书房结合在一起。现代时钟凭借其无与伦比的风格和永恒的设计,可以说是你和你的家居装饰都不想错过的一件装饰配件。因此,无论您是在寻找现代蓝牙音响时钟还是经典的乔治尼尔森球钟,这里都有给你介绍!颜色的突兀搭配大胆的形状告诉我们,这些一定来自乔治·纳尔逊的维特拉陶瓷钟的收藏。一个有趣而前卫的线条,被认为是现代美国设计的标志。这款日晒挂钟以其色彩斑斓的..._设计一款独一独二的时钟说一说这个时钟

推荐文章

热门文章

相关标签