Class BinaryExternalMerger

java.lang.Object
org.apache.flink.table.runtime.operators.sort.AbstractBinaryExternalMerger<org.apache.flink.table.data.binary.BinaryRowData>
org.apache.flink.table.runtime.operators.sort.BinaryExternalMerger
All Implemented Interfaces:
Closeable, AutoCloseable

public class BinaryExternalMerger extends AbstractBinaryExternalMerger<org.apache.flink.table.data.binary.BinaryRowData>
Record merger for sort of BinaryRowData.
  • Constructor Details

    • BinaryExternalMerger

      public BinaryExternalMerger(org.apache.flink.runtime.io.disk.iomanager.IOManager ioManager, int pageSize, int maxFanIn, SpillChannelManager channelManager, BinaryRowDataSerializer serializer, RecordComparator comparator, boolean compressionEnabled, org.apache.flink.runtime.io.compression.BlockCompressionFactory compressionCodecFactory, int compressionBlockSize)
  • Method Details

    • channelReaderInputViewIterator

      protected org.apache.flink.util.MutableObjectIterator<org.apache.flink.table.data.binary.BinaryRowData> channelReaderInputViewIterator(org.apache.flink.runtime.io.disk.iomanager.AbstractChannelReaderInputView inView)
      Specified by:
      channelReaderInputViewIterator in class AbstractBinaryExternalMerger<org.apache.flink.table.data.binary.BinaryRowData>
      Returns:
      entry iterator reading from inView.
    • mergeComparator

      protected Comparator<org.apache.flink.table.data.binary.BinaryRowData> mergeComparator()
      Specified by:
      mergeComparator in class AbstractBinaryExternalMerger<org.apache.flink.table.data.binary.BinaryRowData>
      Returns:
      merging comparator used in merging.
    • mergeReusedEntries

      protected List<org.apache.flink.table.data.binary.BinaryRowData> mergeReusedEntries(int size)
      Specified by:
      mergeReusedEntries in class AbstractBinaryExternalMerger<org.apache.flink.table.data.binary.BinaryRowData>
      Returns:
      reused entry object used in merging.
    • writeMergingOutput

      protected void writeMergingOutput(org.apache.flink.util.MutableObjectIterator<org.apache.flink.table.data.binary.BinaryRowData> mergeIterator, org.apache.flink.runtime.memory.AbstractPagedOutputView output) throws IOException
      Description copied from class: AbstractBinaryExternalMerger
      read the merged stream and write the data back.
      Specified by:
      writeMergingOutput in class AbstractBinaryExternalMerger<org.apache.flink.table.data.binary.BinaryRowData>
      Throws:
      IOException