Flink State?
发布时间:2022-09-02 16:59:19
发布人:wjy
State:指一个具体的Task/Operator的状态。
State可以被记录,在失败的情况下数据还可以恢复,Flink中有两种基本类型的State: Keyed State, Operator State。
Sate在数据在容错恢复起了非常关键的作用 - Operator State Task里面没有Shuffle操作的State,换句话说,就是没有keyBy操作
1. Operator State是Task级别的state,就是每个Task对应一个State
2. Kafka Connector Source中的每个分区(Task)都需要记录消费的Topic的Partition和Offset等信息,这些信息就是state。
- Keyed State表示和Key相关的一种State,基于KeyedStream上的状态。Keyed State事先按照Key对数据集进行了分区,每个Key State仅对应一个Operator和Key的组合。Keyed State可以通过Key Groups进行管理,主要用于当算子并行度发生变化时,自动重新分布Keyed State数据。在系统运行过程种,一个Keyed算子实例可能运行一个或者多个Key Groups 的Keys