Interface HashJoinMemoryCalculator.BuildSidePartitioning

All Superinterfaces:
HashJoinStateCalculator<HashJoinMemoryCalculator.PostBuildCalculations>
All Known Implementing Classes:
HashJoinMechanicalMemoryCalculator.MechanicalBuildSidePartitioning, HashJoinMemoryCalculatorImpl.BuildSidePartitioningImpl, HashJoinMemoryCalculatorImpl.NoopBuildSidePartitioningImpl
Enclosing interface:
HashJoinMemoryCalculator

public static interface HashJoinMemoryCalculator.BuildSidePartitioning extends HashJoinStateCalculator<HashJoinMemoryCalculator.PostBuildCalculations>
The interface representing the HashJoinStateCalculator corresponding to the HashJoinState.BUILD_SIDE_PARTITIONING state.

Invariants

  • This calculator will only be used when there is build side data. If there is no build side data, the caller should not invoke this calculator.
  • Method Details

    • initialize

      void initialize(boolean firstCycle, boolean reserveHash, RecordBatch buildSideBatch, RecordBatch probeSideBatch, Set<String> joinColumns, boolean probeEmpty, long memoryAvailable, int initialPartitions, int recordsPerPartitionBatchBuild, int recordsPerPartitionBatchProbe, int maxBatchNumRecordsBuild, int maxBatchNumRecordsProbe, int outputBatchSize, double loadFactor)
    • setPartitionStatSet

      void setPartitionStatSet(HashJoinMemoryCalculator.PartitionStatSet partitionStatSet)
    • getNumPartitions

      int getNumPartitions()
    • getBuildReservedMemory

      long getBuildReservedMemory()
    • getMaxReservedMemory

      long getMaxReservedMemory()
    • shouldSpill

      boolean shouldSpill()
    • makeDebugString

      String makeDebugString()