Class 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 Detail

      • output

        protected transient org.apache.flink.table.data.utils.JoinedRowData output
    • 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:
        open in interface org.apache.flink.api.common.functions.RichFunction
        Overrides:
        open in class org.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 Exception
        Puts an element from the input stream into state if it is not late. Registers a timer for the next watermark.
        Specified by:
        processElement in class org.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 - A KeyedProcessFunction.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.
        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
        Overrides:
        onTimer in class org.apache.flink.streaming.api.functions.KeyedProcessFunction<K,​org.apache.flink.table.data.RowData,​org.apache.flink.table.data.RowData>
        Throws:
        Exception
      • close

        public void close()
                   throws Exception
        Specified by:
        close in interface org.apache.flink.api.common.functions.RichFunction
        Overrides:
        close in class org.apache.flink.api.common.functions.AbstractRichFunction
        Throws:
        Exception