带有数据流运行器的 Apache 光束中的聚合器



我正在尝试创建聚合器来计算满足所有输入数据条件的值。我查看了文档并找到了以下内容以进行创建。

https://cloud.google.com/dataflow/java-sdk/JavaDoc/com/google/cloud/dataflow/sdk/transforms/Aggregator..

我正在使用:google-cloud-dataflow-java-sdk-all - 2.4.0(基于apache beam(

但是,我无法在新光束 API 中找到相应的类。 我查看了org.apache.beam.sdk.transforms包。

您能否告诉我如何在新 api 中使用带有数据流运行器的聚合器?

您拥有的链接适用于旧 SDK (1.x(。

在 SDK 2.x 中,您应该参考apache-beamSDK。对于您提到的Aggregators,如果我理解正确,它用于在处理过程中添加计数器。我想相应的包应该是org.apache.beam.sdk.metrics.

Package org.apache.beam.sdk.metrics 指标允许导出有关管道执行的信息。

org.apache.beam.sdk.metrics.Counter接口:

报告单个长整型值且可以递增或递减的指标。

截至目前,Apache Beam SDK 2.X中似乎没有Aggregator类的替代品。根据条件对值进行计数的替代解决方案是转换。通过使用 GroupBy 转换收集满足条件的数据,然后使用 Combined 转换,您可以获得符合该条件的输入数据的计数。

最新更新