我对 Apache Beam 和 Dataflow 相当陌生,我想从具有
k
元素的 PCollection
中收集或“批量处理”n
多个元素。在这种情况下,n
不是固定数字并且n > k
。例如,假设我的 PCollection
有 1000 个元素,我想创建最多 50 个随机元素的批次,因为我正在使用的 API 每次调用限制为 50 个元素。我知道批处理过程将是并行的,并且我也可以轻松地对我的 API 进行 20 个并行调用。
是否有内置组件/功能允许我这样做,或者您可以建议我一个自定义的
DoFn
允许我这样做吗?
我相信这可以通过
Combine
、Partion
或 GroupByKey
的组合来解决,但我不知道如何将它们组合在一起。我正在寻找使用 Python 的解决方案。
我想通过为每个步骤创建一个组件来使用数据流来实现的目标(如果有帮助的话):