Class AbstractFlinkCombineRunner<K,InputT,AccumT,OutputT,W extends BoundedWindow>
java.lang.Object
org.apache.beam.runners.flink.translation.functions.AbstractFlinkCombineRunner<K,InputT,AccumT,OutputT,W>
- Direct Known Subclasses:
HashingFlinkCombineRunner
,SingleWindowFlinkCombineRunner
,SortingFlinkCombineRunner
public abstract class AbstractFlinkCombineRunner<K,InputT,AccumT,OutputT,W extends BoundedWindow>
extends Object
Abstract base for runners that execute a
Combine.PerKey
.
This unifies processing of merging/non-merging and partial/final combines.
The input to combine(FlinkCombiner, WindowingStrategy, SideInputReader, PipelineOptions, Iterable, Collector)
are elements of the same key but * for different windows.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static class
A final combiner that takes inAccumT
and producesOutputT
.static interface
Adapter interface that allows using aCombineFnBase.GlobalCombineFn
to either produce theAccumT
as output or to combine several accumulators into anOutputT
.static class
A partial combiner that takes inInputT
and producesAccumT
. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract void
combine
(AbstractFlinkCombineRunner.FlinkCombiner<K, InputT, AccumT, OutputT> flinkCombiner, WindowingStrategy<Object, W> windowingStrategy, org.apache.beam.runners.core.SideInputReader sideInputReader, PipelineOptions options, Iterable<WindowedValue<KV<K, InputT>>> elements, org.apache.flink.util.Collector<WindowedValue<KV<K, OutputT>>> out) ConsumesWindowedValues
and produces combined output to the given output.
-
Constructor Details
-
AbstractFlinkCombineRunner
public AbstractFlinkCombineRunner()
-
-
Method Details
-
combine
public abstract void combine(AbstractFlinkCombineRunner.FlinkCombiner<K, InputT, throws ExceptionAccumT, OutputT> flinkCombiner, WindowingStrategy<Object, W> windowingStrategy, org.apache.beam.runners.core.SideInputReader sideInputReader, PipelineOptions options, Iterable<WindowedValue<KV<K, InputT>>> elements, org.apache.flink.util.Collector<WindowedValue<KV<K, OutputT>>> out) ConsumesWindowedValues
and produces combined output to the given output.- Throws:
Exception
-