Class AbstractRowTimeUnboundedPrecedingOver<K>

    • Field Detail

      • output

        protected transient org.apache.flink.table.data.utils.JoinedRowData output
    • Constructor Detail

      • AbstractRowTimeUnboundedPrecedingOver

        public AbstractRowTimeUnboundedPrecedingOver​(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
      • processElementsWithSameTimestamp

        protected abstract void processElementsWithSameTimestamp​(List<org.apache.flink.table.data.RowData> curRowList,
                                                                 org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)
                                                          throws Exception
        Process the same timestamp datas, the mechanism is different between rows and range window.
        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