Class RowTimeRangeUnboundedPrecedingFunction<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.AbstractRowTimeUnboundedPrecedingOver<K>
org.apache.flink.table.runtime.operators.over.RowTimeRangeUnboundedPrecedingFunction<K>
- All Implemented Interfaces:
Serializable,org.apache.flink.api.common.functions.Function,org.apache.flink.api.common.functions.RichFunction,CleanupState
public class RowTimeRangeUnboundedPrecedingFunction<K>
extends AbstractRowTimeUnboundedPrecedingOver<K>
A ProcessFunction to support unbounded RANGE window. The RANGE option includes all the rows
within the window frame that have the same ORDER BY values as the current row.
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.flink.streaming.api.functions.KeyedProcessFunction
org.apache.flink.streaming.api.functions.KeyedProcessFunction.Context, org.apache.flink.streaming.api.functions.KeyedProcessFunction.OnTimerContext -
Field Summary
Fields inherited from class org.apache.flink.table.runtime.operators.over.AbstractRowTimeUnboundedPrecedingOver
function, outputFields inherited from class org.apache.flink.table.runtime.functions.KeyedProcessFunctionWithCleanupState
stateCleaningEnabled -
Constructor Summary
ConstructorsConstructorDescriptionRowTimeRangeUnboundedPrecedingFunction(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
Modifier and TypeMethodDescriptionvoidprocessElementsWithSameTimestamp(List<org.apache.flink.table.data.RowData> curRowList, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out) Process the same timestamp datas, the mechanism is different between rows and range window.Methods inherited from class org.apache.flink.table.runtime.operators.over.AbstractRowTimeUnboundedPrecedingOver
close, getCounter, onTimer, open, processElementMethods inherited from class org.apache.flink.table.runtime.functions.KeyedProcessFunctionWithCleanupState
cleanupState, initCleanupTimeState, isProcessingTimeTimer, needToCleanupState, registerProcessingCleanupTimerMethods inherited from class org.apache.flink.api.common.functions.AbstractRichFunction
getIterationRuntimeContext, getRuntimeContext, setRuntimeContextMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.flink.table.runtime.functions.CleanupState
registerProcessingCleanupTimer
-
Constructor Details
-
RowTimeRangeUnboundedPrecedingFunction
public RowTimeRangeUnboundedPrecedingFunction(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 Details
-
processElementsWithSameTimestamp
public void processElementsWithSameTimestamp(List<org.apache.flink.table.data.RowData> curRowList, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out) throws Exception Description copied from class:AbstractRowTimeUnboundedPrecedingOverProcess the same timestamp datas, the mechanism is different between rows and range window.- Specified by:
processElementsWithSameTimestampin classAbstractRowTimeUnboundedPrecedingOver<K>- Throws:
Exception
-