DataFlow中没有平均聚合?

时间:2015-09-24 17:59:21

标签: google-cloud-dataflow

我只需要一个简单的数学运算。当我处理我的管道时,意味着我的PCollection<Integer>作为聚合器。

我发现com.google.cloud.dataflow.sdk.transforms.Mean.MeanFn但它是私有的?? 是否有一个原因?将其标记为public似乎可以正常工作:

Aggregator<Long, Double> averageAge = createAggregator("Average age", new Mean.MeanFn<Integer>());

1 个答案:

答案 0 :(得分:1)

我们目前的监控工具不能很好地支持卑鄙的聚合器,这就是为什么MeanFn是包私有的(即使它是公开的,你也不会得到很多用处)它 - 现在我们只使用一些平均聚合器用于内部目的。)

但是,您可以使用Mean transform将包含均值的PCollection作为单个元素:

PCollection<Double> meanAge = ages.apply(Mean.<Long>globally());