Beam/Dataflow 中的批量 PCollection

2023-12-10

我在 GCP Dataflow/Apache Beam 中有一个 PCollection。我不需要一一处理,而是需要“按N”组合。就像是grouped(N)。因此,在有界处理的情况下,它将按批次中的 10 个项目和最后一批中剩余的项目进行分组。 这在 Apache Beam 中可能吗?


编辑,看起来像:Google Dataflow“elementCountExact”聚合

您应该能够通过将元素分配给全局窗口并使用来执行类似的操作AfterPane.elementCountAtLeast(N)。您仍然需要考虑如果没有足够的元素来触发触发器该怎么办。你可以使用这个:

 Repeatedly.forever(AfterFirst.of(
  AfterPane.elementCountAtLeast(N),
  AfterProcessingTime.pastFirstElementInPane().plusDelayOf(Duration.standardMinutes(X))))

但您应该首先问自己为什么需要这种启发式方法,可能有更理想的方法来解决您的问题。阅读Data-Driven Triggers in Beam 的编程指南

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Beam/Dataflow 中的批量 PCollection 的相关文章

随机推荐