当前位置:网站首页>Flink中的状态管理
Flink中的状态管理
2022-07-26 22:40:00 【不会打球的摄影师不是好程序员】
1.状态的概念
流式计算中分为无状态和有状态两种情况:
1.无状态是计算观察每个独立的事件,并根据最后一个事件输出结果。
2.有状态的计算则会基于多个事件输出结果
2.状态的分类
1.算子状态(operator state)

作用的范围限定为算子任务,同一并行的任务所处理的所有数据都可以访问到相同的状态,状态对于同一任务而言是共享的。算子状态提供了三种基本的数据结构:
1.列表状态(List State)
将状态表示为一组数据的列表
2.联合列表状态(Union list state)
也是将状态表示为一个条目列表,与List State的区别是,在发生故障时或从保存点启动应用程序时,状态的回复方式不同
3.广播状态(Broadcast state)
如果一个算子有多项任务,而它的每项任务状态又都相同,那么这种特殊情况最适合应
用广播状态。
2.键控状态(keyed state)

根据输入数据流中定义的键(key)来进行维护或者访问的,flink为每个键都维护了一个实例状态,并将具有有相同键的所有数据,都分区到同一个算子任务中,这个任务会维护和处理这个 key 对应的状态。键控状态提供了以下几种数据类型:
1.ValueState[T]保存单个的值,值的类型为T
(1)get 操作: ValueState.value()
(2)set 操作: ValueState.update(value: T)
2.ListState[T]保存一个列表,列表里的元素的数据类型为T
ListState.add(value: T)
ListState.addAll(values: java.util.List[T])
ListState.get()返回 Iterable[T]
ListState.update(values: java.util.List[T])
3.MapState[K,V]保存K-V键值对
MapState.get(key: K)
MapState.put(key: K, value: V)
MapState.contains(key: K)
MapState.remove(key: K)
4.ReducingState[T]
5.AggregateState[I,O]
边栏推荐
猜你喜欢
![[CISCN2019 华北赛区 Day1 Web2]ikun](/img/80/53f8253a80a80931ff56f4e684839e.png)
[CISCN2019 华北赛区 Day1 Web2]ikun
![[watevrCTF-2019]Cookie Store](/img/24/8baaa1ac9daa62c641472d5efac895.png)
[watevrCTF-2019]Cookie Store

Detailed explanation of CSRF forged user request attack
![[By Pass] 文件上传的绕过方式](/img/72/d3e46a820796a48b458cd2d0a18f8f.png)
[By Pass] 文件上传的绕过方式

10个Web API

Two methods of automated testing XSS vulnerabilities using burpsuite
![[HFCTF2020]EasyLogin](/img/23/91912865a01180ee191a513be22c03.png)
[HFCTF2020]EasyLogin

Vector size performance problems

el-checkbox中的checked勾选状态问题 2021-08-02

10 Web APIs
随机推荐
[HarekazeCTF2019]encode_and_encode
DOM day_03(7.11) 事件冒泡机制、事件委托、待办事项、阻止默认事件、鼠标坐标、页面滚动事件、创建DOM元素、DOM封装操作
[CTF攻防世界] WEB区 关于备份的题目
[CTF攻防世界] WEB区 关于Cookie的题目
箭头函数详解 2021-04-30
Search engine realizes keyword highlighting
深入理解Golang - 闭包
[4.6 detailed explanation of Chinese remainder theorem]
Export and import in ES6
2022.7.14DAY604
JSCORE day_ 02(7.1)
Leetcode 302 weekly games
6_ Gradient descent method
JSCORE day_ 05(7.6)
Neo4j基础指南(安装,节点和关系数据导入,数据查询)
Learn json.stringify again
DOM day_04(7.12)BOM、打开新页面(延迟打开)、地址栏操作、浏览器信息读取、历史操作
JSCORE day_ 01(6.30) RegExp 、 Function
Dataframe of sparksql
JSCORE day_04(7.5)