public class Mean extends 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 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 <K,NumT extends 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 Number> Combine.Globally<NumT,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 Number> Combine.PerKey<K,NumT,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 combined