首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >flink广播流和广播状态

flink广播流和广播状态
EN

Stack Overflow用户
提问于 2020-12-18 01:43:10
回答 1查看 607关注 0票数 0

关于广播流和广泛的卡塞特州,我有以下两个问题,谁能帮忙回答吗?谢谢!

  1. KeyedBroadcastProcessFunction#Context有以下方法(GetBroadcastState),我会问它为什么要使用映射状态描述符作为广义的转换状态?我认为广泛的转换状态应该使用类似于BroadcastStateDescriptor的东西,映射状态描述符用于MapState?

公共文摘 BroadcastState getBroadcastState(final MapStateDescriptor stateDescriptor);

  1. DataStream#broadcast方法定义如下:

javaStream.broadcast(broadcastStateDescriptors:

广播(broadcastStateDescriptors : MapStateDescriptor_,_*):BroadcastStreamT ={ if (broadcastStateDescriptors == null) {抛出新NullPointerException(“状态描述符不能为空”)}

我会问broadcastStateDescriptors所用的论点是什么?我为何要在播放流媒体时,这么早便提供呢?我认为我可以创建描述符,并在需要时获得广播状态,在KeyedBroadcastProcessFunction#processBroadcastElement中,操作符接收广播元素并更新广播状态。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-18 09:43:09

  1. MapState是Flink支持广播的一种状态(也是唯一一种状态)。由于广播状态总是MapState,所以MapStateDescriptor是用来处理它的。

  1. Flink需要知道如何序列化正在广播的数据;broadcastStateDescriptorsDataStream#broadcast用于此目的。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65350688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档