public abstract class LongHybridHashTable extends BaseHybridHashTable
See LongHashPartition
. TODO add min max long filter and bloomFilter to spilled
partition.
buildRowCount, buildSpillRetBufferNumbers, buildSpillReturnBuffers, closed, compressionBlockSize, compressionCodecFactory, compressionEnabled, currentEnumerator, currentRecursionDepth, currentSpilledBuildSide, currentSpilledProbeSide, initPartitionFanOut, internalPool, ioManager, LOG, MAX_NUM_PARTITIONS, MAX_RECURSION_DEPTH, numSpillFiles, segmentSize, segmentSizeBits, segmentSizeMask, spillInBytes, totalNumBuffers, tryDistinctBuildRow
Constructor and Description |
---|
LongHybridHashTable(Object owner,
boolean compressionEnabled,
int compressionBlockSize,
BinaryRowDataSerializer buildSideSerializer,
BinaryRowDataSerializer probeSideSerializer,
MemoryManager memManager,
long reservedMemorySize,
IOManager ioManager,
int avgRecordLen,
long buildRowCount) |
Modifier and Type | Method and Description |
---|---|
protected void |
clearPartitions() |
void |
close()
Closes the hash table.
|
int |
compressionBlockSize() |
BlockCompressionFactory |
compressionCodecFactory() |
boolean |
compressionEnabled() |
void |
endBuild() |
void |
free() |
RowIterator<BinaryRowData> |
get(long probeKey)
This method is only used for operator fusion codegen to get build row from hash table.
|
abstract long |
getBuildLongKey(RowData row)
For code gen get build side long key.
|
LongHashPartition.MatchIterator |
getBuildSideIterator() |
RowData |
getCurrentProbeRow() |
List<LongHashPartition> |
getPartitionsPendingForSMJ() |
abstract long |
getProbeLongKey(RowData row)
For code gen get probe side long key.
|
RowIterator |
getSpilledPartitionBuildSideIter(LongHashPartition p) |
ProbeIterator |
getSpilledPartitionProbeSideIter(LongHashPartition p) |
void |
insertIntoProbeBuffer(RowData probeRecord)
If the probe row corresponding partition has been spilled to disk, just call this method
spill probe row to disk.
|
boolean |
nextMatching() |
abstract BinaryRowData |
probeToBinary(RowData row)
For code gen probe side to BinaryRowData.
|
void |
putBuildRow(BinaryRowData row) |
int |
spillPartition() |
boolean |
tryProbe(RowData record) |
createInputView, ensureNumBuffersReturned, freeCurrent, freePages, getNextBuffer, getNextBuffers, getNotNullNextBuffer, getNumSpillFiles, getSpillInBytes, getUsedMemoryInBytes, hash, maxInitBufferOfBucketArea, maxNumPartition, nextSegment, pageSize, readAllBuffers, releaseMemoryCacheForSMJ, remainBuffers, returnAll, returnPage
public LongHybridHashTable(Object owner, boolean compressionEnabled, int compressionBlockSize, BinaryRowDataSerializer buildSideSerializer, BinaryRowDataSerializer probeSideSerializer, MemoryManager memManager, long reservedMemorySize, IOManager ioManager, int avgRecordLen, long buildRowCount)
public void putBuildRow(BinaryRowData row) throws IOException
IOException
public void endBuild() throws IOException
IOException
@Nullable public final RowIterator<BinaryRowData> get(long probeKey) throws IOException
IOException
public final void insertIntoProbeBuffer(RowData probeRecord) throws IOException
Note: This must be called only after get(long)
method.
IOException
public boolean tryProbe(RowData record) throws IOException
IOException
public boolean nextMatching() throws IOException
IOException
public RowData getCurrentProbeRow()
public LongHashPartition.MatchIterator getBuildSideIterator()
public void close()
BaseHybridHashTable
close
in class BaseHybridHashTable
public void free()
free
in class BaseHybridHashTable
public abstract long getBuildLongKey(RowData row)
public abstract long getProbeLongKey(RowData row)
public abstract BinaryRowData probeToBinary(RowData row)
public int spillPartition() throws IOException
spillPartition
in class BaseHybridHashTable
IOException
public List<LongHashPartition> getPartitionsPendingForSMJ()
public RowIterator getSpilledPartitionBuildSideIter(LongHashPartition p) throws IOException
IOException
public ProbeIterator getSpilledPartitionProbeSideIter(LongHashPartition p) throws IOException
IOException
protected void clearPartitions()
clearPartitions
in class BaseHybridHashTable
public boolean compressionEnabled()
public BlockCompressionFactory compressionCodecFactory()
public int compressionBlockSize()
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.