大数据_Flink_Java版_状态管理(3)_键控状态---Flink工作笔记0062

然后我们来看keyedState,键控状态,这里可以看到,流过来的数据,可以看到,上面task1,task2是,

一个任务的两个并行子任务,然后,流向task1的,有两个key,一个是蓝色,一个是黄色,那么这时候,

在子任务task1的内存中就会,存蓝色的状态,和黄色的状态,后面再来了数据以后,当黄色的这个

数据再来了以后,他只能使用在task1内存中存的,黄色数据的状态.也就是说对应的数据,经过hash以后,只能使用自己hash值的,状态.

同样task2也是这样,这个过程,会被flink给咱们自动管理起来.

      我们看一下键控状态都有多少,可以看到首先是值状态,这里可以用值状态,因为每个数据

都用一个key分开了,所以当然可以用一个值状态,来区分.

      然后还有列表状态,因为过来的也可能是一组数据,所以可能有多个key这里,就有列表状态

然后还有一种是映射状态,map State,这个就是把数据表示为一组key value对

    然后

猜你喜欢

转载自blog.csdn.net/lidew521/article/details/123548367