public abstract class AbstractRowTimeUnboundedPrecedingOver<K> extends KeyedProcessFunctionWithCleanupState<K,RowData,RowData>
KeyedProcessFunction.Context, KeyedProcessFunction.OnTimerContext
Modifier and Type | Field and Description |
---|---|
protected AggsHandleFunction |
function |
protected JoinedRowData |
output |
stateCleaningEnabled
Constructor and Description |
---|
AbstractRowTimeUnboundedPrecedingOver(long minRetentionTime,
long maxRetentionTime,
GeneratedAggsHandleFunction genAggsHandler,
LogicalType[] accTypes,
LogicalType[] inputFieldTypes,
int rowTimeIdx) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Tear-down method for the user code.
|
protected Counter |
getCounter() |
void |
onTimer(long timestamp,
KeyedProcessFunction.OnTimerContext ctx,
Collector<RowData> out)
Called when a timer set using
TimerService fires. |
void |
open(OpenContext openContext)
Initialization method for the function.
|
void |
processElement(RowData input,
KeyedProcessFunction.Context ctx,
Collector<RowData> out)
Puts an element from the input stream into state if it is not late.
|
protected abstract void |
processElementsWithSameTimestamp(List<RowData> curRowList,
Collector<RowData> out)
Process the same timestamp datas, the mechanism is different between rows and range window.
|
cleanupState, initCleanupTimeState, isProcessingTimeTimer, needToCleanupState, registerProcessingCleanupTimer
getIterationRuntimeContext, getRuntimeContext, open, setRuntimeContext
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
registerProcessingCleanupTimer
protected transient JoinedRowData output
protected transient AggsHandleFunction function
public AbstractRowTimeUnboundedPrecedingOver(long minRetentionTime, long maxRetentionTime, GeneratedAggsHandleFunction genAggsHandler, LogicalType[] accTypes, LogicalType[] inputFieldTypes, int rowTimeIdx)
@VisibleForTesting protected Counter getCounter()
public void open(OpenContext openContext) throws Exception
RichFunction
The openContext object passed to the function can be used for configuration and initialization. The openContext contains some necessary information that were configured on the function in the program composition.
public class MyFilter extends RichFilterFunction<String> {
private String searchString;
public void open(OpenContext openContext) {
// initialize the value of searchString
}
public boolean filter(String value) {
return value.equals(searchString);
}
}
By default, this method does nothing.
1. If you implement open(OpenContext openContext)
, the open(OpenContext
openContext)
will be invoked and the open(Configuration parameters)
won't be
invoked. 2. If you don't implement open(OpenContext openContext)
, the open(Configuration parameters)
will be invoked in the default implementation of the open(OpenContext openContext)
.
openContext
- The context containing information about the context in which the function
is opened.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.public void processElement(RowData input, KeyedProcessFunction.Context ctx, Collector<RowData> out) throws Exception
processElement
in class KeyedProcessFunction<K,RowData,RowData>
input
- The input value.ctx
- A Context
that allows querying the timestamp of the element and getting
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
public void onTimer(long timestamp, KeyedProcessFunction.OnTimerContext ctx, Collector<RowData> out) throws Exception
KeyedProcessFunction
TimerService
fires.onTimer
in class KeyedProcessFunction<K,RowData,RowData>
timestamp
- The timestamp of the firing timer.ctx
- An KeyedProcessFunction.OnTimerContext
that allows querying the timestamp, the TimeDomain
, and the key of the firing timer 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.protected abstract void processElementsWithSameTimestamp(List<RowData> curRowList, Collector<RowData> out) throws Exception
Exception
public void close() throws Exception
RichFunction
This method can be used for clean up work.
close
in interface RichFunction
close
in class AbstractRichFunction
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.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.