使用来自不同管道的数据

Use data from different pipeline

我有两个管道,"gameEngineEvents" 和 "userEvents",它们使用等效的 pubsub 主题。一个 userEvent 可能有一个或多个 gameEngineEvents。

当 gameEngineEvent 发生时,我想检查是否有一个 userEvent 引用了该 gameEngineEvent,运行 一些逻辑,然后将新消息发布到第三个 pubsub 主题。

那么,是否可以只在数据流中做这样的事情?

这当然是可能的。您将要在这里使用的是 CoGroupByKey,它将使用特定密钥将 "gameEngineEvent" 洗牌到与使用该密钥的 "userEvent" 相同的机器,以便将它们一起处理执行他们身上有一定的逻辑。您最终会得到该键的 2 个可迭代对象,您可以在处理中使用它们。

有关 CoGroupByKey 细节的更多信息,请参见 here

由于这些是 PubSub 主题,并且您可能正在处理无限源,因此您可能还想查看 Windowing,以便为要执行处理的事件设置边界。