【Flink】基于 Flink 的流式数据实时去重-腾讯云开发者社区-腾讯云 https://cloud.tencent.com/developer/article/1707045
我们不能将状态仅交由内存管理,因为内存的容量是有限制的,当状态数据稍微大一些时,就会出现内存不够的问题。由于 Flink 本身提供了有状态的计算,并且封装了一些底层的实现,比如状态的高效存储、Checkpoint 和 Savepoint 持久化备份机制、计算资源扩缩容等问题,所以我们只需要调用 Flink API,专注于业务逻辑即可。
2.状态类型
Managed State 和 Raw State
Flink有两种基本类型的状态:托管状态(Managed State)和原生状态(Raw State)。从名称中也能读出两者的区别:Managed State 是由 Flink 管理的,Flink 帮忙存储、恢复和优化,Raw State 是开发者自己管理的,需要自己序列化。两者对比如下:
Managed State |
Raw State | |
---|---|---|
状态管理方式 |
Flink Runtime 托管,自动存储、自动恢复、自动伸缩 |
用户自己管理 |
状态数据结构 |
Flink提供的常用数据结构,如 ListState、MapState 等 |
字节数组:byte[] |
使用场景 |
绝大多数 Flink 算子 |
用户自定义算子 |
大部分情况下我们使用 Managed State 便可满足需求。
翻译
搜索
复制
标签:状态,Managed,Flink,实时,Raw,State,流式 From: https://www.cnblogs.com/papering/p/18459065