然后我们来看keyedState,键控状态,这里可以看到,流过来的数据,可以看到,上面task1,task2是,
一个任务的两个并行子任务,然后,流向task1的,有两个key,一个是蓝色,一个是黄色,那么这时候,
在子任务task1的内存中就会,存蓝色的状态,和黄色的状态,后面再来了数据以后,当黄色的这个
数据再来了以后,他只能使用在task1内存中存的,黄色数据的状态.也就是说对应的数据,经过hash以后,只能使用自己hash值的,状态.
同样task2也是这样,这个过程,会被flink给咱们自动管理起来.
我们看一下键控状态都有多少,可以看到首先是值状态,这里可以用值状态,因为每个数据
都用一个key分开了,所以当然可以用一个值状态,来区分.
然后还有列表状态,因为过来的也可能是一组数据,所以可能有多个key这里,就有列表状态
然后还有一种是映射状态,map State,这个就是把数据表示为一组key value对
扫描二维码关注公众号,回复:
13737899 查看本文章
然后