public class MergeAggregateByKeyProcessor<K,V,A,R> extends Object implements BatchProcessor
Modifier and Type | Field and Description |
---|---|
protected CombinerAggregator<V,A,R> |
aggregator |
protected ProcessorContext |
context |
protected Map<K,A> |
state |
Constructor and Description |
---|
MergeAggregateByKeyProcessor(CombinerAggregator<V,A,R> aggregator) |
Modifier and Type | Method and Description |
---|---|
void |
execute(Pair<K,A> input)
Execute some operation on the input value.
|
void |
execute(T input,
String streamId)
Executes some operations on the input and possibly emits some results.
|
void |
finish()
This is triggered to signal the end of the current batch of values.
|
void |
init(ProcessorContext context)
Initializes the processor.
|
protected <R> void |
mayBeForwardAggUpdate(Supplier<R> result)
Forwards the result update to downstream processors.
|
void |
punctuate(String stream)
Punctuation marks end of a batch which can be used to compute and pass the results of one stage in the pipeline to the next.
|
protected final CombinerAggregator<V,A,R> aggregator
protected ProcessorContext context
public MergeAggregateByKeyProcessor(CombinerAggregator<V,A,R> aggregator)
public void execute(Pair<K,A> input)
input
- the inputpublic void finish()
public void init(ProcessorContext context)
Initializes the processor. This is typically invoked from the underlying storm bolt’s prepare method.
public void execute(T input, String streamId)
Executes some operations on the input and possibly emits some results.
Processors that do not care about the source stream should overrideBaseProcessor.execute(Object)
instead.public void punctuate(String stream)
Punctuation marks end of a batch which can be used to compute and pass the results of one stage in the pipeline to the next. For e.g. emit the results of an aggregation.
protected final <R> void mayBeForwardAggUpdate(Supplier<R> result)
R
- the result typeresult
- the result functionCopyright © 2022 The Apache Software Foundation. All rights reserved.