public class FlinkReduceFunction<K,AccumT,OutputT,W extends org.apache.beam.sdk.transforms.windowing.BoundedWindow>
extends org.apache.flink.api.common.functions.RichGroupReduceFunction<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,AccumT>>,org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,OutputT>>>
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.
| Modifier and Type | Field and Description |
|---|---|
protected org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn<?,AccumT,OutputT> |
combineFn |
protected org.apache.beam.runners.core.construction.SerializablePipelineOptions |
serializedOptions |
protected java.util.Map<org.apache.beam.sdk.values.PCollectionView<?>,org.apache.beam.sdk.values.WindowingStrategy<?,?>> |
sideInputs |
protected org.apache.beam.sdk.values.WindowingStrategy<java.lang.Object,W> |
windowingStrategy |
| Constructor and Description |
|---|
FlinkReduceFunction(org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn<?,AccumT,OutputT> combineFn,
org.apache.beam.sdk.values.WindowingStrategy<java.lang.Object,W> windowingStrategy,
java.util.Map<org.apache.beam.sdk.values.PCollectionView<?>,org.apache.beam.sdk.values.WindowingStrategy<?,?>> sideInputs,
org.apache.beam.sdk.options.PipelineOptions pipelineOptions) |
FlinkReduceFunction(org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn<?,AccumT,OutputT> combineFn,
org.apache.beam.sdk.values.WindowingStrategy<java.lang.Object,W> windowingStrategy,
java.util.Map<org.apache.beam.sdk.values.PCollectionView<?>,org.apache.beam.sdk.values.WindowingStrategy<?,?>> sideInputs,
org.apache.beam.sdk.options.PipelineOptions pipelineOptions,
boolean groupedByWindow) |
| Modifier and Type | Method and Description |
|---|---|
void |
open(org.apache.flink.configuration.Configuration parameters) |
void |
reduce(java.lang.Iterable<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,AccumT>>> elements,
org.apache.flink.util.Collector<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,OutputT>>> out) |
protected final org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn<?,AccumT,OutputT> combineFn
protected final org.apache.beam.sdk.values.WindowingStrategy<java.lang.Object,W extends org.apache.beam.sdk.transforms.windowing.BoundedWindow> windowingStrategy
protected final java.util.Map<org.apache.beam.sdk.values.PCollectionView<?>,org.apache.beam.sdk.values.WindowingStrategy<?,?>> sideInputs
protected final org.apache.beam.runners.core.construction.SerializablePipelineOptions serializedOptions
public FlinkReduceFunction(org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn<?,AccumT,OutputT> combineFn, org.apache.beam.sdk.values.WindowingStrategy<java.lang.Object,W> windowingStrategy, java.util.Map<org.apache.beam.sdk.values.PCollectionView<?>,org.apache.beam.sdk.values.WindowingStrategy<?,?>> sideInputs, org.apache.beam.sdk.options.PipelineOptions pipelineOptions)
public FlinkReduceFunction(org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn<?,AccumT,OutputT> combineFn, org.apache.beam.sdk.values.WindowingStrategy<java.lang.Object,W> windowingStrategy, java.util.Map<org.apache.beam.sdk.values.PCollectionView<?>,org.apache.beam.sdk.values.WindowingStrategy<?,?>> sideInputs, org.apache.beam.sdk.options.PipelineOptions pipelineOptions, boolean groupedByWindow)
public void open(org.apache.flink.configuration.Configuration parameters)
open in interface org.apache.flink.api.common.functions.RichFunctionopen in class org.apache.flink.api.common.functions.AbstractRichFunctionpublic void reduce(java.lang.Iterable<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,AccumT>>> elements, org.apache.flink.util.Collector<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,OutputT>>> out) throws java.lang.Exception
reduce in interface org.apache.flink.api.common.functions.GroupReduceFunction<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,AccumT>>,org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,OutputT>>>reduce in class org.apache.flink.api.common.functions.RichGroupReduceFunction<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,AccumT>>,org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,OutputT>>>java.lang.Exception