Flink系列之:Checkpoints 与 Savepoints

Flink系列之:Checkpoints 与 Savepoints

  • 一、概述
  • 二、功能和限制

一、概述

从概念上讲,Flink 的 savepoints 与 checkpoints 的不同之处类似于传统数据库系统中的备份与恢复日志之间的差异。

Checkpoints 的主要目的是为意外失败的作业提供恢复机制。 Checkpoint 的生命周期 由 Flink 管理, 即 Flink 创建,管理和删除 checkpoint - 无需用户交互。 由于 checkpoint 被经常触发,且被用于作业恢复,所以 Checkpoint 的实现有两个设计目标:i)轻量级创建和 ii)尽可能快地恢复。 可能会利用某些特定的属性来达到这个目标,例如, 作业的代码在执行尝试时不会改变。

在用户终止作业后,会自动删除 Checkpoint(除非明确配置为保留的 Checkpoint)。

Checkpoint 以状态后端特定的(原生的)数据格式存储(有些状态后端可能是增量的)

尽管 savepoints 在内部使用与 checkpoints 相同的机制创建,但它们在概念上有所不同,并且生成和恢复的成本可能会更高一些。Savepoints的设计更侧重于可移植性和操作灵活性,尤其是在 job 变更方面。Savepoint 的用例是针对计划中的、手动的运维。例如,可能是更新你的 Flink 版本,更改你的作业图等等。

Savepoint 仅由用户创建、拥有和删除。这意味着 Flink 在作业终止后和恢复后都不会删除 savepoint。

Savepoint 以状态后端独立的(标准的)数据格式存储(注意:从 Flink 1.15 开始,savepoint 也可以以后端特定的原生格式存储,这种格式创建和恢复速度更快,但有一些限制)。

二、功能和限制

下表概述了各种类型的 savepoint 和 checkpoint 的功能和限制。

✓ - Flink 完全支持这种类型的快照
x - Flink 不支持这种类型的快照
! - 虽然这些操作目前有效,但 Flink 并未正式保证对它们的支持,因此它们存在一定程度的风险

在这里插入图片描述

  • 更换状态后端 - 配置与创建快照时使用的不同的状态后端。
  • State Processor API (写) - 通过 State Processor API 创建这种类型的新快照的能力。
  • State Processor API (读) - 通过 State Processor API 从该类型的现有快照中读取状态的能力。
  • 自包含和可移动 - 快照目录包含从该快照恢复所需的所有内容,并且不依赖于其他快照,这意味着如果需要的话,它可以轻松移动到另一个地方。
  • Schema 变更 - 如果使用支持 Schema 变更的序列化器(例如 POJO 和 Avro 类型),则可以更改状态数据类型。
  • 任意 job 升级 - 即使现有算子的 partitioning 类型(rescale, rebalance, map, 等)或运行中数据类型已经更改,也可以从该快照恢复。
  • 非任意 job 升级 - 如果作业图拓扑和运行中数据类型保持不变,则可以使用变更后的 operator 恢复快照。
  • Flink 小版本升级 - 从更旧的 Flink 小版本创建的快照恢复(1.x → 1.y)。
  • Flink bug/patch 版本升级 - 从更旧的 Flink 补丁版本创建的快照恢复(1.14.x → 1.14.y)。
  • 扩缩容 - 使用与快照制作时不同的并发度从该快照恢复。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242008.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Hadoop】Zookeeper是什么?怎么理解它的工作机制?

Zookeeper是什么Zookeeper工作机制 Zookeeper是什么 Zookeeper是一个开源的分布式的,为别的分布式矿建提供协调服务的Apache项目。分布式简单地理解就是多台机器共同完成一个任务。 Zookeeper工作机制 从设计模式的角度来理解,是一个基于观察者模式设…

LV.13 D6 Linux内核安装及交叉编译 学习笔记

一、tftp加载Linux内核及rootfs 1.1 uboot内核启动命令 bootm 启动指定内存地址上的Linux内核并为内核传递参数 bootm kernel-addr ramdisk-addr dtb-addr 注: kernel-addr: 内核的下载地址 ramdisk-addr: 根文件系统的下载地址 …

postMessage——不同源的网页直接通过localStorage/sessionStorage/Cookies——技能提升

最近遇到一个问题,就是不同源的两个网页之间进行localstorage或者cookie的共享。 上周其实遇到过一次,觉得麻烦就让后端换了种方式处理了,昨天又遇到了同样的问题。 使用场景 比如从网页A通过iframe跳转到网页B,而且这两个网页…

工具系列:PyCaret介绍_Fugue 集成_Spark、Dask分布式训练

