我在 Google Cloud DataFlow(带有 Scio SDK)上使用 Apache Beam 2.28.0。我有一个很大的输入PCollection
(有界),我想将它限制/采样到固定数量的元素,但我想尽快开始下游处理。
目前,当我的输入PCollection
有例如 20M 元素并且我想通过使用https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/Sample.html将其限制为 1M #any-long-
input.apply(Sample.<String>any(1000000))
它一直等到所有 20M 元素都被读取,这需要很长时间。
如何有效地将元素数量限制为固定大小并在达到限制后立即开始下游处理,丢弃其余的输入处理?