Class RowTimeUnboundedPrecedingOverFunctionV2<K>
- java.lang.Object
-
- org.apache.flink.api.common.functions.AbstractRichFunction
-
- org.apache.flink.streaming.api.functions.KeyedProcessFunction<K,IN,OUT>
-
- org.apache.flink.table.runtime.functions.KeyedProcessFunctionWithCleanupState<K,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
-
- org.apache.flink.table.runtime.operators.over.RowTimeUnboundedPrecedingOverFunctionV2<K>
-
- All Implemented Interfaces:
Serializable,org.apache.flink.api.common.functions.Function,org.apache.flink.api.common.functions.RichFunction,CleanupState
public class RowTimeUnboundedPrecedingOverFunctionV2<K> extends KeyedProcessFunctionWithCleanupState<K,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
A ProcessFunction to support unbounded ROWS and RANGE windows.ROWS E.g.: SELECT rowtime, b, c, min(c) OVER (PARTITION BY b ORDER BY rowtime ROWS BETWEEN UNBOUNDED preceding AND CURRENT ROW), max(c) OVER (PARTITION BY b ORDER BY rowtime ROWS BETWEEN UNBOUNDED preceding AND CURRENT ROW) FROM T.
RANGE E.g.: SELECT rowtime, b, c, min(c) OVER (PARTITION BY b ORDER BY rowtime RANGE BETWEEN UNBOUNDED preceding AND CURRENT ROW), max(c) OVER (PARTITION BY b ORDER BY rowtime RANGE BETWEEN UNBOUNDED preceding AND CURRENT ROW) FROM T.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected AggsHandleFunctionfunctionprotected org.apache.flink.table.data.utils.JoinedRowDataoutputstatic intSECOND_OVER_VERSION-
Fields inherited from class org.apache.flink.table.runtime.functions.KeyedProcessFunctionWithCleanupState
stateCleaningEnabled
-
-
Constructor Summary
Constructors Constructor Description RowTimeUnboundedPrecedingOverFunctionV2(boolean isRowsWindow, long minRetentionTime, long maxRetentionTime, GeneratedAggsHandleFunction genAggsHandler, org.apache.flink.table.types.logical.LogicalType[] accTypes, org.apache.flink.table.types.logical.LogicalType[] inputFieldTypes, int rowTimeIdx)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()protected org.apache.flink.metrics.CountergetCounter()voidonTimer(long timestamp, org.apache.flink.streaming.api.functions.KeyedProcessFunction.OnTimerContext ctx, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)voidopen(org.apache.flink.api.common.functions.OpenContext openContext)voidprocessElement(org.apache.flink.table.data.RowData input, org.apache.flink.streaming.api.functions.KeyedProcessFunction.Context ctx, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)Puts an element from the input stream into state if it is not late.-
Methods inherited from class org.apache.flink.table.runtime.functions.KeyedProcessFunctionWithCleanupState
cleanupState, initCleanupTimeState, isProcessingTimeTimer, needToCleanupState, registerProcessingCleanupTimer
-
Methods inherited from class org.apache.flink.api.common.functions.AbstractRichFunction
getIterationRuntimeContext, getRuntimeContext, setRuntimeContext
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.table.runtime.functions.CleanupState
registerProcessingCleanupTimer
-
-
-
-
Field Detail
-
SECOND_OVER_VERSION
public static final int SECOND_OVER_VERSION
- See Also:
- Constant Field Values
-
output
protected transient org.apache.flink.table.data.utils.JoinedRowData output
-
function
protected transient AggsHandleFunction function
-
-
Constructor Detail
-
RowTimeUnboundedPrecedingOverFunctionV2
public RowTimeUnboundedPrecedingOverFunctionV2(boolean isRowsWindow, long minRetentionTime, long maxRetentionTime, GeneratedAggsHandleFunction genAggsHandler, org.apache.flink.table.types.logical.LogicalType[] accTypes, org.apache.flink.table.types.logical.LogicalType[] inputFieldTypes, int rowTimeIdx)
-
-
Method Detail
-
getCounter
@VisibleForTesting protected org.apache.flink.metrics.Counter getCounter()
-
open
public void open(org.apache.flink.api.common.functions.OpenContext openContext) throws Exception- Specified by:
openin interfaceorg.apache.flink.api.common.functions.RichFunction- Overrides:
openin classorg.apache.flink.api.common.functions.AbstractRichFunction- Throws:
Exception
-
processElement
public void processElement(org.apache.flink.table.data.RowData input, org.apache.flink.streaming.api.functions.KeyedProcessFunction.Context ctx, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out) throws ExceptionPuts an element from the input stream into state if it is not late. Registers a timer for the next watermark.- Specified by:
processElementin classorg.apache.flink.streaming.api.functions.KeyedProcessFunction<K,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>- Parameters:
input- The input value.ctx- AKeyedProcessFunction.Contextthat 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.- Throws:
Exception
-
onTimer
public void onTimer(long timestamp, org.apache.flink.streaming.api.functions.KeyedProcessFunction.OnTimerContext ctx, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out) throws Exception
-
-