Hi KeyedState 的操作实际会针对当前的 key,也就是 keyBy 之后得到的 key,但是这个 key 用户看不到。在一个 operator 中 state 的数目是你创建的数目,但是每个 state 可以有多个 KV 对,其中 K 是 keyby 的 key,V 可以是 value,list,map 等。同一个 operator 上不同的 key 的 state 保证能够正确读写的。
Best, Congxian Robert.Zhang <173603...@qq.com> 于2020年7月8日周三 下午3:41写道: > Hello,all > 目前遇到一个关于state的使用问题 > DataStream<Tuple2<String, String>> result = > iteration.closeWith( > > iteration.keyBy(0).process(new RichMapFunc()); > > > > 我在richmapfunc里使用了state,那么每一次迭代的时候,这个state还是同一个吗? > 如果我对result这个结果stream继续使用了keyby(0)的话,state也是同一个么? > 此外,如果我对一个stream进行keyby之后,key一直是不变的, > 但是map等operator之后返回的并非是keyedstream(operator不对key进行操作),是否只能继续keyby,还是有更好的方式