Google cloud dataflow 平均聚合在数据流中不可用?

Google cloud dataflow 平均聚合在数据流中不可用?,google-cloud-dataflow,Google Cloud Dataflow,我只需要一个简单的数学。当我处理我的管道时,作为聚合器在我的PCollection上的平均值 我找到了com.google.cloud.dataflow.sdk.transforms.Mean.MeanFn但它是包私有的?! 这有什么原因吗?将其标记为public似乎与我假设的一样有效: Aggregator<Long, Double> averageAge = createAggregator("Average age", new Mean.MeanFn<Integer>

我只需要一个简单的数学。当我处理我的管道时,作为聚合器在我的
PCollection
上的平均值

我找到了
com.google.cloud.dataflow.sdk.transforms.Mean.MeanFn
但它是包私有的?! 这有什么原因吗?将其标记为
public
似乎与我假设的一样有效:

Aggregator<Long, Double> averageAge = createAggregator("Average age", new Mean.MeanFn<Integer>());
Aggregator averageAge=createAggregator(“平均年龄”,new Mean.MeanFn());
目前,我们的监控工具中对均值聚合器的支持不够好,这就是为什么MeanFn是包私有的(即,即使它是公共的,您也不会从中得到太多的使用-现在我们只将一些均值聚合器用于内部目的)

但是,您可以使用获取包含作为单个元素的平均值的PCollection:

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

我们不希望仅仅为了获取值而有一个侧面输出,但目前将遵循该路线。