public class Mean
extends java.lang.Object
PTransforms for computing the arithmetic mean (a.k.a. average) of the elements in a
PCollection, or the mean of the values associated with each key in a PCollection
of KVs.
Example 1: get the mean of a PCollection of Longs.
PCollection<Long> input = ...;
PCollection<Double> mean = input.apply(Mean.<Long>globally());
Example 2: calculate the mean of the Integers associated with each unique key (which
is of type String).
PCollection<KV<String, Integer>> input = ...;
PCollection<KV<String, Double>> meanPerKey =
input.apply(Mean.<String, Integer>perKey());
| Modifier and Type | Method and Description |
|---|---|
static <NumT extends java.lang.Number> |
globally()
Returns a
PTransform that takes an input PCollection<NumT> and returns a PCollection<Double> whose contents is the mean of the input PCollection's elements, or
0 if there are no elements. |
static <NumT extends java.lang.Number> |
of()
A
Combine.CombineFn that computes the arithmetic mean (a.k.a. |
static <K,NumT extends java.lang.Number> |
perKey()
Returns a
PTransform that takes an input PCollection<KV<K, N>> and returns a
PCollection<KV<K, Double>> that contains an output element mapping each distinct key in
the input PCollection to the mean of the values associated with that key in the input
PCollection. |
public static <NumT extends java.lang.Number> Combine.Globally<NumT,java.lang.Double> globally()
PTransform that takes an input PCollection<NumT> and returns a PCollection<Double> whose contents is the mean of the input PCollection's elements, or
0 if there are no elements.NumT - the type of the Numbers being combinedpublic static <K,NumT extends java.lang.Number> Combine.PerKey<K,NumT,java.lang.Double> perKey()
PTransform that takes an input PCollection<KV<K, N>> and returns a
PCollection<KV<K, Double>> that contains an output element mapping each distinct key in
the input PCollection to the mean of the values associated with that key in the input
PCollection.
See Combine.PerKey for how this affects timestamps and bucketing.
K - the type of the keysNumT - the type of the Numbers being combinedpublic static <NumT extends java.lang.Number> Combine.AccumulatingCombineFn<NumT,org.apache.beam.sdk.transforms.Mean.CountSum<NumT>,java.lang.Double> of()
Combine.CombineFn that computes the arithmetic mean (a.k.a. average) of an Iterable of numbers of type N, useful as an argument to Combine.globally(org.apache.beam.sdk.transforms.SerializableFunction<java.lang.Iterable<V>, V>) or
Combine.perKey(org.apache.beam.sdk.transforms.SerializableFunction<java.lang.Iterable<V>, V>).
Returns Double.NaN if combining zero elements.
NumT - the type of the Numbers being combined