当前位置:   article > 正文

(十六)Flink 状态管理

(十六)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: 保存一个元素的列表。可以
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/1021855
推荐阅读
相关标签
  

闽ICP备14008679号