Class ReOpenableMutableHashTable<BT,PT>

java.lang.Object
org.apache.flink.runtime.operators.hash.MutableHashTable<BT,PT>
org.apache.flink.runtime.operators.hash.ReOpenableMutableHashTable<BT,PT>
All Implemented Interfaces:
org.apache.flink.core.memory.MemorySegmentSource

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

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

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

      protected boolean prepareNextPartition() throws IOException
      Overrides:
      prepareNextPartition in class MutableHashTable<BT,PT>
      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>
    • getNewInMemoryPartition

      protected HashPartition<BT,PT> getNewInMemoryPartition(int number, int recursionLevel)
      Description copied from class: MutableHashTable
      Returns a new inMemoryPartition object. This is required as a plug for ReOpenableMutableHashTable.
      Overrides:
      getNewInMemoryPartition 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>