Hello,all
目前stream中遇到一个问题, 想使用一个全局的state 在所有的keyed stream中使用,或者global parameter,主要的需求在于是这个state是可变的,需要对其进行修改并且对所有stream operator可见,大家有遇到过类似场景或者可以提供相关思路么,感激不尽 Best regards |
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 <[hidden email]> 于2020年7月13日周一 下午9:50写道: > Hello,all > 目前stream中遇到一个问题, > 想使用一个全局的state 在所有的keyed stream中使用,或者global > parameter,主要的需求在于是这个state是可变的,需要对其进行修改并且对所有stream > operator可见,大家有遇到过类似场景或者可以提供相关思路么,感激不尽 > > > Best regards |
我这边有个类似的实现,需要根据维表数据改变stream的处理,自定义了一个source(从MySQL中定时刷维表数据),kafka的stream union这个维表数据流,
额外增加一个数据类型(维表类型或者事实数据)进行数据的处理,后续算子将这个维表进行不同的处理并存到对应算子的state中。 发件人: Congxian Qiu <[hidden email]> 日期: 星期二, 2020年7月14日 14:03 收件人: user-zh <[hidden email]> 主题: 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 <[hidden email]> 于2020年7月13日周一 下午9:50写道: > Hello,all > 目前stream中遇到一个问题, > 想使用一个全局的state 在所有的keyed stream中使用,或者global > parameter,主要的需求在于是这个state是可变的,需要对其进行修改并且对所有stream > operator可见,大家有遇到过类似场景或者可以提供相关思路么,感激不尽 > > > Best regards |
是这样的,问题在于我需要使用keyed state 来修改broadcast state,比如根据keyed state把某些满足条件的key存入这个broadcast state,并在其他算子计算的时候使用这个broadcast state,比如需要这些key来做
文档中提到的nonbroadcast side是无法修改broadcast state的,是read-only, 似乎无法直接去实现 ------------------ 原始邮件 ------------------ 发件人: "zhao liang"<[hidden email]>; 发送时间: 2020年7月14日(星期二) 下午4:09 收件人: "user-zh"<[hidden email]>; 主题: 答复: flink state 我这边有个类似的实现,需要根据维表数据改变stream的处理,自定义了一个source(从MySQL中定时刷维表数据),kafka的stream union这个维表数据流, 额外增加一个数据类型(维表类型或者事实数据)进行数据的处理,后续算子将这个维表进行不同的处理并存到对应算子的state中。 发件人: Congxian Qiu <[hidden email]> 日期: 星期二, 2020年7月14日 14:03 收件人: user-zh <[hidden email]> 主题: 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 <[hidden email]> 于2020年7月13日周一 下午9:50写道: > Hello,all > 目前stream中遇到一个问题, > 想使用一个全局的state 在所有的keyed stream中使用,或者global > parameter,主要的需求在于是这个state是可变的,需要对其进行修改并且对所有stream > operator可见,大家有遇到过类似场景或者可以提供相关思路么,感激不尽 > > > Best regards |
Broadcast state是无法满足你的要求的,估计你只能像我这样把涉及的state数据融入到数据流中,在算子中针对不同的类型数据做区分了,等于人工维持这个broadcast的流的变化。
发件人: Robert.Zhang <[hidden email]> 日期: 星期三, 2020年7月15日 15:22 收件人: user-zh <[hidden email]>, [hidden email] <[hidden email]> 主题: 回复:答复: flink state 是这样的,问题在于我需要使用keyed state 来修改broadcast state,比如根据keyed state把某些满足条件的key存入这个broadcast state,并在其他算子计算的时候使用这个broadcast state,比如需要这些key来做 文档中提到的nonbroadcast side是无法修改broadcast state的,是read-only, 似乎无法直接去实现 ------------------ 原始邮件 ------------------ 发件人: "zhao liang"<[hidden email]>; 发送时间: 2020年7月14日(星期二) 下午4:09 收件人: "user-zh"<[hidden email]>; 主题: 答复: flink state 我这边有个类似的实现,需要根据维表数据改变stream的处理,自定义了一个source(从MySQL中定时刷维表数据),kafka的stream union这个维表数据流, 额外增加一个数据类型(维表类型或者事实数据)进行数据的处理,后续算子将这个维表进行不同的处理并存到对应算子的state中。 发件人: Congxian Qiu <[hidden email]> 日期: 星期二, 2020年7月14日 14:03 收件人: user-zh <[hidden email]> 主题: 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 <[hidden email]> 于2020年7月13日周一 下午9:50写道: > Hello,all > 目前stream中遇到一个问题, > 想使用一个全局的state 在所有的keyed stream中使用,或者global > parameter,主要的需求在于是这个state是可变的,需要对其进行修改并且对所有stream > operator可见,大家有遇到过类似场景或者可以提供相关思路么,感激不尽 > > > Best regards |
Hi
broadcast state 是无法修改的,如果你还希望进行修改的话,可以使用 zhao liang 的方法,另外如果这个全局 state 不需要维护一致性等的话,同样可以考虑放到外存中(Redis,HBase 等) Best, Congxian zhao liang <[hidden email]> 于2020年7月15日周三 下午6:05写道: > Broadcast > state是无法满足你的要求的,估计你只能像我这样把涉及的state数据融入到数据流中,在算子中针对不同的类型数据做区分了,等于人工维持这个broadcast的流的变化。 > > 发件人: Robert.Zhang <[hidden email]> > 日期: 星期三, 2020年7月15日 15:22 > 收件人: user-zh <[hidden email]>, [hidden email] < > [hidden email]> > 主题: 回复:答复: flink state > 是这样的,问题在于我需要使用keyed state 来修改broadcast state,比如根据keyed > state把某些满足条件的key存入这个broadcast state,并在其他算子计算的时候使用这个broadcast > state,比如需要这些key来做 > 文档中提到的nonbroadcast side是无法修改broadcast state的,是read-only, > 似乎无法直接去实现 > > > > > > ------------------ 原始邮件 ------------------ > 发件人: "zhao liang"<[hidden email]>; > 发送时间: 2020年7月14日(星期二) 下午4:09 > 收件人: "user-zh"<[hidden email]>; > 主题: 答复: flink state > > > > 我这边有个类似的实现,需要根据维表数据改变stream的处理,自定义了一个source(从MySQL中定时刷维表数据),kafka的stream > union这个维表数据流, > 额外增加一个数据类型(维表类型或者事实数据)进行数据的处理,后续算子将这个维表进行不同的处理并存到对应算子的state中。 > > 发件人: Congxian Qiu <[hidden email]> > 日期: 星期二, 2020年7月14日 14:03 > 收件人: user-zh <[hidden email]> > 主题: 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 <[hidden email]> 于2020年7月13日周一 下午9:50写道: > > > Hello,all > > 目前stream中遇到一个问题, > > 想使用一个全局的state 在所有的keyed stream中使用,或者global > > parameter,主要的需求在于是这个state是可变的,需要对其进行修改并且对所有stream > > operator可见,大家有遇到过类似场景或者可以提供相关思路么,感激不尽 > > > > > > Best regards > |
感谢各位答疑,可能确实要借助其他方式来间接实现了,thanku all
------------------ 原始邮件 ------------------ 发件人: "Congxian Qiu"<[hidden email]>; 发送时间: 2020年7月16日(星期四) 中午1:01 收件人: "user-zh"<[hidden email]>; 主题: Re: 回复:答复: flink state Hi broadcast state 是无法修改的,如果你还希望进行修改的话,可以使用 zhao liang 的方法,另外如果这个全局 state 不需要维护一致性等的话,同样可以考虑放到外存中(Redis,HBase 等) Best, Congxian zhao liang <[hidden email]> 于2020年7月15日周三 下午6:05写道: > Broadcast > state是无法满足你的要求的,估计你只能像我这样把涉及的state数据融入到数据流中,在算子中针对不同的类型数据做区分了,等于人工维持这个broadcast的流的变化。 > > 发件人: Robert.Zhang <[hidden email]> > 日期: 星期三, 2020年7月15日 15:22 > 收件人: user-zh <[hidden email]>, [hidden email] < > [hidden email]> > 主题: 回复:答复: flink state > 是这样的,问题在于我需要使用keyed state 来修改broadcast state,比如根据keyed > state把某些满足条件的key存入这个broadcast state,并在其他算子计算的时候使用这个broadcast > state,比如需要这些key来做 > 文档中提到的nonbroadcast side是无法修改broadcast state的,是read-only, > 似乎无法直接去实现 > > > > > > ------------------&nbsp;原始邮件&nbsp;------------------ > 发件人: "zhao liang"<[hidden email]&gt;; > 发送时间: 2020年7月14日(星期二) 下午4:09 > 收件人: "user-zh"<[hidden email]&gt;; > 主题: 答复: flink state > > > > 我这边有个类似的实现,需要根据维表数据改变stream的处理,自定义了一个source(从MySQL中定时刷维表数据),kafka的stream > union这个维表数据流, > 额外增加一个数据类型(维表类型或者事实数据)进行数据的处理,后续算子将这个维表进行不同的处理并存到对应算子的state中。 > > 发件人: Congxian Qiu <[hidden email]&gt; > 日期: 星期二, 2020年7月14日 14:03 > 收件人: user-zh <[hidden email]&gt; > 主题: 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 <[hidden email]&gt; 于2020年7月13日周一 下午9:50写道: > > &gt; Hello,all > &gt; 目前stream中遇到一个问题, > &gt; 想使用一个全局的state 在所有的keyed stream中使用,或者global > &gt; parameter,主要的需求在于是这个state是可变的,需要对其进行修改并且对所有stream > &gt; operator可见,大家有遇到过类似场景或者可以提供相关思路么,感激不尽 > &gt; > &gt; > &gt; Best regards > |
Free forum by Nabble | Edit this page |