确定 pcollection 是否为空

Determine if a pcollection is empty or not

在 apache beam(2.1.0) 中写入文本文件之前如何检查 pcollection 是否为空?

我在这里要做的是将文件分成指定数量的 pcollections,这些 pcollections 通过 ValueProvider 作为参数提供给管道。由于此 ValueProvider 在管道构建时不可用,我声明了一个不错的 26 号(字母总数,这是用户可以输入的最大编号)以使其可用于 .withOuputTags()。所以我得到 26 个元组标签,在写入文本文件之前我必须从中检索 pcollections。所以在这里,只有少数用户输入的标签会被填充,其余的都是空的。因此,我想在应用 TextIO.write().

之前忽略某些标签返回的空 pcollections

看来你真的想把一个集合写到多组文件中,其中有些组可能是空的。执行此操作的正确方法是使用 DynamicDestinations API - 请参阅 TextIO.write().to(DynamicDestinations),它将在 Beam 2.2.0 中提供,应该会在接下来的几周内被删除。同时,如果你想使用它,你可以自己在 HEAD 构建 Beam 的快照。