new VectorColumnOutputMapping("Big Table Retain Mapping"); new VectorColumnOutputMapping("Non Outer Small Table Key Key Mapping"); new VectorColumnOutputMapping("Outer Small Table Key Mapping"); if (!bigTableRetainMapping.containsOutputColumn(batchColumnIndex)) { bigTableRetainMapping.add(batchColumnIndex, batchColumnIndex, typeInfo); if (!bigTableRetainMapping.containsOutputColumn(bigTableKeyColumn)) { nonOuterSmallTableKeyMapping.add(bigTableKeyColumn, bigTableKeyColumn, typeInfo); projectionMapping.add(nextOutputColumn, scratchColumn, typeInfo); outerSmallTableKeyMapping.add(bigTableKeyColumn, scratchColumn, typeInfo); bigTableRetainMapping.finalize(); vectorMapJoinInfo.setBigTableRetainColumnMap(bigTableRetainMapping.getOutputColumns()); vectorMapJoinInfo.setBigTableRetainTypeInfos(bigTableRetainMapping.getTypeInfos()); nonOuterSmallTableKeyMapping.finalize(); vectorMapJoinInfo.setNonOuterSmallTableKeyColumnMap(nonOuterSmallTableKeyMapping.getOutputColumns()); vectorMapJoinInfo.setNonOuterSmallTableKeyTypeInfos(nonOuterSmallTableKeyMapping.getTypeInfos()); outerSmallTableKeyMapping.finalize(); fullOuterSmallTableKeyMapping.finalize();
if (bigTableRetainedMapping.getCount() > 0) { bigTableRetainedVectorCopy = new VectorCopyRow(); bigTableRetainedVectorCopy.init(bigTableRetainedMapping); if (bigTableOuterKeyMapping.getCount() > 0) { bigTableVectorCopyOuterKeys = new VectorCopyRow(); bigTableVectorCopyOuterKeys.init(bigTableOuterKeyMapping);
protected void determineCommonInfo(boolean isOuter) throws HiveException { bigTableOuterKeyOutputVectorColumns = bigTableOuterKeyMapping.getOutputColumns(); smallTableOutputVectorColumns = smallTableMapping.getOutputColumns(); LOG.debug(getLoggingPrefix() + " VectorMapJoinCommonOperator constructor bigTableValueTypeNames " + Arrays.toString(bigTableValueTypeInfos)); LOG.debug(getLoggingPrefix() + " VectorMapJoinCommonOperator constructor bigTableRetainedMapping " + bigTableRetainedMapping.toString()); LOG.debug(getLoggingPrefix() + " VectorMapJoinCommonOperator constructor bigTableOuterKeyMapping " + bigTableOuterKeyMapping.toString());
new VectorColumnOutputMapping("Big Table Retained Mapping"); new VectorColumnOutputMapping("Big Table Outer Key Mapping"); if (!bigTableRetainedMapping.containsOutputColumn(batchColumnIndex)) { bigTableRetainedMapping.add(batchColumnIndex, batchColumnIndex, typeInfo); if (!bigTableRetainedMapping.containsOutputColumn(batchKeyColumn)) { bigTableRetainedMapping.add(batchKeyColumn, batchKeyColumn, typeInfo); projectionMapping.add(nextOutputColumn, scratchColumn, typeInfo); bigTableRetainedMapping.add(batchKeyColumn, scratchColumn, typeInfo); bigTableOuterKeyMapping.add(batchKeyColumn, scratchColumn, typeInfo); bigTableRetainedMapping.finalize(); bigTableOuterKeyMapping.finalize();
protected void determineCommonInfo(boolean isOuter) { bigTableRetainedMapping = new VectorColumnOutputMapping("Big Table Retained Mapping"); bigTableOuterKeyMapping = new VectorColumnOutputMapping("Big Table Outer Key Mapping"); if (!bigTableRetainedMapping.containsOutputColumn(batchColumnIndex)) { bigTableRetainedMapping.add(batchColumnIndex, batchColumnIndex, typeName); if (!bigTableRetainedMapping.containsOutputColumn(batchKeyColumn)) { bigTableRetainedMapping.add(batchKeyColumn, batchKeyColumn, typeName); bigTableRetainedMapping.add(batchKeyColumn, scratchColumn, typeName); bigTableOuterKeyMapping.add(batchKeyColumn, scratchColumn, typeName); bigTableRetainedMapping.finalize(); bigTableOuterKeyMapping.finalize(); bigTableOuterKeyOutputVectorColumns = bigTableOuterKeyMapping.getOutputColumns(); smallTableOutputVectorColumns = smallTableMapping.getOutputColumns(); LOG.debug(taskName + ", " + getOperatorId() + " VectorMapJoinCommonOperator constructor bigTableRetainedMapping " + bigTableRetainedMapping.toString()); LOG.debug(taskName + ", " + getOperatorId() + " VectorMapJoinCommonOperator constructor bigTableOuterKeyMapping " + bigTableOuterKeyMapping.toString());
for (int column : bigTableRetainedMapping.getOutputColumns()) { overflowBatch.cols[column].isRepeating = true; for (int column : bigTableRetainedMapping.getOutputColumns()) { ColumnVector colVector = overflowBatch.cols[column]; colVector.reset();
batch, batchIndex, overflowBatch, 0); outerSmallTableKeyColumnMap = outerSmallTableKeyMapping.getOutputColumns(); for (int column : outerSmallTableKeyColumnMap) { overflowBatch.cols[column].isRepeating = true;
new VectorColumnOutputMapping("Big Table Retain Mapping"); new VectorColumnOutputMapping("Non Outer Small Table Key Key Mapping"); new VectorColumnOutputMapping("Outer Small Table Key Mapping"); if (!bigTableRetainMapping.containsOutputColumn(batchColumnIndex)) { bigTableRetainMapping.add(batchColumnIndex, batchColumnIndex, typeInfo); new VectorColumnOutputMapping("Small Table Key Output Mapping"); final int smallTableKeyRetainSize = testDesc.smallTableRetainKeyColumnNums.length; for (int i = 0; i < testDesc.smallTableRetainKeyColumnNums.length; i++) { if (!bigTableRetainMapping.containsOutputColumn(bigTableKeyColumnNum)) { nonOuterSmallTableKeyMapping.add(bigTableKeyColumnNum, bigTableKeyColumnNum, keyTypeInfo); outerSmallTableKeyMapping.add(bigTableKeyColumnNum, emulateScratchColumn, keyTypeInfo); projectionMapping.add(nextOutputColumn, emulateScratchColumn, keyTypeInfo); bigTableRetainMapping.finalize(); vectorMapJoinInfo.setBigTableRetainColumnMap(bigTableRetainMapping.getOutputColumns()); vectorMapJoinInfo.setBigTableRetainTypeInfos(bigTableRetainMapping.getTypeInfos()); nonOuterSmallTableKeyMapping.finalize(); vectorMapJoinInfo.setNonOuterSmallTableKeyColumnMap(nonOuterSmallTableKeyMapping.getOutputColumns()); vectorMapJoinInfo.setNonOuterSmallTableKeyTypeInfos(nonOuterSmallTableKeyMapping.getTypeInfos()); outerSmallTableKeyMapping.finalize();
protected void determineCommonInfo(boolean isOuter) throws HiveException { outerSmallTableKeyColumnMap = outerSmallTableKeyMapping.getOutputColumns(); outerSmallTableKeyMapping.toString());
for (int column : bigTableRetainedMapping.getOutputColumns()) { overflowBatch.cols[column].isRepeating = true; for (int column : bigTableRetainedMapping.getOutputColumns()) { ColumnVector colVector = overflowBatch.cols[column]; colVector.reset();
if (outerSmallTableKeyMapping.getCount() > 0) { outerSmallTableKeyVectorCopy = new VectorCopyRow(); outerSmallTableKeyVectorCopy.init(outerSmallTableKeyMapping);
if (bigTableRetainedMapping.getCount() > 0) { bigTableRetainedVectorCopy = new VectorCopyRow(); bigTableRetainedVectorCopy.init(bigTableRetainedMapping); if (bigTableOuterKeyMapping.getCount() > 0) { bigTableVectorCopyOuterKeys = new VectorCopyRow(); bigTableVectorCopyOuterKeys.init(bigTableOuterKeyMapping);