public class AppendOnlyFirstNFunction extends AbstractTopNFunction
AppendOnlyTopNFunction
to handle first-n case.
The input stream should only contain INSERT messages.
KeyedProcessFunction.Context, KeyedProcessFunction.OnTimerContext
hitCount, inputRowType, keyContext, outputRankNumber, rankEnd, requestCount, sortKeyComparator, sortKeySelector, ttlConfig
Constructor and Description |
---|
AppendOnlyFirstNFunction(StateTtlConfig ttlConfig,
InternalTypeInfo<RowData> inputRowType,
GeneratedRecordComparator sortKeyGeneratedRecordComparator,
RowDataKeySelector sortKeySelector,
RankType rankType,
RankRange rankRange,
boolean generateUpdateBefore,
boolean outputRankNumber) |
Modifier and Type | Method and Description |
---|---|
void |
open(Configuration configure)
Initialization method for the function.
|
void |
processElement(RowData input,
KeyedProcessFunction.Context context,
Collector<RowData> out)
Process one element from the input stream.
|
checkSortKeyInBufferRange, collectDelete, collectDelete, collectInsert, collectInsert, collectUpdateAfter, collectUpdateAfter, collectUpdateBefore, collectUpdateBefore, getDefaultTopNSize, hasOffset, initRankEnd, isInRankEnd, isInRankRange, registerMetric, setKeyContext
onTimer
close, getIterationRuntimeContext, getRuntimeContext, setRuntimeContext
public AppendOnlyFirstNFunction(StateTtlConfig ttlConfig, InternalTypeInfo<RowData> inputRowType, GeneratedRecordComparator sortKeyGeneratedRecordComparator, RowDataKeySelector sortKeySelector, RankType rankType, RankRange rankRange, boolean generateUpdateBefore, boolean outputRankNumber)
public void open(Configuration configure) throws Exception
RichFunction
The configuration object passed to the function can be used for configuration and initialization. The configuration contains all parameters that were configured on the function in the program composition.
public class MyFilter extends RichFilterFunction<String> {
private String searchString;
public void open(Configuration parameters) {
this.searchString = parameters.getString("foo");
}
public boolean filter(String value) {
return value.equals(searchString);
}
}
By default, this method does nothing.
open
in interface RichFunction
open
in class AbstractTopNFunction
configure
- The configuration containing the parameters attached to the contract.Exception
- Implementations may forward exceptions, which are caught by the runtime.
When the runtime catches an exception, it aborts the task and lets the fail-over logic
decide whether to retry the task execution.Configuration
public void processElement(RowData input, KeyedProcessFunction.Context context, Collector<RowData> out) throws Exception
KeyedProcessFunction
This function can output zero or more elements using the Collector
parameter and
also update internal state or set timers using the KeyedProcessFunction.Context
parameter.
processElement
in class KeyedProcessFunction<RowData,RowData,RowData>
input
- The input value.context
- A KeyedProcessFunction.Context
that allows querying the timestamp of the element and getting a
TimerService
for registering timers and querying the time. The context is only
valid during the invocation of this method, do not store it.out
- The collector for returning result values.Exception
- This method may throw exceptions. Throwing an exception will cause the
operation to fail and may trigger recovery.Copyright © 2014–2023 The Apache Software Foundation. All rights reserved.