public class ReOpenableMutableHashTable<BT,PT> extends MutableHashTable<BT,PT>
MutableHashTable.HashBucketIterator<BT,PT>, MutableHashTable.ProbeIterator<PT>, MutableHashTable.UnmatchedBuildIterator<BT,PT>
availableMemory, buckets, bucketsPerSegmentBits, bucketsPerSegmentMask, buildSideComparator, buildSideSerializer, closed, currentEnumerator, currentRecursionDepth, furtherPartitioning, ioManager, keepBuildSidePartitions, numBuckets, partitionsBeingBuilt, probeIterator, probeSideSerializer, segmentSize, writeBehindBuffers, writeBehindBuffersAvailable
Constructor and Description |
---|
ReOpenableMutableHashTable(TypeSerializer<BT> buildSideSerializer,
TypeSerializer<PT> probeSideSerializer,
TypeComparator<BT> buildSideComparator,
TypeComparator<PT> probeSideComparator,
TypePairComparator<PT,BT> comparator,
List<MemorySegment> memorySegments,
IOManager ioManager,
boolean useBitmapFilters) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the hash table.
|
protected HashPartition<BT,PT> |
getNewInMemoryPartition(int number,
int recursionLevel)
Returns a new inMemoryPartition object.
|
void |
open(MutableObjectIterator<BT> buildSide,
MutableObjectIterator<PT> probeSide,
boolean buildSideOuterJoin)
Opens the hash join.
|
protected boolean |
prepareNextPartition() |
protected void |
releaseTable()
Releases the table (the array of buckets) and returns the occupied memory segments to the
list of free segments.
|
void |
reopenProbe(MutableObjectIterator<PT> probeInput) |
abort, assignPartition, buildBloomFilterForBucketsInPartition, buildInitialTable, buildTableFromSpilledPartition, clearPartitions, createPartitions, getBuildSideIterator, getCurrentProbeRecord, getFreedMemory, getInitialTableSize, getMatchesFor, getNumWriteBehindBuffers, getPartitioningFanOutNoEstimates, getProbeSideComparator, hash, initTable, insertIntoTable, nextRecord, nextSegment, open, processProbeIter, processUnmatchedBuildIter, spillPartition
public ReOpenableMutableHashTable(TypeSerializer<BT> buildSideSerializer, TypeSerializer<PT> probeSideSerializer, TypeComparator<BT> buildSideComparator, TypeComparator<PT> probeSideComparator, TypePairComparator<PT,BT> comparator, List<MemorySegment> memorySegments, IOManager ioManager, boolean useBitmapFilters)
public void open(MutableObjectIterator<BT> buildSide, MutableObjectIterator<PT> probeSide, boolean buildSideOuterJoin) throws IOException
MutableHashTable
open
in class MutableHashTable<BT,PT>
buildSide
- Build side input.probeSide
- Probe side input.buildSideOuterJoin
- Whether outer join on build side.IOException
- Thrown, if an I/O problem occurs while spilling a partition.public void reopenProbe(MutableObjectIterator<PT> probeInput) throws IOException
IOException
protected boolean prepareNextPartition() throws IOException
prepareNextPartition
in class MutableHashTable<BT,PT>
IOException
protected void releaseTable()
MutableHashTable
releaseTable
in class MutableHashTable<BT,PT>
protected HashPartition<BT,PT> getNewInMemoryPartition(int number, int recursionLevel)
MutableHashTable
getNewInMemoryPartition
in class MutableHashTable<BT,PT>
public void close()
MutableHashTable
close
in class MutableHashTable<BT,PT>
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.