Class BinaryExternalMerger

    • Constructor Detail

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

      • 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