(十六)Flink 状态管理

目录

状态类型

Keyed State

Keyed State 分类

状态有效期(TTL)

过期数据的清理

Operator State

Broadcast State

状态存储

State Backends 分类

设置 State Backend

RocksDB State Backend 详解


在 Flink 架构体系中,状态(State)计算是其重要的特性之一。状态用来保存中间计算结果或缓存数据。比如:

  • 当应用程序搜索某些事件模式时,状态将存储到目前为止遇到的事件序列。
  • 当按分钟/小时/天聚合事件时,状态保存待处理的聚合。
  • 当在数据点流上训练机器学习模型时,状态保存模型参数的当前版本。
  • 当需要管理历史数据时,状态允许有效访问过去发生的事件。

根据数据集是否按照 Key 划分,将状态分为 Keyed State 和 Operator State(Non-keyed State)两种类型。本章我们将从状态的类型、状态有效期、状态存储、状态持久化方面详细进行介绍。

状态类型

Flink 中定义了多种 State,基于不同的数据结构,应用不同的场景。

  • ValueState: 保存一个可以更新和检索的值(每个值都对应到当前的输入数据的 key,因此算子接收到的每个 key 都可能对应一个值)。这个值可以通过 update(T) 进行更新,通过 T value() 进行检索。
  • ListState: 保存一个元素的列表。可以往这个列表中追加数据,并在当前的列表上进行检索。可以通过 add(T) 或者 addAll(List) 进行添加元素,通过 Iterable get() 获得整个列表。还可以通过 update(List) 覆盖当前的列表。
  • ReducingState: 保存一个单值,表示添加到状态的所有值的聚合。接口与 L

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

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

相关文章

8.20T3 无损加密(线性代数转LGV+状压dp+高维前缀和)

http://cplusoj.com/d/senior/p/NODSX2301C 对于式子: 这个神秘的线性代数形式比较难处理,但我们可以考虑其组合意义。行列式现存的可用组合意义之一就是LGV(矩阵式不太可用) 先把原先的矩阵转化为一个有向图。现在我们要构造一…

ArcGIS如何将投影坐标系转回为地理坐标系

有时候两个数据,一个为投影坐标系,另一个为地理坐标系时,在GIS软件中位置无法叠加到一起,这需要将两个或多个数据的坐标系统一,可以直接将地理坐标系的数据进行投影,或将投影坐标系转为地理坐标系。下面介绍…

自养号测评技术:如何挑选适合的IP环境方案

市面上的IP服务及常见问题 当前市场上常见的IP服务包括911、Luminati、Google Fi、TM流量卡、Socks专线等。这些服务在为用户提供网络代理或VPN服务时,常会遇到以下主要问题: 1. 高负载与重复率高:由于使用人数众多,导致网络拥堵…

【jvm】栈是否存在垃圾回收

目录 一、栈的特点1.1 栈内存分配1.2 栈的生命周期1.3 垃圾回收不直接涉及 二、堆与栈的区别三、总结 一、栈的特点 1.1 栈内存分配 1.栈内存分配是自动的,不需要程序员手动分配和释放。 2.每当一个方法被调用时,JVM就会在这个线程的栈上创建一个新的栈…

移动端爬虫学习记录

免责声明 本文旨在探讨移动端爬虫技术的应用和挑战,仅供教育和研究用途。请确保在合法合规的框架内使用爬虫技术,遵循相关法律法规和网站的使用条款。作者不对因使用本文内容而产生的任何法律或安全问题承担责任。 1、初识移动端爬虫 学习移动端爬虫的原…

docker映射了端口,宿主机不生效

1、问题产生原因 docker run -d --name my-redis -p 6379:6379 -v /usr/redis.conf:/usr/local/etc/redis/redis.conf team-redis:3.2 redis-server /usr/local/etc/redis/redis.conf 这容器跑起来了,端口6379没用。搞的我一直怀疑哪里出错了,查看配置…

继承与构造函数与析构函数

一 #include<iostream> using namespace std; class father { public:father(){cout << "father无参构造函数" << endl;}father(int x):fa(x){cout << "father单参构造函数" << endl;}~father() {cout << "fath…

【docker compose 部署和 go 热部署工具fresh】

文章目录 docker-compose.yml 文件配置得很全面&#xff0c;以下是一些注释安装 fresh配置 fresh注意事项 docker-compose.yml 文件配置得很全面&#xff0c;以下是一些注释 version: 3 services:# MySQL 服务geekai-mysql:image: registry.cn-shenzhen.aliyuncs.com/geekmast…

