Class ReOpenableMutableHashTable<BT,​PT>

  • All Implemented Interfaces:
    org.apache.flink.core.memory.MemorySegmentSource

    public class ReOpenableMutableHashTable<BT,​PT>
    extends MutableHashTable<BT,​PT>
    • Constructor Detail

      • ReOpenableMutableHashTable

        public ReOpenableMutableHashTable​(org.apache.flink.api.common.typeutils.TypeSerializer<BT> buildSideSerializer,
                                          org.apache.flink.api.common.typeutils.TypeSerializer<PT> probeSideSerializer,
                                          org.apache.flink.api.common.typeutils.TypeComparator<BT> buildSideComparator,
                                          org.apache.flink.api.common.typeutils.TypeComparator<PT> probeSideComparator,
                                          org.apache.flink.api.common.typeutils.TypePairComparator<PT,​BT> comparator,
                                          List<org.apache.flink.core.memory.MemorySegment> memorySegments,
                                          IOManager ioManager,
                                          boolean useBitmapFilters)
    • Method Detail

      • open

        public void open​(org.apache.flink.util.MutableObjectIterator<BT> buildSide,
                         org.apache.flink.util.MutableObjectIterator<PT> probeSide,
                         boolean buildSideOuterJoin)
                  throws IOException
        Description copied from class: MutableHashTable
        Opens the hash join. This method reads the build-side input and constructs the initial hash table, gradually spilling partitions that do not fit into memory.
        Overrides:
        open in class MutableHashTable<BT,​PT>
        Parameters:
        buildSide - Build side input.
        probeSide - Probe side input.
        buildSideOuterJoin - Whether outer join on build side.
        Throws:
        IOException - Thrown, if an I/O problem occurs while spilling a partition.
      • reopenProbe

        public void reopenProbe​(org.apache.flink.util.MutableObjectIterator<PT> probeInput)
                         throws IOException
        Throws:
        IOException
      • releaseTable

        protected void releaseTable()
        Description copied from class: MutableHashTable
        Releases the table (the array of buckets) and returns the occupied memory segments to the list of free segments.
        Overrides:
        releaseTable in class MutableHashTable<BT,​PT>
      • close

        public void close()
        Description copied from class: MutableHashTable
        Closes the hash table. This effectively releases all internal structures and closes all open files and removes them. The call to this method is valid both as a cleanup after the complete inputs were properly processed, and as an cancellation call, which cleans up all resources that are currently held by the hash join.
        Overrides:
        close in class MutableHashTable<BT,​PT>