gpt4 book ai didi

bigdata - 在 Flink 流中使用静态 DataSet 丰富 DataStream

转载 作者:行者123 更新时间:2023-12-02 10:37:43 29 4
gpt4 key购买 nike

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

对于例如假设我们有一个买家的静态数据集,并且有一个传入的事件点击流,对于每个事件,我们希望添加一个 bool 标志来指示事件的执行者是否是买家。

实现此目的的理想方法是按用户 ID 对传入流进行分区,让买家在按用户 ID 再次分区的数据集中设置可用,然后在该数据集中查找流中的每个事件。

由于 Flink 不允许在流式程序中使用 DataSet,我该如何实现上述目标?

另一个选择可能是使用托管运算符(operator)状态来存储买家集,但如何保持按用户 ID 分配的状态,以避免单个事件查找中的网络 I/O?在内存状态后端的情况下,状态是否仍然由某个键分布,或者是否在所有操作子任务之间复制?

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

最佳答案

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

关于bigdata - 在 Flink 流中使用静态 DataSet 丰富 DataStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49645285/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com