public abstract class VectorMapJoinGenerateResultOperator extends VectorMapJoinCommonOperator
Operator.OperatorFunc, Operator.State
Modifier and Type | Field and Description |
---|---|
protected long |
batchCounter |
bigTableByteColumnVectorColumns, bigTableFilterExpressions, bigTableKeyColumnMap, bigTableKeyExpressions, bigTableKeyTypeNames, bigTableOuterKeyMapping, bigTableOuterKeyOutputVectorColumns, bigTableRetainedMapping, bigTableRetainedVectorCopy, bigTableValueColumnMap, bigTableValueExpressions, bigTableValueTypeNames, bigTableVectorCopyOuterKeys, isOuterJoin, needCommonSetup, needHashTableSetup, outputProjection, outputTypeNames, overflowBatch, overflowRepeatedThreshold, posSingleVectorMapJoinSmallTable, smallTableByteColumnVectorColumns, smallTableMapping, smallTableOutputVectorColumns, smallTableVectorDeserializeRow, spillReplayBatch, taskName, useOverflowRepeatedThreshold, vContext, vectorMapJoinHashTable, vOutContext
firstSmallTable, hashMapRowGetters, loader, mapJoinTables, spilledMapJoinTables
emptyList, joinKeys, joinKeysObjectInspectors, posBigTable
alias, aliasFilterTags, condn, countAfterReport, dummyObj, dummyObjVectors, filterMaps, filterTags, forwardCache, heartbeatInterval, intermediate, joinFilterObjectInspectors, joinFilters, joinValues, joinValuesObjectInspectors, joinValuesStandardObjectInspectors, noOuterJoin, NOTSKIPBIGTABLE, nullsafes, numAliases, offsets, order, rowContainerStandardObjectInspectors, skipVectors, spillTableDesc, totalSz
childOperators, childOperatorsArray, childOperatorsTag, colExprMap, conf, CONTEXT_NAME_KEY, done, groupKeyObject, HIVECOUNTERCREATEDFILES, HIVECOUNTERFATAL, id, inputObjInspectors, isLogDebugEnabled, isLogInfoEnabled, isLogTraceEnabled, operatorId, out, outputObjInspector, parentOperators, PLOG, reporter, state, statsMap
Constructor and Description |
---|
VectorMapJoinGenerateResultOperator() |
VectorMapJoinGenerateResultOperator(VectorizationContext vContext,
OperatorDesc conf) |
Modifier and Type | Method and Description |
---|---|
void |
closeOp(boolean aborted)
On close, make sure a partially filled overflow batch gets forwarded.
|
protected void |
commonSetup(VectorizedRowBatch batch) |
void |
forwardBigTableBatch(VectorizedRowBatch batch)
Forward the big table batch to the children.
|
protected void |
forwardOverflow()
Forward the overflow batch and reset the batch.
|
protected void |
generateHashMapResultMultiValue(VectorizedRowBatch batch,
VectorMapJoinHashMapResult hashMapResult,
int[] allMatchs,
int allMatchesIndex,
int duplicateCount)
Generate results for a N x M cross product.
|
protected void |
generateHashMapResultRepeatedAll(VectorizedRowBatch batch,
VectorMapJoinHashMapResult hashMapResult)
Generate optimized results when entire batch key is repeated and it matched the hash map.
|
protected int |
generateHashMapResultSingleValue(VectorizedRowBatch batch,
VectorMapJoinHashMapResult hashMapResult,
int[] allMatchs,
int allMatchesIndex,
int duplicateCount,
int numSel)
Generate join results for a single small table value match.
|
static String |
intArrayToRangesString(int[] selection,
int size) |
static String |
longArrayToRangesString(long[] selection,
int size) |
protected void |
performValueExpressions(VectorizedRowBatch batch,
int[] allMatchs,
int allMatchCount) |
protected void |
reloadHashTable(byte pos,
int partitionId)
Reload hashtable from the hash partition.
|
protected void |
reProcessBigTable(int partitionId)
Iterate over the big table row container and feed process() with leftover rows
|
protected void |
spillBatchRepeated(VectorizedRowBatch batch,
VectorMapJoinHashTableResult hashTableResult) |
protected void |
spillHashMapBatch(VectorizedRowBatch batch,
VectorMapJoinHashTableResult[] hashTableResults,
int[] spills,
int[] spillHashTableResultIndices,
int spillCount) |
boolean |
verifyMonotonicallyIncreasing(int[] selected,
int size) |
determineCommonInfo, displayBatchColumns, getHashTableLoader, getOuputVectorizationContext, getType, initializeOp, loadHashTable, setupOverflowBatch, setupVOutContext
cleanUpInputFileChangedOp, completeInitializationOp, endGroup, generateMapMetaData, getName, getOperatorName, getRefKey, getValueObjectInspectors, process, setMapJoinKey, spillBigTableRow, startGroup
checkAndGenObject, getFilteredValue, getFilterTag, getNextSize, getPosToAliasMap, hasFilter, internalForward, opAllowedAfterMapJoin, opAllowedBeforeMapJoin, reportProgress, setPosToAliasMap
acceptLimitPushdown, allInitializedParentsAreClosed, areAllParentsInitialized, augmentPlan, cleanUpInputFileChanged, clone, cloneOp, cloneRecursiveChildren, close, columnNamesRowResolvedCanBeObtained, createDummy, defaultEndGroup, defaultStartGroup, dump, dump, flush, forward, getAdditionalCounters, getChildOperators, getChildren, getColumnExprMap, getConf, getConfiguration, getDone, getExecContext, getGroupKeyObject, getIdentifier, getInputObjInspectors, getNextCntr, getNumChild, getNumParent, getOperatorId, getOpTraits, getOutputObjInspector, getParentOperators, getSchema, getStatistics, getStats, initEvaluators, initEvaluators, initEvaluatorsAndReturnStruct, initialize, initialize, initializeChildren, initializeLocalWork, initOperatorId, isUseBucketizedHiveInputFormat, jobClose, jobCloseOp, logStats, opAllowedBeforeSortMergeJoin, opAllowedConvertMapJoin, passExecContext, preorderMap, processGroup, removeChild, removeChildAndAdoptItsChildren, removeChildren, removeParent, replaceChild, replaceParent, reset, resetId, resetStats, setAlias, setChildOperators, setColumnExprMap, setConf, setDone, setExecContext, setGroupKeyObject, setId, setInputContext, setInputObjInspectors, setOperatorId, setOpTraits, setOutputCollector, setParentOperators, setReporter, setSchema, setStatistics, setUseBucketizedHiveInputFormat, supportAutomaticSortMergeJoin, supportSkewJoinOptimization, supportUnionRemoveOptimization, toString, toString
public VectorMapJoinGenerateResultOperator()
public VectorMapJoinGenerateResultOperator(VectorizationContext vContext, OperatorDesc conf) throws HiveException
HiveException
protected void commonSetup(VectorizedRowBatch batch) throws HiveException
commonSetup
in class VectorMapJoinCommonOperator
HiveException
protected void performValueExpressions(VectorizedRowBatch batch, int[] allMatchs, int allMatchCount)
protected int generateHashMapResultSingleValue(VectorizedRowBatch batch, VectorMapJoinHashMapResult hashMapResult, int[] allMatchs, int allMatchesIndex, int duplicateCount, int numSel) throws HiveException, IOException
batch
- The big table batch.hashMapResult
- The hash map results for the matching key.allMatchs
- The selection array for all matches key.allMatchesIndex
- Index into allMatches of the matching key we are generating for.duplicateCount
- Number of equal key rows.numSel
- Current number of rows that are remaining in the big table for forwarding.HiveException
IOException
protected void generateHashMapResultMultiValue(VectorizedRowBatch batch, VectorMapJoinHashMapResult hashMapResult, int[] allMatchs, int allMatchesIndex, int duplicateCount) throws HiveException, IOException
batch
- The big table batch.hashMapResult
- The hash map results for the matching key.allMatchs
- The all match selected array that contains (physical) batch indices.allMatchesIndex
- The index of the match key.duplicateCount
- Number of equal key rows.HiveException
IOException
protected void generateHashMapResultRepeatedAll(VectorizedRowBatch batch, VectorMapJoinHashMapResult hashMapResult) throws IOException, HiveException
batch
- The big table batch.hashMapResult
- The hash map results for the repeated key.IOException
HiveException
protected void spillHashMapBatch(VectorizedRowBatch batch, VectorMapJoinHashTableResult[] hashTableResults, int[] spills, int[] spillHashTableResultIndices, int spillCount) throws HiveException, IOException
HiveException
IOException
protected void spillBatchRepeated(VectorizedRowBatch batch, VectorMapJoinHashTableResult hashTableResult) throws HiveException, IOException
HiveException
IOException
protected void reloadHashTable(byte pos, int partitionId) throws IOException, HiveException, SerDeException, ClassNotFoundException
MapJoinOperator
reloadHashTable
in class MapJoinOperator
pos
- position of small tablepartitionId
- the partition of the small table to be reloaded fromIOException
HiveException
SerDeException
ClassNotFoundException
protected void reProcessBigTable(int partitionId) throws HiveException
MapJoinOperator
reProcessBigTable
in class MapJoinOperator
partitionId
- the partition from which to take out spilled big table rowsHiveException
public void forwardBigTableBatch(VectorizedRowBatch batch) throws HiveException
batch
- The big table batch.HiveException
protected void forwardOverflow() throws HiveException
HiveException
public void closeOp(boolean aborted) throws HiveException
closeOp
in class MapJoinOperator
HiveException
public boolean verifyMonotonicallyIncreasing(int[] selected, int size)
public static String intArrayToRangesString(int[] selection, int size)
public static String longArrayToRangesString(long[] selection, int size)
Copyright © 2017 The Apache Software Foundation. All rights reserved.