排序不同Pcollections输出的写入

时间:2018-12-03 21:44:22

标签: google-cloud-dataflow apache-beam

我编写了一个ParDo函数,该函数返回多个侧面输出。 尽管PCollections元素是无序的,但我想顺序地编写这些不同类型的Pcollections。 Beam SDK是否支持此功能?

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,您是否希望在后续步骤中对这些输出中的每一个进行排序?如果是这样,您可能会使用Wait transform

因此,对于具有三个元组标记(一个,两个和三个)的PCollectionTuple“结果”。

results.get(THREE)
  .apply(Wait.on(results.get(TWO))
                 .apply(Wait.on(results.get(ONE)
                                .apply(new ProcessOne()))
                 .apply(new ProcessTwo())
  .apply(new ProcessThree());

这应该允许在两个之后处理三个之前处理一个。