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: