可以的话,使用ConnectedStream即可。 StreamA和StreamB连接之后的算子中定义2个MapState状态即可。
hl9...@126.com <hl9...@126.com> 于2020年11月4日周三 下午3:08写道: > 感谢。我这个场景中op1和op2是串行的,那只能把op1的状态也发到下游的op2。 > > > > hl9...@126.com > > 发件人: Qi Kang > 发送时间: 2020-11-04 14:53 > 收件人: user-zh > 主题: Re: 不同的算子能共用一个状态吗? > Hi, > > > Flink不支持算子共享状态。如果你的op1和op2是并行的,就只能利用外部存储间接地共享状态数据。如果是串行的(op2在op1的下游),也可以尝试考虑把op1产生的状态数据作为流元素发送到op2中去。希望对你有所帮助。 > > > > On Nov 4, 2020, at 14:48, hl9...@126.com wrote: > > > > Hi,all: > > 我定义了两个flatmap算子(op1和op2),op1里面定义了一个MapState变量,我想在op2里面直接用这个状态,可以吗? > > 我感觉是不行的,没有找到相关的api。请各位大佬帮忙明确一下。 > > > > > > > > hl9...@126.com > >