Class FlinkReduceFunction<K,AccumT,OutputT,W extends BoundedWindow>
java.lang.Object
org.apache.flink.api.common.functions.AbstractRichFunction
org.apache.flink.api.common.functions.RichGroupReduceFunction<WindowedValue<KV<K,AccumT>>,WindowedValue<KV<K,OutputT>>>
org.apache.beam.runners.flink.translation.functions.FlinkReduceFunction<K,AccumT,OutputT,W>
- All Implemented Interfaces:
Serializable
,org.apache.flink.api.common.functions.Function
,org.apache.flink.api.common.functions.GroupReduceFunction<WindowedValue<KV<K,
,AccumT>>, WindowedValue<KV<K, OutputT>>> org.apache.flink.api.common.functions.RichFunction
public class FlinkReduceFunction<K,AccumT,OutputT,W extends BoundedWindow>
extends org.apache.flink.api.common.functions.RichGroupReduceFunction<WindowedValue<KV<K,AccumT>>,WindowedValue<KV<K,OutputT>>>
This is the second part for executing a
Combine.PerKey
on
Flink, the second part is FlinkReduceFunction
. This function performs the final
combination of the pre-combined values after a shuffle.
The input to reduce(Iterable, Collector)
are elements of the same key but for
different windows. We have to ensure that we only combine elements of matching windows.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final CombineFnBase.GlobalCombineFn
<?, AccumT, OutputT> protected final org.apache.beam.runners.core.construction.SerializablePipelineOptions
protected final Map
<PCollectionView<?>, WindowingStrategy<?, ?>> protected final WindowingStrategy
<Object, W> -
Constructor Summary
ConstructorsConstructorDescriptionFlinkReduceFunction
(CombineFnBase.GlobalCombineFn<?, AccumT, OutputT> combineFn, WindowingStrategy<Object, W> windowingStrategy, Map<PCollectionView<?>, WindowingStrategy<?, ?>> sideInputs, PipelineOptions pipelineOptions) FlinkReduceFunction
(CombineFnBase.GlobalCombineFn<?, AccumT, OutputT> combineFn, WindowingStrategy<Object, W> windowingStrategy, Map<PCollectionView<?>, WindowingStrategy<?, ?>> sideInputs, PipelineOptions pipelineOptions, boolean groupedByWindow) -
Method Summary
Methods inherited from class org.apache.flink.api.common.functions.AbstractRichFunction
close, getIterationRuntimeContext, getRuntimeContext, setRuntimeContext
-
Field Details
-
combineFn
-
windowingStrategy
-
sideInputs
-
serializedOptions
protected final org.apache.beam.runners.core.construction.SerializablePipelineOptions serializedOptions
-
-
Constructor Details
-
FlinkReduceFunction
public FlinkReduceFunction(CombineFnBase.GlobalCombineFn<?, AccumT, OutputT> combineFn, WindowingStrategy<Object, W> windowingStrategy, Map<PCollectionView<?>, WindowingStrategy<?, ?>> sideInputs, PipelineOptions pipelineOptions) -
FlinkReduceFunction
public FlinkReduceFunction(CombineFnBase.GlobalCombineFn<?, AccumT, OutputT> combineFn, WindowingStrategy<Object, W> windowingStrategy, Map<PCollectionView<?>, WindowingStrategy<?, ?>> sideInputs, PipelineOptions pipelineOptions, boolean groupedByWindow)
-
-
Method Details
-
open
public void open(org.apache.flink.configuration.Configuration parameters) - Specified by:
open
in interfaceorg.apache.flink.api.common.functions.RichFunction
- Overrides:
open
in classorg.apache.flink.api.common.functions.AbstractRichFunction
-
reduce
public void reduce(Iterable<WindowedValue<KV<K, AccumT>>> elements, org.apache.flink.util.Collector<WindowedValue<KV<K, throws ExceptionOutputT>>> out)
-