flink状态不能跨算子

背景

在flink中进行状态的维护和管理应该是我们经常做的事情,但是有些同学认为名称一样的状态在不同算子之间的状态是同一个,事实是这样吗?

flink状态在保存点中的存放示意图

事实上,每个状态都归属于对应的算子,也就是只要算子不一样,即使底下的状态名称相同,他们也是完全不同的两个状态,示意图如下所示:
flink状态不能跨算子_第1张图片

我们对flink进行状态管理时需要注意,flink中没有所谓的跨算子共享的状态,比如如果两个算子想要同一份配置的数据,那么可以两个算子都维护一份自己的广播状态,或者这份配置就是从DB获取,这样才能保证两个算子拿到的都是同一份数据

你可能感兴趣的:(flink,大数据,kafka,flink,大数据)