我正在使用Google Dataflow 1.9将数据保存到BigQuery表中。 我正在寻找一种方法来控制写入(PCollection)元素的表名,基于该元素中的某个值。在我们的例子中,元素包含一个user-id,我们希望动态地将每个元素写入它自己的用户表。
答案 0 :(得分:1)
使用1.9.0时,唯一的选择是:(1)将元素分区为多个输出集合,然后将每个输出集合写入特定表,或者(2)窗口元素并根据窗口选择目标。选项1仅在存在相对较小的目标表集合时才起作用,而选项2仅在决定基于窗口时才起作用,这不适合您的每个用户目的地的用例非常
如果升级到2.0.0,则可以使用DynamicDestinations或SerializableFunction接收窗口和数据元素的函数指定目标。这将允许您接收每个元素,然后根据用户ID选择目标。