public class FlinkPartialReduceFunction<K,InputT,AccumT,W extends org.apache.beam.sdk.transforms.windowing.BoundedWindow>
extends org.apache.flink.api.common.functions.RichGroupCombineFunction<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,InputT>>,org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,AccumT>>>
Combine.PerKey
on Flink. The second part is FlinkReduceFunction. This function performs a local combine
step before shuffling while the latter does the final combination after a shuffle.
The input to combine(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<InputT,AccumT,?> |
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 |
|---|
FlinkPartialReduceFunction(org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn<InputT,AccumT,?> 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) |
FlinkPartialReduceFunction(org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn<InputT,AccumT,?> 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 |
combine(java.lang.Iterable<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,InputT>>> elements,
org.apache.flink.util.Collector<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,AccumT>>> out) |
void |
open(org.apache.flink.configuration.Configuration parameters) |
protected final org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn<InputT,AccumT,?> combineFn
protected final org.apache.beam.sdk.values.WindowingStrategy<java.lang.Object,W extends org.apache.beam.sdk.transforms.windowing.BoundedWindow> windowingStrategy
protected final org.apache.beam.runners.core.construction.SerializablePipelineOptions serializedOptions
protected final java.util.Map<org.apache.beam.sdk.values.PCollectionView<?>,org.apache.beam.sdk.values.WindowingStrategy<?,?>> sideInputs
public FlinkPartialReduceFunction(org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn<InputT,AccumT,?> 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 FlinkPartialReduceFunction(org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn<InputT,AccumT,?> 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 combine(java.lang.Iterable<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,InputT>>> elements, org.apache.flink.util.Collector<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,AccumT>>> out) throws java.lang.Exception
combine in interface org.apache.flink.api.common.functions.GroupCombineFunction<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,InputT>>,org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,AccumT>>>combine in class org.apache.flink.api.common.functions.RichGroupCombineFunction<org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,InputT>>,org.apache.beam.sdk.util.WindowedValue<org.apache.beam.sdk.values.KV<K,AccumT>>>java.lang.Exception