protected void fullOuterIntersectHashTableSetup() { matchTracker = vectorMapJoinHashTable.createMatchTracker(); } }
@Override public void hashTableSetup() throws HiveException { super.hashTableSetup(); /* * Get our Single-Column Long hash map information for this specialized class. */ hashMap = (VectorMapJoinLongHashMap) vectorMapJoinHashTable; useMinMax = hashMap.useMinMax(); if (useMinMax) { min = hashMap.min(); max = hashMap.max(); } }
@Override public void hashTableSetup() throws HiveException { super.hashTableSetup(); /* * Get our Single-Column Long hash set information for this specialized class. */ hashSet = (VectorMapJoinLongHashSet) vectorMapJoinHashTable; useMinMax = hashSet.useMinMax(); if (useMinMax) { min = hashSet.min(); max = hashSet.max(); } }
@Override public void hashTableSetup() throws HiveException { super.hashTableSetup(); /* * Get our Single-Column Long hash multi-set information for this specialized class. */ hashMultiSet = (VectorMapJoinLongHashMultiSet) vectorMapJoinHashTable; useMinMax = hashMultiSet.useMinMax(); if (useMinMax) { min = hashMultiSet.min(); max = hashMultiSet.max(); } }
public JoinUtil.JoinResult doLookup(byte[] keyBytes, int keyOffset, int keyLength, BytesBytesMultiHashMap.Result bytesBytesMultiHashMapResult, VectorMapJoinHashTableResult hashTableResult, MatchTracker matchTracker) { hashTableResult.forget(); JoinUtil.JoinResult joinResult = adapatorDirectAccess.setDirect(keyBytes, keyOffset, keyLength, bytesBytesMultiHashMapResult, matchTracker); if (joinResult == JoinUtil.JoinResult.SPILL) { hashTableResult.setSpillPartitionId(adapatorDirectAccess.directSpillPartitionId()); } hashTableResult.setJoinResult(joinResult); return joinResult; }
protected void spillBatchRepeated(VectorizedRowBatch batch, VectorMapJoinHashTableResult hashTableResult) throws HiveException, IOException { if (bigTableVectorSerializeRow == null) { setupSpillSerDe(batch); } int[] selected = batch.selected; boolean selectedInUse = batch.selectedInUse; for (int logical = 0; logical < batch.size; logical++) { int batchIndex = (selectedInUse ? selected[logical] : logical); spillSerializeRow(batch, batchIndex, hashTableResult.spillPartitionId()); } }
@Override public void forget() { bytesBytesMultiHashMapResult.forget(); super.forget(); } }
@Override public void forget() { bytesBytesMultiHashMapResult.forget(); super.forget(); }
@Override public void forget() { haveCount = false; bytesBytesMultiHashMapResult.forget(); super.forget(); } }
protected void commonSetup() throws HiveException { super.commonSetup(); // Semi join specific. VectorMapJoinHashSet baseHashSet = (VectorMapJoinHashSet) vectorMapJoinHashTable; hashSetResults = new VectorMapJoinHashSetResult[VectorizedRowBatch.DEFAULT_SIZE]; for (int i = 0; i < hashSetResults.length; i++) { hashSetResults[i] = baseHashSet.createHashSetResult(); } allMatchs = new int[VectorizedRowBatch.DEFAULT_SIZE]; spills = new int[VectorizedRowBatch.DEFAULT_SIZE]; spillHashMapResultIndices = new int[VectorizedRowBatch.DEFAULT_SIZE]; }
protected void commonSetup() throws HiveException { super.commonSetup(); // Inner big-table only join specific. VectorMapJoinHashMultiSet baseHashMultiSet = (VectorMapJoinHashMultiSet) vectorMapJoinHashTable; hashMultiSetResults = new VectorMapJoinHashMultiSetResult[VectorizedRowBatch.DEFAULT_SIZE]; for (int i = 0; i < hashMultiSetResults.length; i++) { hashMultiSetResults[i] = baseHashMultiSet.createHashMultiSetResult(); } allMatchs = new int[VectorizedRowBatch.DEFAULT_SIZE]; equalKeySeriesValueCounts = new long[VectorizedRowBatch.DEFAULT_SIZE]; equalKeySeriesAllMatchIndices = new int[VectorizedRowBatch.DEFAULT_SIZE]; equalKeySeriesDuplicateCounts = new int[VectorizedRowBatch.DEFAULT_SIZE]; spills = new int[VectorizedRowBatch.DEFAULT_SIZE]; spillHashMapResultIndices = new int[VectorizedRowBatch.DEFAULT_SIZE]; }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(super.toString()); return sb.toString(); } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("(" + super.toString() + ", "); sb.append("count " + count + ")"); return sb.toString(); } }
@Override public void hashTableSetup() throws HiveException { super.hashTableSetup(); /* * Get our Single-Column Long hash map information for this specialized class. */ hashMap = (VectorMapJoinLongHashMap) vectorMapJoinHashTable; useMinMax = hashMap.useMinMax(); if (useMinMax) { min = hashMap.min(); max = hashMap.max(); } }
protected void spillHashMapBatch(VectorizedRowBatch batch, VectorMapJoinHashTableResult[] hashTableResults, int[] spills, int[] spillHashTableResultIndices, int spillCount) throws HiveException, IOException { if (bigTableVectorSerializeRow == null) { setupSpillSerDe(batch); } for (int i = 0; i < spillCount; i++) { int batchIndex = spills[i]; int hashTableResultIndex = spillHashTableResultIndices[i]; VectorMapJoinHashTableResult hashTableResult = hashTableResults[hashTableResultIndex]; spillSerializeRow(batch, batchIndex, hashTableResult.spillPartitionId()); } }
@Override public void forget() { bytesBytesMultiHashMapResult.forget(); super.forget(); } }
@Override public void forget() { bytesBytesMultiHashMapResult.forget(); super.forget(); }
@Override public void forget() { haveCount = false; bytesBytesMultiHashMapResult.forget(); super.forget(); } }
protected void commonSetup(VectorizedRowBatch batch) throws HiveException { super.commonSetup(batch); // Semi join specific. VectorMapJoinHashSet baseHashSet = (VectorMapJoinHashSet) vectorMapJoinHashTable; hashSetResults = new VectorMapJoinHashSetResult[batch.DEFAULT_SIZE]; for (int i = 0; i < hashSetResults.length; i++) { hashSetResults[i] = baseHashSet.createHashSetResult(); } allMatchs = new int[batch.DEFAULT_SIZE]; spills = new int[batch.DEFAULT_SIZE]; spillHashMapResultIndices = new int[batch.DEFAULT_SIZE]; }
protected void fullOuterHashTableSetup() { // Always track key matches for FULL OUTER. matchTracker = vectorMapJoinHashTable.createMatchTracker(); }