Hi broadcast state 是无法修改的,如果你还希望进行修改的话,可以使用 zhao liang 的方法,另外如果这个全局 state 不需要维护一致性等的话,同样可以考虑放到外存中(Redis,HBase 等)
Best, Congxian zhao liang <zhao...@gmail.com> 于2020年7月15日周三 下午6:05写道: > Broadcast > state是无法满足你的要求的,估计你只能像我这样把涉及的state数据融入到数据流中,在算子中针对不同的类型数据做区分了,等于人工维持这个broadcast的流的变化。 > > 发件人: Robert.Zhang <173603...@qq.com> > 日期: 星期三, 2020年7月15日 15:22 > 收件人: user-zh <user-zh@flink.apache.org>, user-zh@flink.apache.org < > user-zh@flink.apache.org> > 主题: 回复:答复: flink state > 是这样的,问题在于我需要使用keyed state 来修改broadcast state,比如根据keyed > state把某些满足条件的key存入这个broadcast state,并在其他算子计算的时候使用这个broadcast > state,比如需要这些key来做 > 文档中提到的nonbroadcast side是无法修改broadcast state的,是read-only, > 似乎无法直接去实现 > > > > > > ------------------ 原始邮件 ------------------ > 发件人: "zhao liang"<zhao...@gmail.com>; > 发送时间: 2020年7月14日(星期二) 下午4:09 > 收件人: "user-zh"<user-zh@flink.apache.org>; > 主题: 答复: flink state > > > > 我这边有个类似的实现,需要根据维表数据改变stream的处理,自定义了一个source(从MySQL中定时刷维表数据),kafka的stream > union这个维表数据流, > 额外增加一个数据类型(维表类型或者事实数据)进行数据的处理,后续算子将这个维表进行不同的处理并存到对应算子的state中。 > > 发件人: Congxian Qiu <qcx978132...@gmail.com> > 日期: 星期二, 2020年7月14日 14:03 > 收件人: user-zh <user-zh@flink.apache.org> > 主题: Re: flink state > Hi Robert > > Boardcast state[1] 是否满足你的需求呢?另外也可以看下这篇文章[2] > > [1] > > https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/dev/stream/state/broadcast_state.html > [2] https://cloud.tencent.com/developer/article/1509789 > Best, > Congxian > > > Robert.Zhang <173603...@qq.com> 于2020年7月13日周一 下午9:50写道: > > > Hello,all > > 目前stream中遇到一个问题, > > 想使用一个全局的state 在所有的keyed stream中使用,或者global > > parameter,主要的需求在于是这个state是可变的,需要对其进行修改并且对所有stream > > operator可见,大家有遇到过类似场景或者可以提供相关思路么,感激不尽 > > > > > > Best regards >