首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Flink streaming中使用静态DataSet丰富DataStream

在Flink streaming中使用静态DataSet丰富DataStream
EN

Stack Overflow用户
提问于 2018-04-04 15:35:58
回答 1查看 631关注 0票数 5

我正在写一个Flink流程序,其中我需要使用一些静态数据集(信息库,IB)来丰富用户事件的DataStream。

例如,假设我们有一个买家的静态数据集,我们有一个传入的事件点击流,对于每个事件,我们想要添加一个布尔标志来指示事件的实施者是否是买家。

实现这一点的理想方法是按用户id划分传入的流,让买家集在DataSet中可用,并再次按用户id划分,然后在该DataSet中查找流中的每个事件。

由于Flink不允许在流媒体程序中使用DataSets,我如何实现以上功能?

另一种选择是使用Managed Operator State来存储买家集合,但是我如何才能保持此状态按用户id分布,以避免在单个事件查找中出现网络i/o?在内存状态后端的情况下,状态是保持按某个键分布,还是跨所有运算符子任务复制?

在Flink流程序中实现上述丰富需求的正确设计模式是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-04-06 23:15:04

我将通过user_id对流进行键控,并使用RichFlatMap来进行丰富。在RichFlatMap的open()方法中,您可以加载该用户的静态买方标志,并将其缓存在布尔型字段中。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49645285

复制
相关文章

相似问题

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