Google cloud dataflow 流模式下数据流的非规范化

Google cloud dataflow 流模式下数据流的非规范化,google-cloud-dataflow,Google Cloud Dataflow,假设我有一系列问题更新和用户更新。流包括每种类型实体的“创建”消息。问题通过提问者id与用户相关 典型的问题更新看起来像{qid:3类型:“创建”,提问者id:5},{qid:3类型:“注释”} 典型的用户更新看起来像{uid:5类型:“更新”状态:“CA”},{uid:5类型:“更新”状态:“TX”} 我想要一个最后的问题事实数据集,看起来像{ts:xqid:3注释:1用户状态:“TX”},在问题“Create”事件发生后,每个问题更新和用户更新都有一个条目 实现这一点的方法是使用两个pcol

假设我有一系列问题更新和用户更新。流包括每种类型实体的“创建”消息。问题通过提问者id与用户相关

典型的问题更新看起来像{qid:3类型:“创建”,提问者id:5},{qid:3类型:“注释”}

典型的用户更新看起来像{uid:5类型:“更新”状态:“CA”},{uid:5类型:“更新”状态:“TX”}

我想要一个最后的问题事实数据集,看起来像{ts:xqid:3注释:1用户状态:“TX”},在问题“Create”事件发生后,每个问题更新和用户更新都有一个条目


实现这一点的方法是使用两个pcollection,一个窗口,然后使用CoGroupByKey吗?

如果管道的输入是一个固定的数据集,那么您建议的方法可以工作


如果您有一个更新流,并且需要一个输出结果流,那么您需要准确地确定何时需要输出。例如,您可以在每次更新时通过在输入窗口上设置AfterPane.ElementCount至少(1)的触发器进行输出。

听起来像我们想要的。输入是streams,我们希望每次更新其中一个源时都有一个新记录。我将编辑我的问题。干杯