public class ProcTimeRangeBoundedPrecedingFunction<K> extends KeyedProcessFunctionWithCleanupState<K,BaseRow,BaseRow>
E.g.: SELECT currtime, b, c, min(c) OVER (PARTITION BY b ORDER BY proctime RANGE BETWEEN INTERVAL '4' SECOND PRECEDING AND CURRENT ROW), max(c) OVER (PARTITION BY b ORDER BY proctime RANGE BETWEEN INTERVAL '4' SECOND PRECEDING AND CURRENT ROW) FROM T.
KeyedProcessFunction.Context, KeyedProcessFunction.OnTimerContext
stateCleaningEnabled
Constructor and Description |
---|
ProcTimeRangeBoundedPrecedingFunction(long minRetentionTime,
long maxRetentionTime,
GeneratedAggsHandleFunction genAggsHandler,
LogicalType[] accTypes,
LogicalType[] inputFieldTypes,
long precedingTimeBoundary) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Tear-down method for the user code.
|
void |
onTimer(long timestamp,
KeyedProcessFunction.OnTimerContext ctx,
Collector<BaseRow> out)
Called when a timer set using
TimerService fires. |
void |
open(Configuration parameters)
Initialization method for the function.
|
void |
processElement(BaseRow input,
KeyedProcessFunction.Context ctx,
Collector<BaseRow> out)
Process one element from the input stream.
|
cleanupState, initCleanupTimeState, isProcessingTimeTimer, needToCleanupState, registerProcessingCleanupTimer
getIterationRuntimeContext, getRuntimeContext, setRuntimeContext
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
registerProcessingCleanupTimer
public ProcTimeRangeBoundedPrecedingFunction(long minRetentionTime, long maxRetentionTime, GeneratedAggsHandleFunction genAggsHandler, LogicalType[] accTypes, LogicalType[] inputFieldTypes, long precedingTimeBoundary)
public void open(Configuration parameters) 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 AbstractRichFunction
parameters
- 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(BaseRow input, KeyedProcessFunction.Context ctx, Collector<BaseRow> 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<K,BaseRow,BaseRow>
input
- The input value.ctx
- 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.public void onTimer(long timestamp, KeyedProcessFunction.OnTimerContext ctx, Collector<BaseRow> out) throws Exception
KeyedProcessFunction
TimerService
fires.onTimer
in class KeyedProcessFunction<K,BaseRow,BaseRow>
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.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–2020 The Apache Software Foundation. All rights reserved.