public abstract class VectorMapJoinGenerateResultOperator extends VectorMapJoinCommonOperator
Operator.Counter, Operator.OperatorFunc, Operator.StateallSmallTableKeyColumnIncluded, allSmallTableKeyColumnNums, batchCounter, bigTableByteColumnVectorColumns, bigTableFilterExpressions, bigTableKeyColumnMap, bigTableKeyColumnNames, bigTableKeyExpressions, bigTableKeyTypeInfos, bigTableRetainColumnMap, bigTableRetainedVectorCopy, bigTableRetainTypeInfos, bigTableValueColumnMap, bigTableValueColumnNames, bigTableValueExpressions, bigTableValueTypeInfos, fullOuterSmallTableKeyMapping, hashTableKeyType, hashTableKind, isOuterJoin, loggingPrefix, needCommonSetup, needFirstBatchSetup, needHashTableSetup, nonOuterSmallTableKeyByteColumnVectorColumns, nonOuterSmallTableKeyColumnMap, nonOuterSmallTableKeyTypeInfos, nonOuterSmallTableKeyVectorCopy, outerSmallTableKeyByteColumnVectorColumns, outerSmallTableKeyColumnMap, outerSmallTableKeyMapping, outerSmallTableKeyVectorCopy, outputProjection, outputTypeInfos, overflowBatch, overflowRepeatedThreshold, posSingleVectorMapJoinSmallTable, projectionMapping, rowCounter, smallTableByteColumnVectorColumns, smallTableKeyOuterVectorDeserializeRow, smallTableValueColumnMap, smallTableValueMapping, smallTableValueVectorDeserializeRow, spillReplayBatch, useOverflowRepeatedThreshold, vContext, vectorDesc, vectorMapJoinHashTable, vectorMapJoinInfo, vectorMapJoinVariation, vOutContextfirstSmallTable, fullOuterBigTableRetainSize, hashMapRowGetters, isFullOuterMapJoin, isTestingNoHashTableLoad, loader, mapJoinTables, matchTracker, spilledMapJoinTablesemptyList, joinKeys, joinKeysObjectInspectors, posBigTablealias, aliasFilterTags, aliasFilterTagsNext, condn, countAfterReport, dummyObj, dummyObjVectors, filterMaps, filterTags, forwardCache, heartbeatInterval, intermediate, joinFilterObjectInspectors, joinFilters, joinValues, joinValuesObjectInspectors, joinValuesStandardObjectInspectors, needsPostEvaluation, noOuterJoin, NOTSKIPBIGTABLE, nullsafes, numAliases, offsets, order, residualJoinFilters, residualJoinFiltersOIs, rowContainerPostFilteredOuterJoin, rowContainerStandardObjectInspectors, skipVectors, spillTableDesc, totalSzabortOp, asyncInitOperations, cContext, childOperators, childOperatorsArray, childOperatorsTag, conf, CONTEXT_NAME_KEY, done, groupKeyObject, HIVE_COUNTER_CREATED_DYNAMIC_PARTITIONS, HIVE_COUNTER_CREATED_FILES, HIVE_COUNTER_FATAL, id, inputObjInspectors, numRows, operatorId, out, outputObjInspector, parentOperators, reporter, runTimeNumRows, state, statsMap| Modifier | Constructor and Description |
|---|---|
protected |
VectorMapJoinGenerateResultOperator()
Kryo ctor.
|
|
VectorMapJoinGenerateResultOperator(CompilationOpContext ctx) |
|
VectorMapJoinGenerateResultOperator(CompilationOpContext ctx,
OperatorDesc conf,
VectorizationContext vContext,
VectorDesc vectorDesc) |
| Modifier and Type | Method and Description |
|---|---|
void |
closeOp(boolean aborted)
On close, make sure a partially filled overflow batch gets forwarded.
|
protected void |
doSmallTableValueDeserializeRow(VectorizedRowBatch batch,
int batchIndex,
WriteBuffers.ByteSegmentRef byteSegmentRef,
VectorMapJoinHashMapResult hashMapResult) |
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.
|
protected void |
initializeOp(org.apache.hadoop.conf.Configuration hconf)
Operator specific initialization.
|
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) |
protected void |
spillRow(VectorizedRowBatch batch,
int batchIndex,
int partitionId) |
boolean |
verifyMonotonicallyIncreasing(int[] selected,
int size) |
commonSetup, completeInitializationOp, determineCommonInfo, displayBatchColumns, firstBatchSetup, getHashTableLoader, getInputVectorizationContext, getLoggingPrefix, getLoggingPrefix, getOutputVectorizationContext, getType, getVectorDesc, hashTableSetup, initLoggingPrefix, process, processBatch, setTestMapJoinTableContainer, setupOverflowBatch, setupVOutContextcanSkipJoinProcessing, canSkipReload, cleanUpInputFileChangedOp, endGroup, generateFullOuterSmallTableNoMatches, generateMapMetaData, getCacheKey, getName, getOperatorName, getRefKey, getValueObjectInspectors, isInputFileChangeSensitive, loadHashTable, setMapJoinKey, setMapJoinKeyNoNulls, spillBigTableRow, startGroupaddToAliasFilterTags, checkAndGenObject, getFilteredValue, getFilterTag, getNextSize, getPosToAliasMap, hasFilter, internalForward, opAllowedAfterMapJoin, opAllowedBeforeMapJoin, reportProgress, setPosToAliasMapabort, acceptLimitPushdown, allInitializedParentsAreClosed, areAllParentsInitialized, augmentPlan, cleanUpInputFileChanged, clone, cloneOp, cloneRecursiveChildren, close, columnNamesRowResolvedCanBeObtained, createDummy, defaultEndGroup, defaultStartGroup, dump, dump, flush, flushRecursive, forward, getAdditionalCounters, getChildOperators, getChildren, getColumnExprMap, getCompilationOpContext, getConf, getConfiguration, getCounterName, getDone, getExecContext, getGroupKeyObject, getIdentifier, getInputObjInspectors, getIsReduceSink, getMarker, getNextCntr, getNumChild, getNumParent, getOperatorId, getOpTraits, getOutputObjInspector, getParentOperators, getReduceOutputName, getSchema, getStatistics, getStats, initEvaluators, initEvaluators, initEvaluatorsAndReturnStruct, initialize, initialize, initializeChildren, initializeLocalWork, initOperatorId, isUseBucketizedHiveInputFormat, jobClose, jobCloseOp, logicalEquals, logicalEqualsTree, logStats, opAllowedBeforeSortMergeJoin, opAllowedConvertMapJoin, passExecContext, preorderMap, processGroup, removeChild, removeChildAndAdoptItsChildren, removeParent, removeParents, replaceChild, replaceParent, replaceTabAlias, reset, setAlias, setChildOperators, setColumnExprMap, setCompilationOpContext, setConf, setDone, setExecContext, setGroupKeyObject, setInputContext, setInputObjInspectors, setMarker, setNextVectorBatchGroupStatus, setOpTraits, setOutputCollector, setParentOperators, setReporter, setSchema, setStatistics, setUseBucketizedHiveInputFormat, supportAutomaticSortMergeJoin, supportSkewJoinOptimization, supportUnionRemoveOptimization, toString, toString, toString, vectorForwardprotected VectorMapJoinGenerateResultOperator()
public VectorMapJoinGenerateResultOperator(CompilationOpContext ctx)
public VectorMapJoinGenerateResultOperator(CompilationOpContext ctx, OperatorDesc conf, VectorizationContext vContext, VectorDesc vectorDesc) throws HiveException
HiveExceptionprotected void initializeOp(org.apache.hadoop.conf.Configuration hconf)
throws HiveException
OperatorinitializeOp in class VectorMapJoinCommonOperatorHiveExceptionprotected void performValueExpressions(VectorizedRowBatch batch, int[] allMatchs, int allMatchCount) throws HiveException
HiveExceptionprotected void doSmallTableValueDeserializeRow(VectorizedRowBatch batch, int batchIndex, WriteBuffers.ByteSegmentRef byteSegmentRef, VectorMapJoinHashMapResult hashMapResult) throws HiveException
HiveExceptionprotected 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 spillRow(VectorizedRowBatch batch, int batchIndex, int partitionId) 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 © 2022 The Apache Software Foundation. All rights reserved.