使用Flink流中的静态数据集丰富数据源



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

例如假设我们有一个静态数据的买家数据集,并且我们有一个传入的事件点击屏幕,对于每个活动,我们都想添加一个布尔标志,以指示活动的行动者是否是买家。

实现此目的的理想方法是通过用户ID对传入的流进行分区,让购买者在数据集中再次通过用户ID进行分区,然后查找流中的每个事件中的每个事件。<<<<<<<<<<<<<<<<<</p>

由于flink不允许在流程序中使用数据集,我该如何实现上述?

另一种选择可能是使用托管运营商状态存储买家设置,但是如何将此状态保留为用户ID分配以避免在单个事件中避免网络I/O查找UPS?如果记忆状态后端,状态是否由某些密钥分布,还是在所有操作员子任务中复制?

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

我将用User_id键入流,并使用RichFlatMap进行富集。在RichFlatMap的Open((方法中,您可以为该用户加载静态买家标志,并将其放在布尔字段中。

最新更新