java.lang.Object
org.apache.flink.table.runtime.operators.rank.window.combines.TopNRecordsCombiner
All Implemented Interfaces:
RecordsCombiner

public final class TopNRecordsCombiner extends Object implements RecordsCombiner
An implementation of RecordsCombiner that save topN records of incremental input records into the window state.
  • Constructor Details

    • TopNRecordsCombiner

      public TopNRecordsCombiner(WindowTimerService<Long> timerService, StateKeyContext keyContext, WindowMapState<Long,List<org.apache.flink.table.data.RowData>> dataState, Comparator<org.apache.flink.table.data.RowData> sortKeyComparator, org.apache.flink.api.java.functions.KeySelector<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData> sortKeySelector, long topN, org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.RowData> recordSerializer, boolean isEventTime)
  • Method Details

    • combine

      public void combine(WindowKey windowKey, Iterator<org.apache.flink.table.data.RowData> records) throws Exception
      Description copied from interface: RecordsCombiner
      Combines the buffered data into state based on the given window-key pair.
      Specified by:
      combine in interface RecordsCombiner
      Parameters:
      windowKey - the window-key pair that the buffered data belong to, the window-key object is reused.
      records - the buffered data, the iterator and RowData objects are reused.
      Throws:
      Exception
    • close

      public void close() throws Exception
      Description copied from interface: RecordsCombiner
      Release resources allocated by this combine function.
      Specified by:
      close in interface RecordsCombiner
      Throws:
      Exception