public class Mean
extends java.lang.Object
PTransform
s 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 KV
s.
Example 1: get the mean of a PCollection
of Long
s.
PCollection<Long> input = ...;
PCollection<Double> mean = input.apply(Mean.<Long>globally());
Example 2: calculate the mean of the Integer
s 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 Number
s 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 Number
s 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 Number
s being combined