Flink 源码剖析|5. 键控状态的 API 层
在 Flink 中有如下 5 种键控状态(Keyed State),这些状态仅能在键控数据流(Keyed Stream)的算子(operator)上使用。键控流使用键(key)对数据流中的记录进行分区,同时也会对状态进行分区。要创建键控流,只需要在 DataStream 上使用keyBy()方法指定
Flink|《Flink 官方文档 - DataStream API - 状态与容错 - 使用状态》学习笔记
例如,Kafka Connector 是 Flink 中就使用了算子状态,Kafka consumer 的每个并行实例维护了 topic partitions 和偏移量的 map 作为它的算子状态。需要注意的是:因为在开启 TTL 特性后,状态上次的修改时间会和数据一起保存在 state backe