内容简介:Flink 支持有状态的操作和用户方法。例如,窗口操作使用状态维护不断追加的聚合数据,sink 操作使用状态保证一致性提供 exactly-once 语义。Flink 状态主要分为两种:Flink 支持三种状态后端:
Flink 支持有状态的操作和用户方法。例如,窗口操作使用状态维护不断追加的聚合数据,sink 操作使用状态保证一致性提供 exactly-once 语义。
Flink 状态主要分为两种:
- 操作状态
- 键状态
Flink 支持三种状态后端:
- 内存
- 文件系统
- RocksDB
操作状态
操作状态(Operator State),即每个操作状态绑定到一个并发操作实例上。
Flink 提供了以下操作状态:
- Broadcast State:
BroadcastState<K,V>广播状态,存储在广播状态中的元素可以被所有的操作访问。
键状态
Flink 提供了以下键状态:
- Value State:
ValueState<T>分区的单值状态。 - Map State:
MapState<UK,UV>分区的键值状态。 - List State:
ListState<T>分区的列表状态。 - Reducing State:
ReducingState<T>每次调用add(T)添加新元素,会调用 ReduceFunction 进行聚合。传入类型和返回类型相同。 - Aggregating State:
AggregatingState<IN,OUT>每次调用add(T)添加新元素,会调用 ReduceFunction 进行聚合。传入类型和返回类型可以不同。
状态后端
内存
适用场景:调试、无状态或可以容忍数据的丢失和重复。
文件系统
适用场景:普通状态、窗口、键值结构。
RocksDB
适用场景:超大状态、超长窗口、大型键值结构。
可查询的状态
TODO
TTL
TODO
参考
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python Algorithms
Magnus Lie Hetland / Apress / 2010-11-24 / USD 49.99
Python Algorithms explains the Python approach to algorithm analysis and design. Written by Magnus Lie Hetland, author of Beginning Python, this book is sharply focused on classical algorithms, but it......一起来看看 《Python Algorithms》 这本书的介绍吧!