Class AbstractTopNFunction

    • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean checkSortKeyInBufferRange​(org.apache.flink.table.data.RowData sortKey, TopNBuffer buffer)
      Checks whether the record should be put into the buffer.
      protected void collectDelete​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out, org.apache.flink.table.data.RowData inputRow)  
      protected void collectDelete​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out, org.apache.flink.table.data.RowData inputRow, long rank)  
      protected void collectInsert​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out, org.apache.flink.table.data.RowData inputRow)  
      protected void collectInsert​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out, org.apache.flink.table.data.RowData inputRow, long rank)  
      protected void collectUpdateAfter​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out, org.apache.flink.table.data.RowData inputRow)  
      protected void collectUpdateAfter​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out, org.apache.flink.table.data.RowData inputRow, long rank)  
      protected void collectUpdateBefore​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out, org.apache.flink.table.data.RowData inputRow)  
      protected void collectUpdateBefore​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out, org.apache.flink.table.data.RowData inputRow, long rank)  
      protected long getDefaultTopNSize()
      Gets default topN size.
      protected boolean hasOffset()  
      protected long initRankEnd​(org.apache.flink.table.data.RowData row)
      Initialize rank end.
      protected boolean isInRankEnd​(long rank)  
      protected boolean isInRankRange​(long rank)  
      void open​(org.apache.flink.configuration.Configuration parameters)  
      protected void registerMetric​(long heapSize)  
      void setKeyContext​(org.apache.flink.streaming.api.operators.KeyContext keyContext)
      Sets keyContext to RankFunction.
      • Methods inherited from class org.apache.flink.streaming.api.functions.KeyedProcessFunction

        onTimer, processElement
      • Methods inherited from class org.apache.flink.api.common.functions.AbstractRichFunction

        close, getIterationRuntimeContext, getRuntimeContext, setRuntimeContext
    • Field Detail

      • ttlConfig

        protected final org.apache.flink.api.common.state.StateTtlConfig ttlConfig
      • sortKeyComparator

        protected Comparator<org.apache.flink.table.data.RowData> sortKeyComparator
      • outputRankNumber

        protected final boolean outputRankNumber
      • inputRowType

        protected final InternalTypeInfo<org.apache.flink.table.data.RowData> inputRowType
      • sortKeySelector

        protected final org.apache.flink.api.java.functions.KeySelector<org.apache.flink.table.data.RowData,​org.apache.flink.table.data.RowData> sortKeySelector
      • keyContext

        protected org.apache.flink.streaming.api.operators.KeyContext keyContext
      • rankEnd

        protected long rankEnd
      • hitCount

        protected long hitCount
      • requestCount

        protected long requestCount
    • Method Detail

      • open

        public void open​(org.apache.flink.configuration.Configuration parameters)
                  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
      • getDefaultTopNSize

        protected long getDefaultTopNSize()
        Gets default topN size.
        Returns:
        default topN size
      • initRankEnd

        protected long initRankEnd​(org.apache.flink.table.data.RowData row)
                            throws Exception
        Initialize rank end.
        Parameters:
        row - input record
        Returns:
        rank end
        Throws:
        Exception
      • checkSortKeyInBufferRange

        protected boolean checkSortKeyInBufferRange​(org.apache.flink.table.data.RowData sortKey,
                                                    TopNBuffer buffer)
        Checks whether the record should be put into the buffer.
        Parameters:
        sortKey - sortKey to test
        buffer - buffer to add
        Returns:
        true if the record should be put into the buffer.
      • registerMetric

        protected void registerMetric​(long heapSize)
      • collectInsert

        protected void collectInsert​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out,
                                     org.apache.flink.table.data.RowData inputRow,
                                     long rank)
      • collectInsert

        protected void collectInsert​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out,
                                     org.apache.flink.table.data.RowData inputRow)
      • collectDelete

        protected void collectDelete​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out,
                                     org.apache.flink.table.data.RowData inputRow,
                                     long rank)
      • collectDelete

        protected void collectDelete​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out,
                                     org.apache.flink.table.data.RowData inputRow)
      • collectUpdateAfter

        protected void collectUpdateAfter​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out,
                                          org.apache.flink.table.data.RowData inputRow,
                                          long rank)
      • collectUpdateAfter

        protected void collectUpdateAfter​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out,
                                          org.apache.flink.table.data.RowData inputRow)
      • collectUpdateBefore

        protected void collectUpdateBefore​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out,
                                           org.apache.flink.table.data.RowData inputRow,
                                           long rank)
      • collectUpdateBefore

        protected void collectUpdateBefore​(org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out,
                                           org.apache.flink.table.data.RowData inputRow)
      • isInRankEnd

        protected boolean isInRankEnd​(long rank)
      • isInRankRange

        protected boolean isInRankRange​(long rank)
      • hasOffset

        protected boolean hasOffset()
      • setKeyContext

        public void setKeyContext​(org.apache.flink.streaming.api.operators.KeyContext keyContext)
        Sets keyContext to RankFunction.
        Parameters:
        keyContext - keyContext of current function.