Package org.apache.beam.sdk.transforms
Class CombineFns
java.lang.Object
org.apache.beam.sdk.transforms.CombineFns
Static utility methods that create combine function instances.
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA tuple of outputs produced by a composed combine functions.static classA builder class to construct a composedCombineFnBase.GlobalCombineFn.static classA composedCombine.CombineFnthat applies multipleCombineFns.static classA composedCombineWithContext.CombineFnWithContextthat applies multipleCombineFnWithContexts. - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptioncompose()Returns aCombineFns.ComposeCombineFnBuilderto construct a composedCombineFnBase.GlobalCombineFn. 
- 
Constructor Details
- 
CombineFns
public CombineFns() 
 - 
 - 
Method Details
- 
compose
Returns aCombineFns.ComposeCombineFnBuilderto construct a composedCombineFnBase.GlobalCombineFn.The same
TupleTagcannot be used in a composition multiple times.Example:
PCollection<Integer> globalLatencies = ...; TupleTag<Integer> maxLatencyTag = new TupleTag<Integer>(); TupleTag<Double> meanLatencyTag = new TupleTag<Double>();SimpleFunction<Integer, Integer> identityFn = new SimpleFunction<Integer, Integer>(){@Override public Integer apply(Integer input) { return input; }};PCollection<CoCombineResult> maxAndMean = globalLatencies.apply( Combine.globally( CombineFns.compose() .with(identityFn, new MaxIntegerFn(), maxLatencyTag) .with(identityFn, new MeanFn<Integer>(), meanLatencyTag)));PCollection<T> finalResultCollection = maxAndMean .apply(ParDo.of( new DoFn<CoCombineResult, T>(){@ProcessElement public void processElement(@Element CoCombineResult e, OutputReceiver<T> r) throws Exception { Integer maxLatency = e.get(maxLatencyTag); Double meanLatency = e.get(meanLatencyTag); .... Do Something .... r.output(...some T...); }})); 
 -