计算机视觉(CV)技术的优势和挑战。

计算机视觉&#xff08;CV&#xff09;技术在许多领域中具有广泛的应用&#xff0c;并且具有一些优势和挑战。 优势&#xff1a; 1. 高效性&#xff1a;CV技术能够快速处理大量的图像和视频数据&#xff0c;以实现实时的分析和决策。 2. 自动化&#xff1a;CV技术可以自动化地…

CSS的table显示值:布局艺术的幕后推手

CSS的table显示值&#xff1a;布局艺术的幕后推手 摘要 CSS&#xff08;层叠样式表&#xff09;是构建网页布局的核心技术之一。display: table;是CSS中一个强大的属性&#xff0c;它允许元素表现得像HTML表格一样。本文将深入探讨table显示值如何影响元素的布局&#xff0c;…

C++ QT 单例模式

在 C 中&#xff0c;使用 Qt 框架实现单例模式可以确保一个类只有一个实例&#xff0c;并提供一个全局访问点。以下是一个简单的 C Qt 单例模式实现示例。 1. 饿汉式单例模式 饿汉式单例模式在类加载时就初始化单例对象。 // MySingleton.h #ifndef MYSINGLETON_H #define M…

Kakfa的核心概念-Replica副本(kafka创建topic并指定分区和副本的两种方式)

Kakfa的核心概念-Replica副本&#xff08;kafka创建topic并指定分区和副本的两种方式&#xff09; 1、kafka命令行脚本创建topic并指定分区和副本2、springboot集成kafka创建topic并指定分区和副本2.1、springboot集成kafka2.1.1、springboot集成kafka创建topic并指定5个分区和…

VScode 连接远程服务器

1、 2、 3、免密登录 1、本地生成密钥 ssh-keygen2、生成的密钥默认在 C:\Users\***\.ssh\ 中3、将私钥 C:\Users\***\.ssh\id_rsa 添加到上面的配置文件中的 IdentityFile 项内4、将公钥 C:\Users\***\.ssh\id_rsa\id_rsa.pub 拷贝到远程 ~/.ssh/authorized_keys 中 4、远程…

【精选】基于django柚子校园影院(咨询+解答+辅导)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

Golang | Leetcode Golang题解之第371题两整数之和

题目&#xff1a; 题解&#xff1a; func getSum(a, b int) int {for b ! 0 {carry : uint(a&b) << 1a ^ bb int(carry)}return a }

python | Python集成学习和随机森林算法

本文来源公众号“python”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;Python集成学习和随机森林算法 集成学习是一种通过组合多个模型来提高预测性能的机器学习方法。它通过将多个弱学习器的结果结合起来&#xff0c;形成一个…

音频信号编解码原理及在视频制作中的应用

目录 音频编码与解码概述 常见的音频编码格式 无损与有损编解码器的区别 视频制作中音频编解码器的选择 音频编解码器对延迟和实时传输的影响 结论 音频编码与解码概述 音频编码是指将原始音频数据转换成一种更高效、更紧凑的格式的过程&#xff0c;目的是为了减少存储空…

【算法学习笔记】29:动态规划中可丢弃状态的维度压缩

1 动机 当状态 i i i只依赖于前置状态 i − 1 i - 1 i−1&#xff0c;并且在计算出状态 i i i之后就可以丢弃状态 i − 1 i - 1 i−1时的解时&#xff0c; i − 1 i - 1 i−1就成为一个可丢弃的状态&#xff0c;因此就可以将 i i i这个维度直接压缩&#xff08;省略&#xff0…

「Python数据分析」Pandas进阶,利用concat()函数连接数据(一)

在我们迈向中高级出局数据分析的过程中&#xff0c;数据的合并和连接&#xff0c;是一个非常重要的技能。 现实中&#xff0c;分散在各种数据库&#xff0c;各种数据表格&#xff0c;各种数据存储设备当中的&#xff0c;各式各样的数据&#xff0c;是我们进行数据分析的基础&a…

SmartGit-Git版本控制系统的图形化客户端

SmartGit&#xff1a; SmartGit是一款免费的、专业的Git版本控制系统的图形化客户端。它适用于Windows、Mac和Linux等多种操作系统&#xff0c;提供了直观的用户界面和丰富的功能。支持创建、克隆、推送、拉取、合并和管理Git仓库&#xff0c;以及强大的分支管理功能。还提供了…