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, vOutContextfirstSmallTable, hashMapRowGetters, loader, mapJoinTables, spilledMapJoinTablesemptyList, joinKeys, joinKeysObjectInspectors, posBigTablealias, aliasFilterTags, condn, countAfterReport, dummyObj, dummyObjVectors, filterMaps, filterTags, forwardCache, heartbeatInterval, intermediate, joinFilterObjectInspectors, joinFilters, joinValues, joinValuesObjectInspectors, joinValuesStandardObjectInspectors, noOuterJoin, NOTSKIPBIGTABLE, nullsafes, numAliases, offsets, order, rowContainerStandardObjectInspectors, skipVectors, spillTableDesc, totalSzchildOperators, 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, setupVOutContextcleanUpInputFileChangedOp, completeInitializationOp, endGroup, generateMapMetaData, getName, getOperatorName, getRefKey, getValueObjectInspectors, process, setMapJoinKey, spillBigTableRow, startGroupcheckAndGenObject, getFilteredValue, getFilterTag, getNextSize, getPosToAliasMap, hasFilter, internalForward, opAllowedAfterMapJoin, opAllowedBeforeMapJoin, reportProgress, setPosToAliasMapacceptLimitPushdown, 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, toStringpublic VectorMapJoinGenerateResultOperator()
public VectorMapJoinGenerateResultOperator(VectorizationContext vContext, OperatorDesc conf) throws HiveException
HiveExceptionprotected void commonSetup(VectorizedRowBatch batch) throws HiveException
commonSetup in class VectorMapJoinCommonOperatorHiveExceptionprotected 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.HiveExceptionIOExceptionprotected 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.HiveExceptionIOExceptionprotected void generateHashMapResultRepeatedAll(VectorizedRowBatch batch, VectorMapJoinHashMapResult hashMapResult) throws IOException, HiveException
batch - The big table batch.hashMapResult - The hash map results for the repeated key.IOExceptionHiveExceptionprotected void spillHashMapBatch(VectorizedRowBatch batch, VectorMapJoinHashTableResult[] hashTableResults, int[] spills, int[] spillHashTableResultIndices, int spillCount) throws HiveException, IOException
HiveExceptionIOExceptionprotected void spillBatchRepeated(VectorizedRowBatch batch, VectorMapJoinHashTableResult hashTableResult) throws HiveException, IOException
HiveExceptionIOExceptionprotected void reloadHashTable(byte pos,
int partitionId)
throws IOException,
HiveException,
SerDeException,
ClassNotFoundException
MapJoinOperatorreloadHashTable in class MapJoinOperatorpos - position of small tablepartitionId - the partition of the small table to be reloaded fromIOExceptionHiveExceptionSerDeExceptionClassNotFoundExceptionprotected void reProcessBigTable(int partitionId)
throws HiveException
MapJoinOperatorreProcessBigTable in class MapJoinOperatorpartitionId - the partition from which to take out spilled big table rowsHiveExceptionpublic void forwardBigTableBatch(VectorizedRowBatch batch) throws HiveException
batch - The big table batch.HiveExceptionprotected void forwardOverflow()
throws HiveException
HiveExceptionpublic void closeOp(boolean aborted)
throws HiveException
closeOp in class MapJoinOperatorHiveExceptionpublic boolean verifyMonotonicallyIncreasing(int[] selected,
int size)
public static String intArrayToRangesString(int[] selection, int size)
public static String longArrayToRangesString(long[] selection, int size)
Copyright © 2016 The Apache Software Foundation. All rights reserved.