文章目录 1、分布式计算场景(1)分类(2)回归(3)时间序列 2、分布式应用技巧(1)一个更实际的案例(2) 在设置中使用lambda而不是dataframe(3) 保持确定性(4) 设置n_jobs(4)设置适当的批量大小(5) 显示进度(6)自…

java旅游攻略管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web旅游攻略管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql…

Unity新动画系统之动画层和动画遮罩

Unity新动画系统之动画层和动画遮罩 一、介绍二、动画骨骼遮罩层使用第一种就是create一个avatar Mask,如下:第二种遮罩,就是直接在动画剪辑的属性上更改,如图一为humanoid类型的动画剪辑属性: 一、介绍 之前分享过FSM动画控制系…

Python算法例25 落单的数Ⅲ

1. 问题描述 给出2n2个非负整数元素的数组,除其中两个数字之外,其他每个数字均出现两次,找到这两个数字。 2. 问题示例 给出[1,2,2,3,4,4,5,3]&#xff0c…

小白也能搞定的Python选择排序

更多Python学习内容:ipengtao.com 大家好,我是彭涛,今天为大家分享 小白也能搞定的Python选择排序。全文3300字,阅读大约10分钟 选择排序(Selection Sort)是一种简单但有效的排序算法,它通过逐步…

掌握函数式组件:迈向现代化前端开发的关键步骤(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

数据孤岛:一场数据的独立战争

在当今数字化的时代,数据已成为企业和组织最宝贵的资产之一。然而,尽管数据的价值被广泛认可,但数据的分散和孤立问题却仍然存在,这就是所谓的数据孤岛。本文将重点分析什么是数据孤岛、数据孤岛的危害以及解决数据孤岛的传统和创…

2024苹果手机iOS管理软软件iMazing2.17永久免费版下载教程

iMazing2024是一款专业的苹果IOS设备管理器,强悍的性能远超苹果的iTunes,iMazing 能让广大果粉能已自己的方式管理苹果设备,无需iTunes即可畅快传输或者保存苹果设备中的音乐、消息、文件以及其他数据。 iMazing2Mac-最新绿色安装包下载如下&…

在使用 npm install的时候提示node-sass command faile 解决方案

在使用npm install的时候错误提示node-sass 相关的。错误信息如下图: 解决方法(PS:凯哥的不适用) 出现这种问题基本是由于node版本与sass版本不匹配导致的 方案1:卸载node,安装对应版本 方案2&#xff1…

2023最新轻松升级、安装和试用Navicat Premium 16.3.3 教程详解

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

Java进阶九—数组问题(集合框架)

Java进阶九—数组问题(集合框架) 一.原生数组带来的问题 原生数组容易造成超出边界,如果非要使用传统的数组,增删改查,就要用到数据结构,非常复杂CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(…

Mac如何配置Java环境

想必很多小伙伴会遇到配置Java环境的情况,今天就跟大家一起分享下我的安装过程,记录一下也是留给需要的小伙伴学习 一、下载和安装JDK 登录OracleJDK官网:https://www.oracle.com/java/technologies/downloads/,或者OpenJDK官网…

全国(山东、安徽)职业技能大赛--信息安全管理与评估大赛题目+答案讲解

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏…

反网络爬虫的三个阶段

随着网络爬虫的普及和网络攻击的日益复杂,升级网络安全措施成为保护网站和应用程序免受恶意爬虫侵害的必要举措。本文将深入研究反网络爬虫的三个阶段,并详细探讨IP地址过滤的策略,以提升网络的安全性。 第一部分:反网络爬虫的三…

射频芯片CMT2310-DEMO 通信覆盖测试体验

CMT2310是一款超低功耗,高性能的射频收发器,申请一套原厂CMT2310演示demo来验证下Sub-868设备在国内城市环境通信覆盖效果。 城市道路实测情况 测试小结:设备已基于外置天线,且以最佳方位做验证,但测试结果数据不是很理想。

Vue3 性能优化

代码分析 由于我们使用的是vite vite打包是基于rollup 的我们可以使用 rollup 的插件 npm install rollup-plugin-visualizervite.config.ts 配置 记得设置open 不然无效 import { visualizer } from rollup-plugin-visualizer; plugins: [vue(), vueJsx(),visualizer({open:…

【PS】制作 素描 + 遗照

复制一个图层 图像-调整-黑白 图片变成黑白图片(好像遗照啊) 新建一个图层,按住ATLDETELED 填充图层颜色为白色 (设置一下颜色) 设置混合模式为:颜色减淡 设置前景色为黑色。 选择毛笔工具,在…