diff --git a/pom.xml b/pom.xml
index 848432c..15711cc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,7 +107,7 @@
3.4
1.7.7
0.8.0.RELEASE
- 1.5.0
+ 1.6.0-SNAPSHOT
4.2.1
4.1.6
4.1.7
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java
index 4825a61..8fe44ba 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java
@@ -48,6 +48,7 @@
import org.apache.calcite.rex.RexNode;
import org.apache.calcite.rex.RexOver;
import org.apache.calcite.rex.RexRangeRef;
+import org.apache.calcite.rex.RexSubQuery;
import org.apache.calcite.rex.RexUtil;
import org.apache.calcite.rex.RexVisitor;
import org.apache.calcite.rex.RexVisitorImpl;
@@ -629,7 +630,7 @@ public String apply(RexNode r) {
};
public static ImmutableList getPredsNotPushedAlready(RelNode inp, List predsToPushDown) {
- final RelOptPredicateList predicates = RelMetadataQuery.getPulledUpPredicates(inp);
+ final RelOptPredicateList predicates = RelMetadataQuery.instance().getPulledUpPredicates(inp);
final ImmutableSet alreadyPushedPreds = ImmutableSet.copyOf(Lists.transform(
predicates.pulledUpPredicates, REX_STR_FN));
final ImmutableList.Builder newConjuncts = ImmutableList.builder();
@@ -896,6 +897,12 @@ public Boolean visitFieldAccess(RexFieldAccess fieldAccess) {
// ".FIELD" is constant iff "" is constant.
return fieldAccess.getReferenceExpr().accept(this);
}
+
+ @Override
+ public Boolean visitSubQuery(RexSubQuery subQuery) {
+ // it seems that it is not used by anything.
+ return null;
+ }
}
public static Set getInputRefs(RexNode expr) {
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelFactories.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelFactories.java
index eeec44e..a4c6319 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelFactories.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelFactories.java
@@ -28,6 +28,7 @@
import org.apache.calcite.rel.RelCollation;
import org.apache.calcite.rel.RelNode;
import org.apache.calcite.rel.core.AggregateCall;
+import org.apache.calcite.rel.core.CorrelationId;
import org.apache.calcite.rel.core.JoinInfo;
import org.apache.calcite.rel.core.JoinRelType;
import org.apache.calcite.rel.core.RelFactories.AggregateFactory;
@@ -147,6 +148,13 @@ public RelNode createJoin(RelNode left, RelNode right, RexNode condition, JoinRe
Set variablesStopped, boolean semiJoinDone) {
return HiveJoin.getJoin(left.getCluster(), left, right, condition, joinType, false);
}
+
+ @Override
+ public RelNode createJoin(RelNode left, RelNode right, RexNode condition,
+ Set variablesSet, JoinRelType joinType, boolean semiJoinDone) {
+ // According to calcite, it is going to be removed before Calcite-2.0
+ return HiveJoin.getJoin(left.getCluster(), left, right, condition, joinType, semiJoinDone);
+ }
}
/**
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveAlgorithmsUtil.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveAlgorithmsUtil.java
index 6840418..8c00322 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveAlgorithmsUtil.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveAlgorithmsUtil.java
@@ -200,7 +200,7 @@ public double computeSMBMapJoinIOCost(
}
public static boolean isFittingIntoMemory(Double maxSize, RelNode input, int buckets) {
- Double currentMemory = RelMetadataQuery.cumulativeMemoryWithinPhase(input);
+ Double currentMemory = RelMetadataQuery.instance().cumulativeMemoryWithinPhase(input);
if (currentMemory != null) {
if(currentMemory / buckets > maxSize) {
return false;
@@ -314,8 +314,8 @@ public static Double getJoinMemory(HiveJoin join, MapJoinStreamingRelation strea
if (streamingSide == MapJoinStreamingRelation.NONE ||
streamingSide == MapJoinStreamingRelation.RIGHT_RELATION) {
// Left side
- final Double leftAvgRowSize = RelMetadataQuery.getAverageRowSize(join.getLeft());
- final Double leftRowCount = RelMetadataQuery.getRowCount(join.getLeft());
+ final Double leftAvgRowSize = RelMetadataQuery.instance().getAverageRowSize(join.getLeft());
+ final Double leftRowCount = RelMetadataQuery.instance().getRowCount(join.getLeft());
if (leftAvgRowSize == null || leftRowCount == null) {
return null;
}
@@ -324,8 +324,8 @@ public static Double getJoinMemory(HiveJoin join, MapJoinStreamingRelation strea
if (streamingSide == MapJoinStreamingRelation.NONE ||
streamingSide == MapJoinStreamingRelation.LEFT_RELATION) {
// Right side
- final Double rightAvgRowSize = RelMetadataQuery.getAverageRowSize(join.getRight());
- final Double rightRowCount = RelMetadataQuery.getRowCount(join.getRight());
+ final Double rightAvgRowSize = RelMetadataQuery.instance().getAverageRowSize(join.getRight());
+ final Double rightRowCount = RelMetadataQuery.instance().getRowCount(join.getRight());
if (rightAvgRowSize == null || rightRowCount == null) {
return null;
}
@@ -338,8 +338,8 @@ public static Integer getSplitCountWithRepartition(HiveJoin join) {
final Double maxSplitSize = join.getCluster().getPlanner().getContext().
unwrap(HiveAlgorithmsConf.class).getMaxSplitSize();
// We repartition: new number of splits
- final Double averageRowSize = RelMetadataQuery.getAverageRowSize(join);
- final Double rowCount = RelMetadataQuery.getRowCount(join);
+ final Double averageRowSize = RelMetadataQuery.instance().getAverageRowSize(join);
+ final Double rowCount = RelMetadataQuery.instance().getRowCount(join);
if (averageRowSize == null || rowCount == null) {
return null;
}
@@ -357,7 +357,7 @@ public static Integer getSplitCountWithoutRepartition(HiveJoin join) {
} else {
return null;
}
- return RelMetadataQuery.splitCount(largeInput);
+ return RelMetadataQuery.instance().splitCount(largeInput);
}
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveDefaultCostModel.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveDefaultCostModel.java
index 6669d32..f1037e0 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveDefaultCostModel.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveDefaultCostModel.java
@@ -84,8 +84,8 @@ public boolean isExecutable(HiveJoin join) {
@Override
public RelOptCost getCost(HiveJoin join) {
- double leftRCount = RelMetadataQuery.getRowCount(join.getLeft());
- double rightRCount = RelMetadataQuery.getRowCount(join.getRight());
+ double leftRCount = RelMetadataQuery.instance().getRowCount(join.getLeft());
+ double rightRCount = RelMetadataQuery.instance().getRowCount(join.getRight());
return HiveCost.FACTORY.makeCost(leftRCount + rightRCount, 0.0, 0.0);
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveOnTezCostModel.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveOnTezCostModel.java
index 61a3a64..c0086f5 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveOnTezCostModel.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveOnTezCostModel.java
@@ -78,7 +78,7 @@ public RelOptCost getDefaultCost() {
@Override
public RelOptCost getScanCost(HiveTableScan ts) {
- return algoUtils.computeScanCost(ts.getRows(), RelMetadataQuery.getAverageRowSize(ts));
+ return algoUtils.computeScanCost(ts.getRows(), RelMetadataQuery.instance().getAverageRowSize(ts));
}
@Override
@@ -87,7 +87,7 @@ public RelOptCost getAggregateCost(HiveAggregate aggregate) {
return HiveCost.FACTORY.makeZeroCost();
} else {
// 1. Sum of input cardinalities
- final Double rCount = RelMetadataQuery.getRowCount(aggregate.getInput());
+ final Double rCount = RelMetadataQuery.instance().getRowCount(aggregate.getInput());
if (rCount == null) {
return null;
}
@@ -96,7 +96,7 @@ public RelOptCost getAggregateCost(HiveAggregate aggregate) {
// 3. IO cost = cost of writing intermediary results to local FS +
// cost of reading from local FS for transferring to GBy +
// cost of transferring map outputs to GBy operator
- final Double rAverageSize = RelMetadataQuery.getAverageRowSize(aggregate.getInput());
+ final Double rAverageSize = RelMetadataQuery.instance().getAverageRowSize(aggregate.getInput());
if (rAverageSize == null) {
return null;
}
@@ -129,8 +129,8 @@ public boolean isExecutable(HiveJoin join) {
@Override
public RelOptCost getCost(HiveJoin join) {
// 1. Sum of input cardinalities
- final Double leftRCount = RelMetadataQuery.getRowCount(join.getLeft());
- final Double rightRCount = RelMetadataQuery.getRowCount(join.getRight());
+ final Double leftRCount = RelMetadataQuery.instance().getRowCount(join.getLeft());
+ final Double rightRCount = RelMetadataQuery.instance().getRowCount(join.getRight());
if (leftRCount == null || rightRCount == null) {
return null;
}
@@ -151,8 +151,8 @@ public RelOptCost getCost(HiveJoin join) {
// 3. IO cost = cost of writing intermediary results to local FS +
// cost of reading from local FS for transferring to join +
// cost of transferring map outputs to Join operator
- final Double leftRAverageSize = RelMetadataQuery.getAverageRowSize(join.getLeft());
- final Double rightRAverageSize = RelMetadataQuery.getAverageRowSize(join.getRight());
+ final Double leftRAverageSize = RelMetadataQuery.instance().getAverageRowSize(join.getLeft());
+ final Double rightRAverageSize = RelMetadataQuery.instance().getAverageRowSize(join.getRight());
if (leftRAverageSize == null || rightRAverageSize == null) {
return null;
}
@@ -187,8 +187,8 @@ public Double getCumulativeMemoryWithinPhaseSplit(HiveJoin join) {
join.setJoinAlgorithm(TezCommonJoinAlgorithm.INSTANCE);
final Double memoryWithinPhase =
- RelMetadataQuery.cumulativeMemoryWithinPhase(join);
- final Integer splitCount = RelMetadataQuery.splitCount(join);
+ RelMetadataQuery.instance().cumulativeMemoryWithinPhase(join);
+ final Integer splitCount = RelMetadataQuery.instance().splitCount(join);
join.setJoinAlgorithm(oldAlgo);
if (memoryWithinPhase == null || splitCount == null) {
@@ -239,8 +239,8 @@ public boolean isExecutable(HiveJoin join) {
@Override
public RelOptCost getCost(HiveJoin join) {
// 1. Sum of input cardinalities
- final Double leftRCount = RelMetadataQuery.getRowCount(join.getLeft());
- final Double rightRCount = RelMetadataQuery.getRowCount(join.getRight());
+ final Double leftRCount = RelMetadataQuery.instance().getRowCount(join.getLeft());
+ final Double rightRCount = RelMetadataQuery.instance().getRowCount(join.getRight());
if (leftRCount == null || rightRCount == null) {
return null;
}
@@ -251,7 +251,7 @@ public RelOptCost getCost(HiveJoin join) {
add(leftRCount).
add(rightRCount).
build();
- ImmutableBitSet.Builder streamingBuilder = new ImmutableBitSet.Builder();
+ ImmutableBitSet.Builder streamingBuilder = ImmutableBitSet.builder();
switch (join.getStreamingSide()) {
case LEFT_RELATION:
streamingBuilder.set(0);
@@ -266,8 +266,8 @@ public RelOptCost getCost(HiveJoin join) {
final double cpuCost = HiveAlgorithmsUtil.computeMapJoinCPUCost(cardinalities, streaming);
// 3. IO cost = cost of transferring small tables to join node *
// degree of parallelism
- final Double leftRAverageSize = RelMetadataQuery.getAverageRowSize(join.getLeft());
- final Double rightRAverageSize = RelMetadataQuery.getAverageRowSize(join.getRight());
+ final Double leftRAverageSize = RelMetadataQuery.instance().getAverageRowSize(join.getLeft());
+ final Double rightRAverageSize = RelMetadataQuery.instance().getAverageRowSize(join.getRight());
if (leftRAverageSize == null || rightRAverageSize == null) {
return null;
}
@@ -277,8 +277,8 @@ public RelOptCost getCost(HiveJoin join) {
build();
JoinAlgorithm oldAlgo = join.getJoinAlgorithm();
join.setJoinAlgorithm(TezMapJoinAlgorithm.INSTANCE);
- final int parallelism = RelMetadataQuery.splitCount(join) == null
- ? 1 : RelMetadataQuery.splitCount(join);
+ final int parallelism = RelMetadataQuery.instance().splitCount(join) == null
+ ? 1 : RelMetadataQuery.instance().splitCount(join);
join.setJoinAlgorithm(oldAlgo);
final double ioCost = algoUtils.computeMapJoinIOCost(relationInfos, streaming, parallelism);
// 4. Result
@@ -322,7 +322,7 @@ public Double getCumulativeMemoryWithinPhaseSplit(HiveJoin join) {
return null;
}
// If simple map join, the whole relation goes in memory
- return RelMetadataQuery.cumulativeMemoryWithinPhase(inMemoryInput);
+ return RelMetadataQuery.instance().cumulativeMemoryWithinPhase(inMemoryInput);
}
@Override
@@ -376,7 +376,7 @@ public boolean isExecutable(HiveJoin join) {
// What we need is a way to get buckets not splits
JoinAlgorithm oldAlgo = join.getJoinAlgorithm();
join.setJoinAlgorithm(TezBucketJoinAlgorithm.INSTANCE);
- Integer buckets = RelMetadataQuery.splitCount(smallInput);
+ Integer buckets = RelMetadataQuery.instance().splitCount(smallInput);
join.setJoinAlgorithm(oldAlgo);
if (buckets == null) {
@@ -388,7 +388,7 @@ public boolean isExecutable(HiveJoin join) {
for (int i=0; i joinKeysInChildren = new ArrayList();
@@ -196,7 +196,7 @@ public ImmutableBitSet getSortedInputs() throws CalciteSemanticException {
for (int i=0; i exps, Rel
}
@Override
- public RelOptCost computeSelfCost(RelOptPlanner planner) {
- return RelMetadataQuery.getNonCumulativeCost(this);
+ public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery relMetadataQuery) {
+ return relMetadataQuery.getNonCumulativeCost(this);
}
@Override
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveSemiJoin.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveSemiJoin.java
index 3558676..1227489 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveSemiJoin.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveSemiJoin.java
@@ -101,8 +101,8 @@ public void implement(Implementor implementor) {
}
@Override
- public RelOptCost computeSelfCost(RelOptPlanner planner) {
- return RelMetadataQuery.getNonCumulativeCost(this);
+ public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery relMetadataQuery) {
+ return relMetadataQuery.getNonCumulativeCost(this);
}
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveTableScan.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveTableScan.java
index 5788805..a19d372 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveTableScan.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveTableScan.java
@@ -122,8 +122,8 @@ public HiveTableScan copy(RelDataType newRowtype) {
}
@Override
- public RelOptCost computeSelfCost(RelOptPlanner planner) {
- return RelMetadataQuery.getNonCumulativeCost(this);
+ public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery relMetadataQuery) {
+ return relMetadataQuery.getNonCumulativeCost(this);
}
@Override public RelWriter explainTerms(RelWriter pw) {
@@ -146,8 +146,9 @@ public void implement(Implementor implementor) {
}
+ //getRows will call estimateRowCount
@Override
- public double getRows() {
+ public double estimateRowCount(RelMetadataQuery mq) {
return ((RelOptHiveTable) table).getRowCount();
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateJoinTransposeRule.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateJoinTransposeRule.java
index 070c7ea..fea7711 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateJoinTransposeRule.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateJoinTransposeRule.java
@@ -121,7 +121,7 @@ public void onMatch(RelOptRuleCall call) {
// Do the columns used by the join appear in the output of the aggregate?
final ImmutableBitSet aggregateColumns = aggregate.getGroupSet();
final ImmutableBitSet keyColumns = keyColumns(aggregateColumns,
- RelMetadataQuery.getPulledUpPredicates(join).pulledUpPredicates);
+ RelMetadataQuery.instance().getPulledUpPredicates(join).pulledUpPredicates);
final ImmutableBitSet joinColumns =
RelOptUtil.InputFinder.bits(join.getCondition());
final boolean allColumnsInAggregate =
@@ -179,7 +179,7 @@ public void onMatch(RelOptRuleCall call) {
unique = true;
} else {
final Boolean unique0 =
- RelMetadataQuery.areColumnsUnique(joinInput, belowAggregateKey);
+ RelMetadataQuery.instance().areColumnsUnique(joinInput, belowAggregateKey);
unique = unique0 != null && unique0;
}
if (unique) {
@@ -299,8 +299,8 @@ public Integer apply(Integer a0) {
}
// Make a cost based decision to pick cheaper plan
- RelOptCost afterCost = RelMetadataQuery.getCumulativeCost(r);
- RelOptCost beforeCost = RelMetadataQuery.getCumulativeCost(aggregate);
+ RelOptCost afterCost = RelMetadataQuery.instance().getCumulativeCost(r);
+ RelOptCost beforeCost = RelMetadataQuery.instance().getCumulativeCost(aggregate);
if (afterCost.isLt(beforeCost)) {
call.transformTo(r);
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveExpandDistinctAggregatesRule.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveExpandDistinctAggregatesRule.java
index 7d7631b..7d4411a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveExpandDistinctAggregatesRule.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveExpandDistinctAggregatesRule.java
@@ -112,7 +112,7 @@ public void onMatch(RelOptRuleCall call) {
// arguments then we can use a more efficient form.
if ((nonDistinctCount == 0) && (argListSets.size() == 1)) {
for (Integer arg : argListSets.iterator().next()) {
- Set colOrigs = RelMetadataQuery.getColumnOrigins(aggregate, arg);
+ Set colOrigs = RelMetadataQuery.instance().getColumnOrigins(aggregate, arg);
if (null != colOrigs) {
for (RelColumnOrigin colOrig : colOrigs) {
RelOptHiveTable hiveTbl = (RelOptHiveTable)colOrig.getOriginTable();
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinPushTransitivePredicatesRule.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinPushTransitivePredicatesRule.java
index 703c8c6..7a28f21 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinPushTransitivePredicatesRule.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinPushTransitivePredicatesRule.java
@@ -78,7 +78,7 @@ public HiveJoinPushTransitivePredicatesRule(Class extends Join> clazz,
registry.registerVisited(this, join);
}
- RelOptPredicateList preds = RelMetadataQuery.getPulledUpPredicates(join);
+ RelOptPredicateList preds = RelMetadataQuery.instance().getPulledUpPredicates(join);
RexBuilder rB = join.getCluster().getRexBuilder();
RelNode lChild = call.rel(1);
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveReduceExpressionsRule.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveReduceExpressionsRule.java
index 50e139b..6958993 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveReduceExpressionsRule.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveReduceExpressionsRule.java
@@ -128,7 +128,7 @@ public FilterReduceExpressionsRule(Class extends Filter> filterClass,
RexNode newConditionExp;
boolean reduced;
final RelOptPredicateList predicates =
- RelMetadataQuery.getPulledUpPredicates(filter.getInput());
+ RelMetadataQuery.instance().getPulledUpPredicates(filter.getInput());
if (reduceExpressions(filter, expList, predicates)) {
assert expList.size() == 1;
newConditionExp = expList.get(0);
@@ -242,7 +242,7 @@ public boolean matches(RelOptRuleCall call) {
registry.registerVisited(this, project);
}
final RelOptPredicateList predicates =
- RelMetadataQuery.getPulledUpPredicates(project.getInput());
+ RelMetadataQuery.instance().getPulledUpPredicates(project.getInput());
final List expList =
Lists.newArrayList(project.getProjects());
if (reduceExpressions(project, expList, predicates)) {
@@ -274,9 +274,9 @@ public JoinReduceExpressionsRule(Class extends HiveJoin> joinClass,
final List expList = Lists.newArrayList(join.getCondition());
final int fieldCount = join.getLeft().getRowType().getFieldCount();
final RelOptPredicateList leftPredicates =
- RelMetadataQuery.getPulledUpPredicates(join.getLeft());
+ RelMetadataQuery.instance().getPulledUpPredicates(join.getLeft());
final RelOptPredicateList rightPredicates =
- RelMetadataQuery.getPulledUpPredicates(join.getRight());
+ RelMetadataQuery.instance().getPulledUpPredicates(join.getRight());
final RelOptPredicateList predicates =
leftPredicates.union(rightPredicates.shift(fieldCount));
if (!reduceExpressions(join, expList, predicates)) {
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortJoinReduceRule.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortJoinReduceRule.java
index 0af60e8..2f2297d 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortJoinReduceRule.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortJoinReduceRule.java
@@ -96,7 +96,7 @@ public boolean matches(RelOptRuleCall call) {
// Finally, if we do not reduce the input size, we bail out
final int offset = sortLimit.offset == null ? 0 : RexLiteral.intValue(sortLimit.offset);
if (offset + RexLiteral.intValue(sortLimit.fetch)
- >= RelMetadataQuery.getRowCount(reducedInput)) {
+ >= RelMetadataQuery.instance().getRowCount(reducedInput)) {
return false;
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortRemoveRule.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortRemoveRule.java
index 618c717..573b75a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortRemoveRule.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortRemoveRule.java
@@ -59,7 +59,7 @@ public boolean matches(RelOptRuleCall call) {
// Finally, if we do not reduce the size input enough, we bail out
int limit = RexLiteral.intValue(sortLimit.fetch);
- Double rowCount = RelMetadataQuery.getRowCount(sortLimit.getInput());
+ Double rowCount = RelMetadataQuery.instance().getRowCount(sortLimit.getInput());
if (rowCount != null && limit <= reductionProportion * rowCount &&
rowCount - limit >= reductionTuples) {
return false;
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortUnionReduceRule.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortUnionReduceRule.java
index 0ec8bf1..04b94c3 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortUnionReduceRule.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSortUnionReduceRule.java
@@ -80,7 +80,7 @@ public void onMatch(RelOptRuleCall call) {
final int offset = sort.offset == null ? 0 : RexLiteral.intValue(sort.offset);
for (RelNode input : union.getInputs()) {
// If we do not reduce the input size, we bail out
- if (RexLiteral.intValue(sort.fetch) + offset < RelMetadataQuery.getRowCount(input)) {
+ if (RexLiteral.intValue(sort.fetch) + offset < RelMetadataQuery.instance().getRowCount(input)) {
finishPushSortPastUnion = false;
// Here we do some query rewrite. We first get the new fetchRN, which is
// a sum of offset and fetch.
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java
index c04060f..b533451 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java
@@ -47,7 +47,7 @@
protected FilterSelectivityEstimator(RelNode childRel) {
super(true);
this.childRel = childRel;
- this.childCardinality = RelMetadataQuery.getRowCount(childRel);
+ this.childCardinality = RelMetadataQuery.instance().getRowCount(childRel);
}
public Double estimateSelectivity(RexNode predicate) {
@@ -254,7 +254,7 @@ private Double getMaxNDV(RexCall call) {
for (RexNode op : call.getOperands()) {
if (op instanceof RexInputRef) {
- tmpNDV = HiveRelMdDistinctRowCount.getDistinctRowCount(this.childRel,
+ tmpNDV = HiveRelMdDistinctRowCount.getDistinctRowCount(this.childRel, RelMetadataQuery.instance(),
((RexInputRef) op).getIndex());
if (tmpNDV > maxNDV)
maxNDV = tmpNDV;
@@ -262,7 +262,7 @@ private Double getMaxNDV(RexCall call) {
irv = new InputReferencedVisitor();
irv.apply(op);
for (Integer childProjIndx : irv.inputPosReferenced) {
- tmpNDV = HiveRelMdDistinctRowCount.getDistinctRowCount(this.childRel, childProjIndx);
+ tmpNDV = HiveRelMdDistinctRowCount.getDistinctRowCount(this.childRel, RelMetadataQuery.instance(),childProjIndx);
if (tmpNDV > maxNDV)
maxNDV = tmpNDV;
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdCollation.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdCollation.java
index 84fa518..66bc148 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdCollation.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdCollation.java
@@ -24,6 +24,7 @@
import org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider;
import org.apache.calcite.rel.metadata.RelMdCollation;
import org.apache.calcite.rel.metadata.RelMetadataProvider;
+import org.apache.calcite.rel.metadata.RelMetadataQuery;
import org.apache.calcite.util.BuiltInMethod;
import org.apache.hadoop.hive.ql.optimizer.calcite.HiveRelCollation;
import org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveAggregate;
@@ -46,7 +47,7 @@ private HiveRelMdCollation() {}
//~ Methods ----------------------------------------------------------------
- public ImmutableList collations(HiveAggregate aggregate) {
+ public ImmutableList collations(HiveAggregate aggregate, RelMetadataQuery relMetadataQuery) {
// Compute collations
ImmutableList.Builder collationListBuilder =
new ImmutableList.Builder();
@@ -60,7 +61,7 @@ private HiveRelMdCollation() {}
new HiveRelCollation(collationListBuilder.build())));
}
- public ImmutableList collations(HiveJoin join) {
+ public ImmutableList collations(HiveJoin join, RelMetadataQuery relMetadataQuery) {
return join.getCollation();
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistinctRowCount.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistinctRowCount.java
index 1220401..03872b1 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistinctRowCount.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistinctRowCount.java
@@ -58,8 +58,8 @@ private HiveRelMdDistinctRowCount() {
// Catch-all rule when none of the others apply.
@Override
- public Double getDistinctRowCount(RelNode rel, ImmutableBitSet groupKey,
- RexNode predicate) {
+ public Double getDistinctRowCount(RelNode rel, RelMetadataQuery relMetadataQuery,
+ ImmutableBitSet groupKey, RexNode predicate) {
if (rel instanceof HiveTableScan) {
return getDistinctRowCount((HiveTableScan) rel, groupKey, predicate);
}
@@ -67,7 +67,7 @@ public Double getDistinctRowCount(RelNode rel, ImmutableBitSet groupKey,
* For now use Calcite' default formulas for propagating NDVs up the Query
* Tree.
*/
- return super.getDistinctRowCount(rel, groupKey, predicate);
+ return super.getDistinctRowCount(rel, relMetadataQuery, groupKey, predicate);
}
private Double getDistinctRowCount(HiveTableScan htRel, ImmutableBitSet groupKey,
@@ -83,39 +83,39 @@ private Double getDistinctRowCount(HiveTableScan htRel, ImmutableBitSet groupKey
return Math.min(noDistinctRows, htRel.getRows());
}
- public static Double getDistinctRowCount(RelNode r, int indx) {
+ public static Double getDistinctRowCount(RelNode r, RelMetadataQuery relMetadataQuery, int indx) {
ImmutableBitSet bitSetOfRqdProj = ImmutableBitSet.of(indx);
- return RelMetadataQuery.getDistinctRowCount(r, bitSetOfRqdProj, r
+ return relMetadataQuery.getDistinctRowCount(r, bitSetOfRqdProj, r
.getCluster().getRexBuilder().makeLiteral(true));
}
@Override
- public Double getDistinctRowCount(Join rel, ImmutableBitSet groupKey,
+ public Double getDistinctRowCount(Join rel, RelMetadataQuery relMetadataQuery, ImmutableBitSet groupKey,
RexNode predicate) {
if (rel instanceof HiveJoin) {
HiveJoin hjRel = (HiveJoin) rel;
//TODO: Improve this
if (hjRel.isLeftSemiJoin()) {
- return RelMetadataQuery.getDistinctRowCount(hjRel.getLeft(), groupKey,
+ return relMetadataQuery.getDistinctRowCount(hjRel.getLeft(), groupKey,
rel.getCluster().getRexBuilder().makeLiteral(true));
} else {
- return RelMdUtil.getJoinDistinctRowCount(rel, rel.getJoinType(),
+ return RelMdUtil.getJoinDistinctRowCount(relMetadataQuery, rel, rel.getJoinType(),
groupKey, predicate, true);
}
}
- return RelMetadataQuery.getDistinctRowCount(rel, groupKey, predicate);
+ return relMetadataQuery.getDistinctRowCount(rel, groupKey, predicate);
}
/*
* Favor Broad Plans over Deep Plans.
*/
- public RelOptCost getCumulativeCost(HiveJoin rel) {
- RelOptCost cost = RelMetadataQuery.getNonCumulativeCost(rel);
+ public RelOptCost getCumulativeCost(HiveJoin rel, RelMetadataQuery relMetadataQuery) {
+ RelOptCost cost = relMetadataQuery.getNonCumulativeCost(rel);
List inputs = rel.getInputs();
RelOptCost maxICost = HiveCost.ZERO;
for (RelNode input : inputs) {
- RelOptCost iCost = RelMetadataQuery.getCumulativeCost(input);
+ RelOptCost iCost = relMetadataQuery.getCumulativeCost(input);
if (maxICost.isLt(iCost)) {
maxICost = iCost;
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistribution.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistribution.java
index b83f240..bd58e5b 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistribution.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistribution.java
@@ -22,6 +22,7 @@
import org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider;
import org.apache.calcite.rel.metadata.RelMdDistribution;
import org.apache.calcite.rel.metadata.RelMetadataProvider;
+import org.apache.calcite.rel.metadata.RelMetadataQuery;
import org.apache.calcite.util.BuiltInMethod;
import org.apache.hadoop.hive.ql.optimizer.calcite.HiveRelDistribution;
import org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveAggregate;
@@ -35,8 +36,7 @@
ChainedRelMetadataProvider.of(
ImmutableList.of(
ReflectiveRelMetadataProvider.reflectiveSource(
- BuiltInMethod.DISTRIBUTION.method, new HiveRelMdDistribution()),
- RelMdDistribution.SOURCE));
+ BuiltInMethod.DISTRIBUTION.method, new HiveRelMdDistribution())));
//~ Constructors -----------------------------------------------------------
@@ -44,12 +44,12 @@ private HiveRelMdDistribution() {}
//~ Methods ----------------------------------------------------------------
- public RelDistribution distribution(HiveAggregate aggregate) {
+ public RelDistribution distribution(HiveAggregate aggregate, RelMetadataQuery relMetadataQuery) {
return new HiveRelDistribution(RelDistribution.Type.HASH_DISTRIBUTED,
aggregate.getGroupSet().asList());
}
- public RelDistribution distribution(HiveJoin join) {
+ public RelDistribution distribution(HiveJoin join, RelMetadataQuery relMetadataQuery) {
return join.getDistribution();
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdMemory.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdMemory.java
index bea5943..8fb6e18 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdMemory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdMemory.java
@@ -52,8 +52,8 @@ public Double memory(HiveTableScan tableScan) {
}
public Double memory(HiveAggregate aggregate) {
- final Double avgRowSize = RelMetadataQuery.getAverageRowSize(aggregate.getInput());
- final Double rowCount = RelMetadataQuery.getRowCount(aggregate.getInput());
+ final Double avgRowSize = RelMetadataQuery.instance().getAverageRowSize(aggregate.getInput());
+ final Double rowCount = RelMetadataQuery.instance().getRowCount(aggregate.getInput());
if (avgRowSize == null || rowCount == null) {
return null;
}
@@ -79,8 +79,8 @@ public Double memory(HiveProject project) {
public Double memory(HiveSortLimit sort) {
if (sort.getCollation() != RelCollations.EMPTY) {
// It sorts
- final Double avgRowSize = RelMetadataQuery.getAverageRowSize(sort.getInput());
- final Double rowCount = RelMetadataQuery.getRowCount(sort.getInput());
+ final Double avgRowSize = RelMetadataQuery.instance().getAverageRowSize(sort.getInput());
+ final Double rowCount = RelMetadataQuery.instance().getRowCount(sort.getInput());
if (avgRowSize == null || rowCount == null) {
return null;
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdParallelism.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdParallelism.java
index 2f51d3b..1e83519 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdParallelism.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdParallelism.java
@@ -81,7 +81,7 @@ public Integer splitCount(HiveTableScan scan) {
}
public Integer splitCount(RelNode rel) {
- Boolean newPhase = RelMetadataQuery.isPhaseTransition(rel);
+ Boolean newPhase = RelMetadataQuery.instance().isPhaseTransition(rel);
if (newPhase == null) {
return null;
@@ -95,15 +95,15 @@ public Integer splitCount(RelNode rel) {
// We do not repartition: take number of splits from children
Integer splitCount = 0;
for (RelNode input : rel.getInputs()) {
- splitCount += RelMetadataQuery.splitCount(input);
+ splitCount += RelMetadataQuery.instance().splitCount(input);
}
return splitCount;
}
public Integer splitCountRepartition(RelNode rel) {
// We repartition: new number of splits
- final Double averageRowSize = RelMetadataQuery.getAverageRowSize(rel);
- final Double rowCount = RelMetadataQuery.getRowCount(rel);
+ final Double averageRowSize = RelMetadataQuery.instance().getAverageRowSize(rel);
+ final Double rowCount = RelMetadataQuery.instance().getRowCount(rel);
if (averageRowSize == null || rowCount == null) {
return null;
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdPredicates.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdPredicates.java
index b7244fd..22fe122 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdPredicates.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdPredicates.java
@@ -98,11 +98,10 @@
*
*
*/
- @Override
- public RelOptPredicateList getPredicates(Project project) {
+ public RelOptPredicateList getPredicates(Project project, RelMetadataQuery relMetadataQuery) {
RelNode child = project.getInput();
final RexBuilder rexBuilder = project.getCluster().getRexBuilder();
- RelOptPredicateList childInfo = RelMetadataQuery.getPulledUpPredicates(child);
+ RelOptPredicateList childInfo = relMetadataQuery.getPulledUpPredicates(child);
List projectPullUpPredicates = new ArrayList();
HashMultimap inpIndxToOutIndxMap = HashMultimap.create();
@@ -150,14 +149,13 @@ public RelOptPredicateList getPredicates(Project project) {
}
/** Infers predicates for a {@link org.apache.calcite.rel.core.Join}. */
- @Override
- public RelOptPredicateList getPredicates(Join join) {
+ public RelOptPredicateList getPredicates(Join join, RelMetadataQuery relMetadataQuery) {
RexBuilder rB = join.getCluster().getRexBuilder();
RelNode left = join.getInput(0);
RelNode right = join.getInput(1);
- RelOptPredicateList leftInfo = RelMetadataQuery.getPulledUpPredicates(left);
- RelOptPredicateList rightInfo = RelMetadataQuery.getPulledUpPredicates(right);
+ RelOptPredicateList leftInfo = relMetadataQuery.getPulledUpPredicates(left);
+ RelOptPredicateList rightInfo = relMetadataQuery.getPulledUpPredicates(right);
HiveJoinConditionBasedPredicateInference jI = new HiveJoinConditionBasedPredicateInference(join,
RexUtil.composeConjunction(rB, leftInfo.pulledUpPredicates, false),
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdRowCount.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdRowCount.java
index caf8978..6dca50d 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdRowCount.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdRowCount.java
@@ -75,7 +75,6 @@ public Double getRowCount(Join join) {
return join.getRows();
}
- @Override
public Double getRowCount(SemiJoin rel) {
PKFKRelationInfo pkfk = analyzeJoinForPKFK(rel);
if (pkfk != null) {
@@ -86,12 +85,11 @@ public Double getRowCount(SemiJoin rel) {
}
return pkfk.fkInfo.rowCount * selectivity;
}
- return super.getRowCount(rel);
+ return super.getRowCount(rel, RelMetadataQuery.instance());
}
- @Override
public Double getRowCount(Sort rel) {
- final Double rowCount = RelMetadataQuery.getRowCount(rel.getInput());
+ final Double rowCount = RelMetadataQuery.instance().getRowCount(rel.getInput());
if (rowCount != null && rel.fetch != null) {
final int offset = rel.offset == null ? 0 : RexLiteral.intValue(rel.offset);
final int limit = RexLiteral.intValue(rel.fetch);
@@ -237,8 +235,8 @@ public static PKFKRelationInfo analyzeJoinForPKFK(Join joinRel) {
return null;
}
- double leftRowCount = RelMetadataQuery.getRowCount(left);
- double rightRowCount = RelMetadataQuery.getRowCount(right);
+ double leftRowCount = RelMetadataQuery.instance().getRowCount(left);
+ double rightRowCount = RelMetadataQuery.instance().getRowCount(right);
if (leftIsKey && rightIsKey) {
if (rightRowCount < leftRowCount) {
@@ -253,8 +251,8 @@ public static PKFKRelationInfo analyzeJoinForPKFK(Join joinRel) {
pkSide == 0 ? left : right,
pkSide == 0 ? leftColIdx : rightColIdx) : false;
- double leftNDV = isPKSideSimpleTree ? RelMetadataQuery.getDistinctRowCount(left, lBitSet, leftPred) : -1;
- double rightNDV = isPKSideSimpleTree ? RelMetadataQuery.getDistinctRowCount(right, rBitSet, rightPred) : -1;
+ double leftNDV = isPKSideSimpleTree ? RelMetadataQuery.instance().getDistinctRowCount(left, lBitSet, leftPred) : -1;
+ double rightNDV = isPKSideSimpleTree ? RelMetadataQuery.instance().getDistinctRowCount(right, rBitSet, rightPred) : -1;
/*
* If the ndv of the PK - FK side don't match, and the PK side is a filter
@@ -318,7 +316,7 @@ private static double pkSelectivity(Join joinRel, boolean leftChild,
} else {
HiveTableScan tScan = HiveRelMdUniqueKeys.getTableScan(child, true);
if (tScan != null) {
- double tRowCount = RelMetadataQuery.getRowCount(tScan);
+ double tRowCount = RelMetadataQuery.instance().getRowCount(tScan);
return childRowCount / tRowCount;
} else {
return 1.0;
@@ -328,7 +326,7 @@ private static double pkSelectivity(Join joinRel, boolean leftChild,
private static boolean isKey(ImmutableBitSet c, RelNode rel) {
boolean isKey = false;
- Set keys = RelMetadataQuery.getUniqueKeys(rel);
+ Set keys = RelMetadataQuery.instance().getUniqueKeys(rel);
if (keys != null) {
for (ImmutableBitSet key : keys) {
if (key.equals(c)) {
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSelectivity.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSelectivity.java
index a0eb83d..3ee23a3 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSelectivity.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSelectivity.java
@@ -63,8 +63,8 @@ public Double getSelectivity(HiveJoin j, RexNode predicate) throws CalciteSemant
return computeInnerJoinSelectivity(j, predicate);
} else if (j.getJoinType().equals(JoinRelType.LEFT) ||
j.getJoinType().equals(JoinRelType.RIGHT)) {
- double left = RelMetadataQuery.getRowCount(j.getLeft());
- double right = RelMetadataQuery.getRowCount(j.getRight());
+ double left = RelMetadataQuery.instance().getRowCount(j.getLeft());
+ double right = RelMetadataQuery.instance().getRowCount(j.getRight());
double product = left * right;
double innerJoinSelectivity = computeInnerJoinSelectivity(j, predicate);
if (j.getJoinType().equals(JoinRelType.LEFT)) {
@@ -97,14 +97,14 @@ private Double computeInnerJoinSelectivity(HiveJoin j, RexNode predicate) throws
// Join which are part of join keys
for (Integer ljk : jpi.getProjsFromLeftPartOfJoinKeysInChildSchema()) {
colStatMapBuilder.put(ljk,
- HiveRelMdDistinctRowCount.getDistinctRowCount(j.getLeft(), ljk));
+ HiveRelMdDistinctRowCount.getDistinctRowCount(j.getLeft(), RelMetadataQuery.instance(), ljk));
}
// 2. Update Col Stats Map with col stats for columns from right side of
// Join which are part of join keys
for (Integer rjk : jpi.getProjsFromRightPartOfJoinKeysInChildSchema()) {
colStatMapBuilder.put(rjk + rightOffSet,
- HiveRelMdDistinctRowCount.getDistinctRowCount(j.getRight(), rjk));
+ HiveRelMdDistinctRowCount.getDistinctRowCount(j.getRight(), RelMetadataQuery.instance(), rjk));
}
colStatMap = colStatMapBuilder.build();
@@ -116,11 +116,11 @@ private Double computeInnerJoinSelectivity(HiveJoin j, RexNode predicate) throws
ndvCrossProduct = exponentialBackoff(peLst, colStatMap);
if (j.isLeftSemiJoin())
- ndvCrossProduct = Math.min(RelMetadataQuery.getRowCount(j.getLeft()),
+ ndvCrossProduct = Math.min(RelMetadataQuery.instance().getRowCount(j.getLeft()),
ndvCrossProduct);
else
- ndvCrossProduct = Math.min(RelMetadataQuery.getRowCount(j.getLeft())
- * RelMetadataQuery.getRowCount(j.getRight()), ndvCrossProduct);
+ ndvCrossProduct = Math.min(RelMetadataQuery.instance().getRowCount(j.getLeft())
+ * RelMetadataQuery.instance().getRowCount(j.getRight()), ndvCrossProduct);
}
// 4. Join Selectivity = 1/NDV
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java
index 3224039..9b4c89e 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java
@@ -81,10 +81,10 @@ private HiveRelMdSize() {}
final RelNode left = rel.getLeft();
final RelNode right = rel.getRight();
final List lefts =
- RelMetadataQuery.getAverageColumnSizes(left);
+ RelMetadataQuery.instance().getAverageColumnSizes(left);
List rights = null;
if (!rel.isLeftSemiJoin()) {
- rights = RelMetadataQuery.getAverageColumnSizes(right);
+ rights = RelMetadataQuery.instance().getAverageColumnSizes(right);
}
if (lefts == null && rights == null) {
return null;
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdUniqueKeys.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdUniqueKeys.java
index 7c22c33..058e886 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdUniqueKeys.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdUniqueKeys.java
@@ -34,6 +34,7 @@
import org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider;
import org.apache.calcite.rel.metadata.RelMdUniqueKeys;
import org.apache.calcite.rel.metadata.RelMetadataProvider;
+import org.apache.calcite.rel.metadata.RelMetadataQuery;
import org.apache.calcite.rex.RexInputRef;
import org.apache.calcite.rex.RexNode;
import org.apache.calcite.util.BitSets;
@@ -59,12 +60,12 @@
* Inferring Uniqueness for all columns is very expensive right now. The flip
* side of doing this is, it only works post Field Trimming.
*/
- public Set getUniqueKeys(Project rel, boolean ignoreNulls) {
+ public Set getUniqueKeys(Project rel, RelMetadataQuery relMetadataQuery, boolean ignoreNulls) {
HiveTableScan tScan = getTableScan(rel.getInput(), false);
if ( tScan == null ) {
- Function fn = RelMdUniqueKeys.SOURCE.apply(
+ Function fn = (Function) RelMdUniqueKeys.SOURCE.apply(
rel.getClass(), BuiltInMetadata.UniqueKeys.class);
return ((BuiltInMetadata.UniqueKeys) fn.apply(rel))
.getUniqueKeys(ignoreNulls);
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveOpConverter.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveOpConverter.java
index 00f1acb..0dcd2ee 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveOpConverter.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveOpConverter.java
@@ -431,8 +431,8 @@ OpAttr visit(HiveSortLimit sortRel) throws SemanticException {
// 1.a. Extract order for each column from collation
// Generate sortCols and order
- ImmutableBitSet.Builder sortColsPosBuilder = new ImmutableBitSet.Builder();
- ImmutableBitSet.Builder sortOutputColsPosBuilder = new ImmutableBitSet.Builder();
+ ImmutableBitSet.Builder sortColsPosBuilder = ImmutableBitSet.builder();
+ ImmutableBitSet.Builder sortOutputColsPosBuilder = ImmutableBitSet.builder();
Map obRefToCallMap = sortRel.getInputRefToCallMap();
List sortCols = new ArrayList();
StringBuilder order = new StringBuilder();
diff --git a/ql/src/test/results/clientpositive/auto_join12.q.out b/ql/src/test/results/clientpositive/auto_join12.q.out
index 8ef3664..9cd9e4f 100644
--- a/ql/src/test/results/clientpositive/auto_join12.q.out
+++ b/ql/src/test/results/clientpositive/auto_join12.q.out
@@ -29,14 +29,14 @@ STAGE PLANS:
Stage: Stage-6
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_0:$hdt$_1:src
+ $hdt$_0:$hdt$_0:src
Fetch Operator
limit: -1
- $hdt$_0:$hdt$_2:src
+ $hdt$_0:$hdt$_1:src
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_0:$hdt$_1:src
+ $hdt$_0:$hdt$_0:src
TableScan
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -52,7 +52,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
2 _col0 (type: string)
- $hdt$_0:$hdt$_2:src
+ $hdt$_0:$hdt$_1:src
TableScan
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
diff --git a/ql/src/test/results/clientpositive/auto_join13.q.out b/ql/src/test/results/clientpositive/auto_join13.q.out
index fa03d2c..c7b5a10 100644
--- a/ql/src/test/results/clientpositive/auto_join13.q.out
+++ b/ql/src/test/results/clientpositive/auto_join13.q.out
@@ -32,7 +32,7 @@ STAGE PLANS:
$hdt$_0:$hdt$_0:src
Fetch Operator
limit: -1
- $hdt$_0:$hdt$_1:src
+ $hdt$_0:$hdt$_2:src
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
@@ -41,7 +41,7 @@ STAGE PLANS:
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (UDFToDouble(key) < 200.0) (type: boolean)
+ predicate: (UDFToDouble(key) < 100.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string)
@@ -49,23 +49,23 @@ STAGE PLANS:
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 (UDFToDouble(_col2) + UDFToDouble(_col0)) (type: double)
- 1 UDFToDouble(_col0) (type: double)
- $hdt$_0:$hdt$_1:src
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ $hdt$_0:$hdt$_2:src
TableScan
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (UDFToDouble(key) < 100.0) (type: boolean)
+ predicate: (UDFToDouble(key) < 200.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col0 (type: string)
- 1 _col0 (type: string)
+ 0 (UDFToDouble(_col0) + UDFToDouble(_col1)) (type: double)
+ 1 UDFToDouble(_col0) (type: double)
Stage: Stage-3
Map Reduce
@@ -77,8 +77,8 @@ STAGE PLANS:
predicate: (UDFToDouble(key) < 100.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
@@ -92,12 +92,12 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 (UDFToDouble(_col2) + UDFToDouble(_col0)) (type: double)
+ 0 (UDFToDouble(_col0) + UDFToDouble(_col1)) (type: double)
1 UDFToDouble(_col0) (type: double)
- outputColumnNames: _col1, _col2
+ outputColumnNames: _col0, _col2
Statistics: Num rows: 200 Data size: 2132 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: hash(_col2,_col1) (type: int)
+ expressions: hash(_col0,_col2) (type: int)
outputColumnNames: _col0
Statistics: Num rows: 200 Data size: 2132 Basic stats: COMPLETE Column stats: NONE
Group By Operator
diff --git a/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out b/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out
index d40b165..585163e 100644
--- a/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out
+++ b/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out
@@ -294,16 +294,16 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: value is not null (type: boolean)
+ predicate: (key is not null and value is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: value (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col1 (type: string)
- 1 _col0 (type: string)
+ 0 _col0 (type: string)
+ 1 _col1 (type: string)
Stage: Stage-9
Map Reduce
@@ -312,19 +312,19 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (key is not null and value is not null) (type: boolean)
+ predicate: value is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: value (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col1 (type: string)
- 1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ 0 _col0 (type: string)
+ 1 _col1 (type: string)
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
@@ -358,7 +358,7 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col0 (type: string)
+ 0 _col1 (type: string)
1 _col0 (type: string)
Stage: Stage-6
@@ -369,16 +369,20 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
+ 0 _col1 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+ Select Operator
+ expressions: _col1 (type: string), _col2 (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Local Work:
Map Reduce Local Work
@@ -424,16 +428,20 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
+ 0 _col1 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+ Select Operator
+ expressions: _col1 (type: string), _col2 (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Local Work:
Map Reduce Local Work
Alias -> Map Local Tables:
@@ -449,11 +457,11 @@ STAGE PLANS:
Map Operator Tree:
TableScan
Reduce Output Operator
- key expressions: _col0 (type: string)
+ key expressions: _col1 (type: string)
sort order: +
- Map-reduce partition columns: _col0 (type: string)
+ Map-reduce partition columns: _col1 (type: string)
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
+ value expressions: _col2 (type: string)
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -474,16 +482,20 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
+ 0 _col1 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+ Select Operator
+ expressions: _col1 (type: string), _col2 (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Stage: Stage-15
Map Reduce Local Work
@@ -497,16 +509,16 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (key is not null and value is not null) (type: boolean)
+ predicate: value is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: value (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col1 (type: string)
- 1 _col0 (type: string)
+ 0 _col0 (type: string)
+ 1 _col1 (type: string)
Stage: Stage-10
Map Reduce
@@ -515,19 +527,19 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: value is not null (type: boolean)
+ predicate: (key is not null and value is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: value (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col1 (type: string)
- 1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ 0 _col0 (type: string)
+ 1 _col1 (type: string)
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
@@ -545,41 +557,41 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (key is not null and value is not null) (type: boolean)
+ predicate: value is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: value (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: _col1 (type: string)
+ key expressions: _col0 (type: string)
sort order: +
- Map-reduce partition columns: _col1 (type: string)
+ Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: string)
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: value is not null (type: boolean)
+ predicate: (key is not null and value is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: value (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: _col0 (type: string)
+ key expressions: _col1 (type: string)
sort order: +
- Map-reduce partition columns: _col0 (type: string)
+ Map-reduce partition columns: _col1 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col1 (type: string)
- 1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ 0 _col0 (type: string)
+ 1 _col1 (type: string)
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
@@ -677,20 +689,20 @@ STAGE PLANS:
Stage: Stage-14
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_2:a
+ $hdt$_1:a
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_2:a
+ $hdt$_1:a
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (UDFToDouble(key) > 100.0) (type: boolean)
+ predicate: ((UDFToDouble(key) > 100.0) and value is not null) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
@@ -704,11 +716,11 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(key) > 100.0) and value is not null) (type: boolean)
+ predicate: (UDFToDouble(key) > 100.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
@@ -716,7 +728,7 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
@@ -733,11 +745,11 @@ STAGE PLANS:
Stage: Stage-12
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_0:a
+ $hdt$_2:a
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_0:a
+ $hdt$_2:a
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -750,7 +762,7 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col1 (type: string)
+ 0 _col2 (type: string)
1 _col0 (type: string)
Stage: Stage-6
@@ -761,16 +773,20 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col1 (type: string)
+ 0 _col2 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+ Select Operator
+ expressions: _col1 (type: string), _col2 (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Local Work:
Map Reduce Local Work
@@ -816,16 +832,20 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col1 (type: string)
+ 0 _col2 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+ Select Operator
+ expressions: _col1 (type: string), _col2 (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Local Work:
Map Reduce Local Work
Alias -> Map Local Tables:
@@ -841,11 +861,11 @@ STAGE PLANS:
Map Operator Tree:
TableScan
Reduce Output Operator
- key expressions: _col1 (type: string)
+ key expressions: _col2 (type: string)
sort order: +
- Map-reduce partition columns: _col1 (type: string)
+ Map-reduce partition columns: _col2 (type: string)
Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: string)
+ value expressions: _col1 (type: string)
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -866,34 +886,38 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col1 (type: string)
+ 0 _col2 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+ Select Operator
+ expressions: _col1 (type: string), _col2 (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Stage: Stage-15
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_1:a
+ $hdt$_0:a
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_1:a
+ $hdt$_0:a
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(key) > 100.0) and value is not null) (type: boolean)
+ predicate: (UDFToDouble(key) > 100.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
@@ -907,11 +931,11 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (UDFToDouble(key) > 100.0) (type: boolean)
+ predicate: ((UDFToDouble(key) > 100.0) and value is not null) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
@@ -919,7 +943,7 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
@@ -937,33 +961,33 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(key) > 100.0) and value is not null) (type: boolean)
+ predicate: (UDFToDouble(key) > 100.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (UDFToDouble(key) > 100.0) (type: boolean)
+ predicate: ((UDFToDouble(key) > 100.0) and value is not null) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
@@ -971,7 +995,7 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
diff --git a/ql/src/test/results/clientpositive/cbo_const.q.out b/ql/src/test/results/clientpositive/cbo_const.q.out
index adc5232..f42d820 100644
--- a/ql/src/test/results/clientpositive/cbo_const.q.out
+++ b/ql/src/test/results/clientpositive/cbo_const.q.out
@@ -233,22 +233,6 @@ STAGE PLANS:
Map Reduce
Map Operator Tree:
TableScan
- alias: y
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: (UDFToDouble(key) = 3.0) (type: boolean)
- Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: value (type: string)
- outputColumnNames: _col1
- Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: '3.0' (type: string)
- sort order: +
- Map-reduce partition columns: '3.0' (type: string)
- Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
- TableScan
alias: x
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Filter Operator
@@ -259,20 +243,34 @@ STAGE PLANS:
outputColumnNames: _col1
Statistics: Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: '3.0' (type: string)
+ key expressions: _col1 (type: string)
sort order: +
- Map-reduce partition columns: '3.0' (type: string)
+ Map-reduce partition columns: _col1 (type: string)
Statistics: Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
+ TableScan
+ alias: z
+ Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
+ Filter Operator
+ predicate: (((UDFToDouble(hr) = 14.0) and (ds = '2008-04-08')) and value is not null) (type: boolean)
+ Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
+ Select Operator
+ expressions: value (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: string)
+ Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
Reduce Operator Tree:
Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
+ 0 _col1 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col3
- Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col2
+ Statistics: Num rows: 13 Data size: 100 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
table:
@@ -285,42 +283,43 @@ STAGE PLANS:
Map Operator Tree:
TableScan
Reduce Output Operator
- key expressions: _col3 (type: string)
+ key expressions: '3.0' (type: string)
sort order: +
- Map-reduce partition columns: _col3 (type: string)
- Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
+ Map-reduce partition columns: '3.0' (type: string)
+ Statistics: Num rows: 13 Data size: 100 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col2 (type: string)
TableScan
- alias: z
- Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
+ alias: y
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((UDFToDouble(hr) = 14.0) and (ds = '2008-04-08')) and value is not null) (type: boolean)
- Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
+ predicate: (UDFToDouble(key) = 3.0) (type: boolean)
+ Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: value (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
+ outputColumnNames: _col1
+ Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: _col0 (type: string)
+ key expressions: '3.0' (type: string)
sort order: +
- Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
+ Map-reduce partition columns: '3.0' (type: string)
+ Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col4
- Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col2, _col6
+ Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: '3.0' (type: string), _col4 (type: string), _col1 (type: string)
+ expressions: '3.0' (type: string), _col2 (type: string), _col6 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer10.q.out b/ql/src/test/results/clientpositive/correlationoptimizer10.q.out
index 6bac698..164efcd 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer10.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer10.q.out
@@ -781,19 +781,23 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0
+ outputColumnNames: _col1
Statistics: Num rows: 60 Data size: 642 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- keys: _col0 (type: string)
- mode: hash
+ Select Operator
+ expressions: _col1 (type: string)
outputColumnNames: _col0
Statistics: Num rows: 60 Data size: 642 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+ Group By Operator
+ keys: _col0 (type: string)
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 60 Data size: 642 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Stage: Stage-1
Map Reduce
@@ -989,25 +993,29 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0
+ outputColumnNames: _col1
Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
- Mux Operator
- Statistics: Num rows: 165 Data size: 1752 Basic stats: COMPLETE Column stats: NONE
- Join Operator
- condition map:
- Left Semi Join 0 to 1
- keys:
- 0 _col0 (type: string)
- 1 _col0 (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
- File Output Operator
- compressed: false
+ Select Operator
+ expressions: _col1 (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+ Mux Operator
+ Statistics: Num rows: 165 Data size: 1752 Basic stats: COMPLETE Column stats: NONE
+ Join Operator
+ condition map:
+ Left Semi Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Stage: Stage-0
Fetch Operator
diff --git a/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out b/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
index 5e0edbc..0170ac0 100644
--- a/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
+++ b/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
@@ -9,12 +9,12 @@ FROM src f JOIN src m JOIN src g ON(g.value = m.value AND m.value is not null AN
WHERE (f.key = m.key AND f.value='2008-04-08' AND m.value='2008-04-08') OR (f.key = m.key AND f.value='2008-04-09')
POSTHOOK: type: QUERY
STAGE DEPENDENCIES:
- Stage-2 is a root stage
- Stage-1 depends on stages: Stage-2
- Stage-0 depends on stages: Stage-1
+ Stage-1 is a root stage
+ Stage-2 depends on stages: Stage-1
+ Stage-0 depends on stages: Stage-2
STAGE PLANS:
- Stage: Stage-2
+ Stage: Stage-1
Map Reduce
Map Operator Tree:
TableScan
@@ -72,10 +72,17 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
- Stage: Stage-1
+ Stage: Stage-2
Map Reduce
Map Operator Tree:
TableScan
+ Reduce Output Operator
+ key expressions: _col3 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col3 (type: string)
+ Statistics: Num rows: 412 Data size: 4376 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: string)
+ TableScan
alias: f
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
@@ -90,24 +97,17 @@ STAGE PLANS:
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- TableScan
- Reduce Output Operator
- key expressions: _col3 (type: string)
- sort order: +
- Map-reduce partition columns: _col3 (type: string)
- Statistics: Num rows: 412 Data size: 4376 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col3 (type: string)
- outputColumnNames: _col0, _col1
+ 0 _col3 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col4
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: string), _col0 (type: string)
+ expressions: _col0 (type: string), _col4 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -135,12 +135,12 @@ FROM src f JOIN src m JOIN src g ON(g.value = m.value AND m.value is not null AN
WHERE (f.key = m.key AND f.value IN ('2008-04-08','2008-04-10') AND m.value='2008-04-08') OR (f.key = m.key AND f.value='2008-04-09')
POSTHOOK: type: QUERY
STAGE DEPENDENCIES:
- Stage-2 is a root stage
- Stage-1 depends on stages: Stage-2
- Stage-0 depends on stages: Stage-1
+ Stage-1 is a root stage
+ Stage-2 depends on stages: Stage-1
+ Stage-0 depends on stages: Stage-2
STAGE PLANS:
- Stage: Stage-2
+ Stage: Stage-1
Map Reduce
Map Operator Tree:
TableScan
@@ -198,10 +198,17 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
- Stage: Stage-1
+ Stage: Stage-2
Map Reduce
Map Operator Tree:
TableScan
+ Reduce Output Operator
+ key expressions: _col3 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col3 (type: string)
+ Statistics: Num rows: 412 Data size: 4376 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: string)
+ TableScan
alias: f
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
@@ -216,24 +223,17 @@ STAGE PLANS:
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- TableScan
- Reduce Output Operator
- key expressions: _col3 (type: string)
- sort order: +
- Map-reduce partition columns: _col3 (type: string)
- Statistics: Num rows: 412 Data size: 4376 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col3 (type: string)
- outputColumnNames: _col0, _col1
+ 0 _col3 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col4
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: string), _col0 (type: string)
+ expressions: _col0 (type: string), _col4 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git a/ql/src/test/results/clientpositive/infer_bucket_sort.q.out b/ql/src/test/results/clientpositive/infer_bucket_sort.q.out
index 1e584e0..41f7ce0 100644
--- a/ql/src/test/results/clientpositive/infer_bucket_sort.q.out
+++ b/ql/src/test/results/clientpositive/infer_bucket_sort.q.out
@@ -379,8 +379,8 @@ InputFormat: org.apache.hadoop.mapred.TextInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
Compressed: No
Num Buckets: 1
-Bucket Columns: [key]
-Sort Columns: [Order(col:key, order:1)]
+Bucket Columns: [value]
+Sort Columns: [Order(col:value, order:1)]
Storage Desc Params:
serialization.format 1
PREHOOK: query: -- Test distribute by, should only be bucketed by key
diff --git a/ql/src/test/results/clientpositive/infer_bucket_sort_reducers_power_two.q.out b/ql/src/test/results/clientpositive/infer_bucket_sort_reducers_power_two.q.out
index 558a688..b39812d 100644
--- a/ql/src/test/results/clientpositive/infer_bucket_sort_reducers_power_two.q.out
+++ b/ql/src/test/results/clientpositive/infer_bucket_sort_reducers_power_two.q.out
@@ -275,8 +275,8 @@ InputFormat: org.apache.hadoop.mapred.TextInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
Compressed: No
Num Buckets: 16
-Bucket Columns: [key]
-Sort Columns: [Order(col:key, order:1)]
+Bucket Columns: [value]
+Sort Columns: [Order(col:value, order:1)]
Storage Desc Params:
serialization.format 1
PREHOOK: query: -- Test group by in subquery with another group by outside, should be bucketed and sorted by the
diff --git a/ql/src/test/results/clientpositive/join13.q.out b/ql/src/test/results/clientpositive/join13.q.out
index 3ccff63..2d2e515 100644
--- a/ql/src/test/results/clientpositive/join13.q.out
+++ b/ql/src/test/results/clientpositive/join13.q.out
@@ -40,15 +40,14 @@ STAGE PLANS:
predicate: (UDFToDouble(key) < 100.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
TableScan
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -56,14 +55,15 @@ STAGE PLANS:
predicate: (UDFToDouble(key) < 100.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
@@ -85,11 +85,11 @@ STAGE PLANS:
Map Operator Tree:
TableScan
Reduce Output Operator
- key expressions: (UDFToDouble(_col2) + UDFToDouble(_col0)) (type: double)
+ key expressions: (UDFToDouble(_col0) + UDFToDouble(_col1)) (type: double)
sort order: +
- Map-reduce partition columns: (UDFToDouble(_col2) + UDFToDouble(_col0)) (type: double)
+ Map-reduce partition columns: (UDFToDouble(_col0) + UDFToDouble(_col1)) (type: double)
Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string), _col2 (type: string)
+ value expressions: _col0 (type: string), _col2 (type: string)
TableScan
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -110,12 +110,12 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 (UDFToDouble(_col2) + UDFToDouble(_col0)) (type: double)
+ 0 (UDFToDouble(_col0) + UDFToDouble(_col1)) (type: double)
1 UDFToDouble(_col0) (type: double)
- outputColumnNames: _col1, _col2
+ outputColumnNames: _col0, _col2
Statistics: Num rows: 200 Data size: 2132 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col2 (type: string), _col1 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 200 Data size: 2132 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git a/ql/src/test/results/clientpositive/join28.q.out b/ql/src/test/results/clientpositive/join28.q.out
index 9aadd28..f266a97 100644
--- a/ql/src/test/results/clientpositive/join28.q.out
+++ b/ql/src/test/results/clientpositive/join28.q.out
@@ -31,54 +31,54 @@ FROM
JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11)
POSTHOOK: type: QUERY
STAGE DEPENDENCIES:
- Stage-7 is a root stage
- Stage-5 depends on stages: Stage-7
- Stage-0 depends on stages: Stage-5
- Stage-2 depends on stages: Stage-0
+ Stage-8 is a root stage
+ Stage-6 depends on stages: Stage-8
+ Stage-0 depends on stages: Stage-6
+ Stage-3 depends on stages: Stage-0
STAGE PLANS:
- Stage: Stage-7
+ Stage: Stage-8
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_0:z
+ $hdt$_0:$hdt$_1:x
Fetch Operator
limit: -1
- $hdt$_1:$hdt$_2:x
+ $hdt$_1:z
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_0:z
+ $hdt$_0:$hdt$_1:x
TableScan
- alias: z
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ alias: x
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- $hdt$_1:$hdt$_2:x
+ $hdt$_1:z
TableScan
- alias: x
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ alias: z
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- Stage: Stage-5
+ Stage: Stage-6
Map Reduce
Map Operator Tree:
TableScan
@@ -109,10 +109,10 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col4
+ outputColumnNames: _col0, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col4 (type: string), _col1 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -136,7 +136,7 @@ STAGE PLANS:
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
name: default.dest_j1
- Stage: Stage-2
+ Stage: Stage-3
Stats-Aggr Operator
PREHOOK: query: INSERT OVERWRITE TABLE dest_j1
diff --git a/ql/src/test/results/clientpositive/join32.q.out b/ql/src/test/results/clientpositive/join32.q.out
index 13f10f7..539ab8d 100644
--- a/ql/src/test/results/clientpositive/join32.q.out
+++ b/ql/src/test/results/clientpositive/join32.q.out
@@ -112,7 +112,7 @@ STAGE PLANS:
$hdt$_0:y
Fetch Operator
limit: -1
- $hdt$_2:x
+ $hdt$_1:x
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
@@ -131,10 +131,10 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- $hdt$_2:x
+ $hdt$_1:x
TableScan
alias: x
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
@@ -149,9 +149,9 @@ STAGE PLANS:
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- Position of Big Table: 0
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
Stage: Stage-6
Map Reduce
@@ -172,22 +172,22 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3
- Position of Big Table: 0
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col2
+ Position of Big Table: 1
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col3, _col6
+ outputColumnNames: _col0, _col2, _col6
Position of Big Table: 0
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col6 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col6 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -356,7 +356,7 @@ STAGE PLANS:
name: default.srcpart
name: default.srcpart
Truncated Path -> Alias:
- /srcpart/ds=2008-04-08/hr=11 [$hdt$_1:z]
+ /srcpart/ds=2008-04-08/hr=11 [$hdt$_2:z]
Stage: Stage-0
Move Operator
diff --git a/ql/src/test/results/clientpositive/join32_lessSize.q.out b/ql/src/test/results/clientpositive/join32_lessSize.q.out
index 355ad13..e55cee1 100644
--- a/ql/src/test/results/clientpositive/join32_lessSize.q.out
+++ b/ql/src/test/results/clientpositive/join32_lessSize.q.out
@@ -119,11 +119,11 @@ STAGE PLANS:
Stage: Stage-9
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_2:x
+ $hdt$_1:x
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_2:x
+ $hdt$_1:x
TableScan
alias: x
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
@@ -138,9 +138,9 @@ STAGE PLANS:
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- Position of Big Table: 0
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
Stage: Stage-7
Map Reduce
@@ -161,10 +161,10 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3
- Position of Big Table: 0
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col2
+ Position of Big Table: 1
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
@@ -175,7 +175,7 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
properties:
- columns _col0,_col3
+ columns _col0,_col2
columns.types string,string
escape.delim \
serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -279,7 +279,7 @@ STAGE PLANS:
name: default.srcpart
name: default.srcpart
Truncated Path -> Alias:
- /srcpart/ds=2008-04-08/hr=11 [$hdt$_1:z]
+ /srcpart/ds=2008-04-08/hr=11 [$hdt$_2:z]
Stage: Stage-8
Map Reduce Local Work
@@ -303,7 +303,7 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
@@ -316,13 +316,13 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col3, _col6
+ outputColumnNames: _col0, _col2, _col6
Position of Big Table: 0
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col6 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col6 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -362,7 +362,7 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
properties:
- columns _col0,_col3
+ columns _col0,_col2
columns.types string,string
escape.delim \
serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -371,7 +371,7 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
properties:
- columns _col0,_col3
+ columns _col0,_col2
columns.types string,string
escape.delim \
serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -666,18 +666,18 @@ STAGE PLANS:
Stage: Stage-13
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_2:x
+ $hdt$_1:x
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_2:x
+ $hdt$_1:x
TableScan
alias: x
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: (value is not null and key is not null) (type: boolean)
+ predicate: key is not null (type: boolean)
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), value (type: string)
@@ -698,7 +698,7 @@ STAGE PLANS:
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: key is not null (type: boolean)
+ predicate: (value is not null and key is not null) (type: boolean)
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), value (type: string)
@@ -710,7 +710,7 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1, _col3
+ outputColumnNames: _col1, _col2, _col3
Position of Big Table: 1
Statistics: Num rows: 27 Data size: 210 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -722,7 +722,7 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
properties:
- columns _col0,_col1,_col3
+ columns _col1,_col2,_col3
columns.types string,string,string
escape.delim \
serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -780,16 +780,16 @@ STAGE PLANS:
name: default.src1
name: default.src1
Truncated Path -> Alias:
- /src1 [$hdt$_3:x]
+ /src1 [$hdt$_2:x]
Stage: Stage-12
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_1:w
+ $hdt$_0:w
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_1:w
+ $hdt$_0:w
TableScan
alias: w
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -804,7 +804,7 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col1 (type: string)
+ 0 _col3 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
@@ -817,9 +817,9 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col1 (type: string)
+ 0 _col3 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col3
+ outputColumnNames: _col1, _col2
Position of Big Table: 0
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -831,7 +831,7 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
properties:
- columns _col0,_col3
+ columns _col1,_col2
columns.types string,string
escape.delim \
serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -850,7 +850,7 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
properties:
- columns _col0,_col1,_col3
+ columns _col1,_col2,_col3
columns.types string,string,string
escape.delim \
serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -859,7 +859,7 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
properties:
- columns _col0,_col1,_col3
+ columns _col1,_col2,_col3
columns.types string,string,string
escape.delim \
serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -914,11 +914,11 @@ STAGE PLANS:
Stage: Stage-11
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_0:w
+ $hdt$_3:w
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_0:w
+ $hdt$_3:w
TableScan
alias: w
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -933,7 +933,7 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col0 (type: string)
+ 0 _col2 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
@@ -946,13 +946,13 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
+ 0 _col2 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col3, _col6
+ outputColumnNames: _col1, _col2, _col6
Position of Big Table: 0
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: string), _col3 (type: string), _col6 (type: string)
+ expressions: _col2 (type: string), _col1 (type: string), _col6 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -997,7 +997,7 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
properties:
- columns _col0,_col3
+ columns _col1,_col2
columns.types string,string
escape.delim \
serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -1006,7 +1006,7 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
properties:
- columns _col0,_col3
+ columns _col1,_col2
columns.types string,string
escape.delim \
serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -1308,22 +1308,22 @@ TOK_QUERY
STAGE DEPENDENCIES:
- Stage-8 is a root stage
+ Stage-9 is a root stage
+ Stage-7 depends on stages: Stage-9
+ Stage-8 depends on stages: Stage-7
Stage-6 depends on stages: Stage-8
- Stage-7 depends on stages: Stage-6
- Stage-5 depends on stages: Stage-7
- Stage-0 depends on stages: Stage-5
- Stage-2 depends on stages: Stage-0
+ Stage-0 depends on stages: Stage-6
+ Stage-3 depends on stages: Stage-0
STAGE PLANS:
- Stage: Stage-8
+ Stage: Stage-9
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_1:$hdt$_2:x
+ $hdt$_0:$hdt$_1:x
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_1:$hdt$_2:x
+ $hdt$_0:$hdt$_1:x
TableScan
alias: x
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
@@ -1342,7 +1342,7 @@ STAGE PLANS:
1 _col0 (type: string)
Position of Big Table: 0
- Stage: Stage-6
+ Stage: Stage-7
Map Reduce
Map Operator Tree:
TableScan
@@ -1481,12 +1481,12 @@ STAGE PLANS:
name: default.src1
name: default.src1
Truncated Path -> Alias:
- /src [$hdt$_1:$hdt$_1:y]
+ /src [$hdt$_0:$hdt$_0:y]
- Stage: Stage-7
+ Stage: Stage-8
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_0:z
+ $hdt$_1:z
Fetch Operator
limit: -1
Partition Description:
@@ -1536,7 +1536,7 @@ STAGE PLANS:
name: default.srcpart
name: default.srcpart
Alias -> Map Local Operator Tree:
- $hdt$_0:z
+ $hdt$_1:z
TableScan
alias: z
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1551,11 +1551,11 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- Position of Big Table: 1
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
- Stage: Stage-5
+ Stage: Stage-6
Map Reduce
Map Operator Tree:
TableScan
@@ -1564,13 +1564,13 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3, _col4
- Position of Big Table: 1
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ Position of Big Table: 0
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col4 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -1695,7 +1695,7 @@ STAGE PLANS:
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
name: default.dest_j2
- Stage: Stage-2
+ Stage: Stage-3
Stats-Aggr Operator
#### A masked pattern was here ####
@@ -1920,22 +1920,22 @@ TOK_QUERY
STAGE DEPENDENCIES:
- Stage-8 is a root stage
+ Stage-9 is a root stage
+ Stage-7 depends on stages: Stage-9
+ Stage-8 depends on stages: Stage-7
Stage-6 depends on stages: Stage-8
- Stage-7 depends on stages: Stage-6
- Stage-5 depends on stages: Stage-7
- Stage-0 depends on stages: Stage-5
- Stage-2 depends on stages: Stage-0
+ Stage-0 depends on stages: Stage-6
+ Stage-3 depends on stages: Stage-0
STAGE PLANS:
- Stage: Stage-8
+ Stage: Stage-9
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_1:$hdt$_1:y
+ $hdt$_0:$hdt$_0:y
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_1:$hdt$_1:y
+ $hdt$_0:$hdt$_0:y
TableScan
alias: y
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1950,7 +1950,7 @@ STAGE PLANS:
1 _col0 (type: string)
Position of Big Table: 1
- Stage: Stage-6
+ Stage: Stage-7
Map Reduce
Map Operator Tree:
TableScan
@@ -2089,12 +2089,12 @@ STAGE PLANS:
name: default.src1
name: default.src1
Truncated Path -> Alias:
- /src1 [$hdt$_1:$hdt$_2:x]
+ /src1 [$hdt$_0:$hdt$_1:x]
- Stage: Stage-7
+ Stage: Stage-8
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_0:z
+ $hdt$_1:z
Fetch Operator
limit: -1
Partition Description:
@@ -2144,7 +2144,7 @@ STAGE PLANS:
name: default.srcpart
name: default.srcpart
Alias -> Map Local Operator Tree:
- $hdt$_0:z
+ $hdt$_1:z
TableScan
alias: z
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -2159,11 +2159,11 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- Position of Big Table: 1
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
- Stage: Stage-5
+ Stage: Stage-6
Map Reduce
Map Operator Tree:
TableScan
@@ -2172,13 +2172,13 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3, _col4
- Position of Big Table: 1
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ Position of Big Table: 0
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col4 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -2313,7 +2313,7 @@ STAGE PLANS:
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
name: default.dest_j2
- Stage: Stage-2
+ Stage: Stage-3
Stats-Aggr Operator
#### A masked pattern was here ####
@@ -2458,22 +2458,22 @@ FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res
JOIN srcpart x ON (res.value = x.value and x.ds='2008-04-08' and x.hr=11)
POSTHOOK: type: QUERY
STAGE DEPENDENCIES:
- Stage-8 is a root stage
+ Stage-9 is a root stage
+ Stage-7 depends on stages: Stage-9
+ Stage-8 depends on stages: Stage-7
Stage-6 depends on stages: Stage-8
- Stage-7 depends on stages: Stage-6
- Stage-5 depends on stages: Stage-7
- Stage-0 depends on stages: Stage-5
- Stage-2 depends on stages: Stage-0
+ Stage-0 depends on stages: Stage-6
+ Stage-3 depends on stages: Stage-0
STAGE PLANS:
- Stage: Stage-8
+ Stage: Stage-9
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_1:$hdt$_2:x
+ $hdt$_0:$hdt$_1:x
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_1:$hdt$_2:x
+ $hdt$_0:$hdt$_1:x
TableScan
alias: x
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
@@ -2489,7 +2489,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
- Stage: Stage-6
+ Stage: Stage-7
Map Reduce
Map Operator Tree:
TableScan
@@ -2523,14 +2523,14 @@ STAGE PLANS:
Local Work:
Map Reduce Local Work
- Stage: Stage-7
+ Stage: Stage-8
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_0:x
+ $hdt$_1:x
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_0:x
+ $hdt$_1:x
TableScan
alias: x
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -2543,10 +2543,10 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
- Stage: Stage-5
+ Stage: Stage-6
Map Reduce
Map Operator Tree:
TableScan
@@ -2554,12 +2554,12 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3, _col4
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col4 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -2583,7 +2583,7 @@ STAGE PLANS:
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
name: default.dest_j2
- Stage: Stage-2
+ Stage: Stage-3
Stats-Aggr Operator
PREHOOK: query: INSERT OVERWRITE TABLE dest_j2
@@ -2715,22 +2715,22 @@ FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res
JOIN srcpart y ON (res.value = y.value and y.ds='2008-04-08' and y.hr=11)
POSTHOOK: type: QUERY
STAGE DEPENDENCIES:
- Stage-8 is a root stage
+ Stage-9 is a root stage
+ Stage-7 depends on stages: Stage-9
+ Stage-8 depends on stages: Stage-7
Stage-6 depends on stages: Stage-8
- Stage-7 depends on stages: Stage-6
- Stage-5 depends on stages: Stage-7
- Stage-0 depends on stages: Stage-5
- Stage-2 depends on stages: Stage-0
+ Stage-0 depends on stages: Stage-6
+ Stage-3 depends on stages: Stage-0
STAGE PLANS:
- Stage: Stage-8
+ Stage: Stage-9
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_1:$hdt$_2:x
+ $hdt$_0:$hdt$_1:x
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_1:$hdt$_2:x
+ $hdt$_0:$hdt$_1:x
TableScan
alias: x
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
@@ -2746,7 +2746,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
- Stage: Stage-6
+ Stage: Stage-7
Map Reduce
Map Operator Tree:
TableScan
@@ -2780,14 +2780,14 @@ STAGE PLANS:
Local Work:
Map Reduce Local Work
- Stage: Stage-7
+ Stage: Stage-8
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_0:y
+ $hdt$_1:y
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_0:y
+ $hdt$_1:y
TableScan
alias: y
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -2800,10 +2800,10 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
- Stage: Stage-5
+ Stage: Stage-6
Map Reduce
Map Operator Tree:
TableScan
@@ -2811,12 +2811,12 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3, _col4
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col4 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -2840,7 +2840,7 @@ STAGE PLANS:
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
name: default.dest_j2
- Stage: Stage-2
+ Stage: Stage-3
Stats-Aggr Operator
PREHOOK: query: INSERT OVERWRITE TABLE dest_j2
diff --git a/ql/src/test/results/clientpositive/join33.q.out b/ql/src/test/results/clientpositive/join33.q.out
index 13f10f7..539ab8d 100644
--- a/ql/src/test/results/clientpositive/join33.q.out
+++ b/ql/src/test/results/clientpositive/join33.q.out
@@ -112,7 +112,7 @@ STAGE PLANS:
$hdt$_0:y
Fetch Operator
limit: -1
- $hdt$_2:x
+ $hdt$_1:x
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
@@ -131,10 +131,10 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- $hdt$_2:x
+ $hdt$_1:x
TableScan
alias: x
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
@@ -149,9 +149,9 @@ STAGE PLANS:
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- Position of Big Table: 0
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
Stage: Stage-6
Map Reduce
@@ -172,22 +172,22 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3
- Position of Big Table: 0
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col2
+ Position of Big Table: 1
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col3, _col6
+ outputColumnNames: _col0, _col2, _col6
Position of Big Table: 0
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col6 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col6 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -356,7 +356,7 @@ STAGE PLANS:
name: default.srcpart
name: default.srcpart
Truncated Path -> Alias:
- /srcpart/ds=2008-04-08/hr=11 [$hdt$_1:z]
+ /srcpart/ds=2008-04-08/hr=11 [$hdt$_2:z]
Stage: Stage-0
Move Operator
diff --git a/ql/src/test/results/clientpositive/join_parse.q.out b/ql/src/test/results/clientpositive/join_parse.q.out
index ab657cc..5cabcbd 100644
--- a/ql/src/test/results/clientpositive/join_parse.q.out
+++ b/ql/src/test/results/clientpositive/join_parse.q.out
@@ -433,9 +433,9 @@ STAGE PLANS:
value expressions: _col0 (type: string)
TableScan
Reduce Output Operator
- key expressions: _col1 (type: string)
+ key expressions: _col2 (type: string)
sort order: +
- Map-reduce partition columns: _col1 (type: string)
+ Map-reduce partition columns: _col2 (type: string)
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Reduce Operator Tree:
Join Operator
@@ -443,11 +443,11 @@ STAGE PLANS:
Inner Join 0 to 1
keys:
0 _col1 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col4
+ 1 _col2 (type: string)
+ outputColumnNames: _col0, _col5
Statistics: Num rows: 2420 Data size: 25709 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: string), _col4 (type: string)
+ expressions: _col0 (type: string), _col5 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 2420 Data size: 25709 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -465,33 +465,33 @@ STAGE PLANS:
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (value is not null and key is not null) (type: boolean)
+ predicate: key is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
TableScan
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (value is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
@@ -499,7 +499,7 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1
+ outputColumnNames: _col2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
diff --git a/ql/src/test/results/clientpositive/limit_join_transpose.q.out b/ql/src/test/results/clientpositive/limit_join_transpose.q.out
index 759aebb..b84ca3f 100644
--- a/ql/src/test/results/clientpositive/limit_join_transpose.q.out
+++ b/ql/src/test/results/clientpositive/limit_join_transpose.q.out
@@ -306,13 +306,14 @@ on src1.key = src2.key
limit 1
POSTHOOK: type: QUERY
STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-2 depends on stages: Stage-1
+ Stage-2 is a root stage
Stage-3 depends on stages: Stage-2
- Stage-0 depends on stages: Stage-3
+ Stage-4 depends on stages: Stage-3
+ Stage-1 depends on stages: Stage-4
+ Stage-0 depends on stages: Stage-1
STAGE PLANS:
- Stage: Stage-1
+ Stage: Stage-2
Map Reduce
Map Operator Tree:
TableScan
@@ -345,7 +346,7 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
- Stage: Stage-2
+ Stage: Stage-3
Map Reduce
Map Operator Tree:
TableScan
@@ -377,23 +378,43 @@ STAGE PLANS:
1 _col1 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+ Limit
+ Number of rows: 1
+ Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
- Stage: Stage-3
+ Stage: Stage-4
Map Reduce
Map Operator Tree:
TableScan
Reduce Output Operator
- key expressions: _col2 (type: string)
- sort order: +
- Map-reduce partition columns: _col2 (type: string)
- Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: string), _col1 (type: string), _col3 (type: string)
+ sort order:
+ Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ TopN Hash Memory Usage: 0.1
+ value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string)
+ Reduce Operator Tree:
+ Select Operator
+ expressions: VALUE._col0 (type: string), VALUE._col1 (type: string), VALUE._col2 (type: string), VALUE._col3 (type: string)
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ Limit
+ Number of rows: 1
+ Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+
+ Stage: Stage-1
+ Map Reduce
+ Map Operator Tree:
TableScan
alias: src1
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -407,29 +428,32 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: string)
+ TableScan
+ Reduce Output Operator
+ key expressions: _col2 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col2 (type: string)
+ Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: string), _col1 (type: string), _col3 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
- Left Outer Join0 to 1
+ Right Outer Join0 to 1
keys:
- 0 _col2 (type: string)
- 1 _col0 (type: string)
+ 0 _col0 (type: string)
+ 1 _col2 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
- Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col4 (type: string), _col5 (type: string), _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
- Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
- Limit
- Number of rows: 1
+ Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ Limit
+ Number of rows: 1
+ Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Stage: Stage-0
Fetch Operator
@@ -1234,13 +1258,14 @@ on src1.key = src2.key
limit 1 offset 1
POSTHOOK: type: QUERY
STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-2 depends on stages: Stage-1
+ Stage-2 is a root stage
Stage-3 depends on stages: Stage-2
- Stage-0 depends on stages: Stage-3
+ Stage-4 depends on stages: Stage-3
+ Stage-1 depends on stages: Stage-4
+ Stage-0 depends on stages: Stage-1
STAGE PLANS:
- Stage: Stage-1
+ Stage: Stage-2
Map Reduce
Map Operator Tree:
TableScan
@@ -1275,7 +1300,7 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
- Stage: Stage-2
+ Stage: Stage-3
Map Reduce
Map Operator Tree:
TableScan
@@ -1307,23 +1332,45 @@ STAGE PLANS:
1 _col1 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+ Limit
+ Number of rows: 1
+ Offset of rows: 1
+ Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
- Stage: Stage-3
+ Stage: Stage-4
Map Reduce
Map Operator Tree:
TableScan
Reduce Output Operator
- key expressions: _col2 (type: string)
- sort order: +
- Map-reduce partition columns: _col2 (type: string)
- Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: string), _col1 (type: string), _col3 (type: string)
+ sort order:
+ Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ TopN Hash Memory Usage: 0.1
+ value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string)
+ Reduce Operator Tree:
+ Select Operator
+ expressions: VALUE._col0 (type: string), VALUE._col1 (type: string), VALUE._col2 (type: string), VALUE._col3 (type: string)
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ Limit
+ Number of rows: 1
+ Offset of rows: 1
+ Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+
+ Stage: Stage-1
+ Map Reduce
+ Map Operator Tree:
TableScan
alias: src1
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1337,30 +1384,33 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: string)
+ TableScan
+ Reduce Output Operator
+ key expressions: _col2 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col2 (type: string)
+ Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: string), _col1 (type: string), _col3 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
- Left Outer Join0 to 1
+ Right Outer Join0 to 1
keys:
- 0 _col2 (type: string)
- 1 _col0 (type: string)
+ 0 _col0 (type: string)
+ 1 _col2 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
- Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col4 (type: string), _col5 (type: string), _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
- Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
- Limit
- Number of rows: 1
- Offset of rows: 1
+ Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ Limit
+ Number of rows: 1
+ Offset of rows: 1
+ Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Stage: Stage-0
Fetch Operator
diff --git a/ql/src/test/results/clientpositive/llap/tez_join_hash.q.out b/ql/src/test/results/clientpositive/llap/tez_join_hash.q.out
index 366fedc..5490831 100644
--- a/ql/src/test/results/clientpositive/llap/tez_join_hash.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_join_hash.q.out
@@ -158,18 +158,17 @@ STAGE PLANS:
alias: x
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (key is not null and value is not null) (type: boolean)
+ predicate: key is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
Execution mode: llap
Map 6
Map Operator Tree:
@@ -177,17 +176,18 @@ STAGE PLANS:
alias: x
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (key is not null and value is not null) (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
Execution mode: llap
Map 7
Map Operator Tree:
@@ -235,10 +235,10 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col2
+ outputColumnNames: _col0, _col2
Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col2 (type: string), _col1 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
diff --git a/ql/src/test/results/clientpositive/mapjoin_mapjoin.q.out b/ql/src/test/results/clientpositive/mapjoin_mapjoin.q.out
index 416634b..249c677 100644
--- a/ql/src/test/results/clientpositive/mapjoin_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/mapjoin_mapjoin.q.out
@@ -64,47 +64,47 @@ STAGE PLANS:
Stage: Stage-7
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_0:src
+ $hdt$_1:src1
Fetch Operator
limit: -1
- $hdt$_2:src1
+ $hdt$_2:src
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_0:src
+ $hdt$_1:src1
TableScan
- alias: src
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ alias: src1
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: value is not null (type: boolean)
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ predicate: key is not null (type: boolean)
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: value (type: string)
+ expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col1 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- $hdt$_2:src1
+ $hdt$_2:src
TableScan
- alias: src1
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ alias: src
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: key is not null (type: boolean)
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ predicate: value is not null (type: boolean)
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
+ expressions: value (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col0 (type: string)
+ 0 _col1 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
@@ -441,10 +441,10 @@ STAGE PLANS:
name: default.srcpart
name: default.srcpart
Truncated Path -> Alias:
- /srcpart/ds=2008-04-08/hr=11 [$hdt$_1:srcpart]
- /srcpart/ds=2008-04-08/hr=12 [$hdt$_1:srcpart]
- /srcpart/ds=2008-04-09/hr=11 [$hdt$_1:srcpart]
- /srcpart/ds=2008-04-09/hr=12 [$hdt$_1:srcpart]
+ /srcpart/ds=2008-04-08/hr=11 [$hdt$_0:srcpart]
+ /srcpart/ds=2008-04-08/hr=12 [$hdt$_0:srcpart]
+ /srcpart/ds=2008-04-09/hr=11 [$hdt$_0:srcpart]
+ /srcpart/ds=2008-04-09/hr=12 [$hdt$_0:srcpart]
Stage: Stage-0
Fetch Operator
@@ -467,29 +467,14 @@ STAGE PLANS:
Stage: Stage-7
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_0:src
+ $hdt$_1:src1
Fetch Operator
limit: -1
- $hdt$_2:src1
+ $hdt$_2:src
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_0:src
- TableScan
- alias: src
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: (value > 'val_450') (type: boolean)
- Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: value (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 _col1 (type: string)
- 1 _col0 (type: string)
- $hdt$_2:src1
+ $hdt$_1:src1
TableScan
alias: src1
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
@@ -504,6 +489,21 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
+ $hdt$_2:src
+ TableScan
+ alias: src
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (value > 'val_450') (type: boolean)
+ Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: value (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
Stage: Stage-5
Map Reduce
diff --git a/ql/src/test/results/clientpositive/mapjoin_subquery.q.out b/ql/src/test/results/clientpositive/mapjoin_subquery.q.out
index cb6d92d..377690a 100644
--- a/ql/src/test/results/clientpositive/mapjoin_subquery.q.out
+++ b/ql/src/test/results/clientpositive/mapjoin_subquery.q.out
@@ -19,53 +19,53 @@ FROM
JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11)
POSTHOOK: type: QUERY
STAGE DEPENDENCIES:
- Stage-6 is a root stage
- Stage-4 depends on stages: Stage-6
- Stage-0 depends on stages: Stage-4
+ Stage-7 is a root stage
+ Stage-5 depends on stages: Stage-7
+ Stage-0 depends on stages: Stage-5
STAGE PLANS:
- Stage: Stage-6
+ Stage: Stage-7
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_0:z
+ $hdt$_0:$hdt$_1:x
Fetch Operator
limit: -1
- $hdt$_1:$hdt$_2:x
+ $hdt$_1:z
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_0:z
+ $hdt$_0:$hdt$_1:x
TableScan
- alias: z
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ alias: x
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- $hdt$_1:$hdt$_2:x
+ $hdt$_1:z
TableScan
- alias: x
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ alias: z
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- Stage: Stage-4
+ Stage: Stage-5
Map Reduce
Map Operator Tree:
TableScan
@@ -96,10 +96,10 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col4
+ outputColumnNames: _col0, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col4 (type: string), _col1 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -262,53 +262,53 @@ FROM
JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11)
POSTHOOK: type: QUERY
STAGE DEPENDENCIES:
- Stage-6 is a root stage
- Stage-4 depends on stages: Stage-6
- Stage-0 depends on stages: Stage-4
+ Stage-7 is a root stage
+ Stage-5 depends on stages: Stage-7
+ Stage-0 depends on stages: Stage-5
STAGE PLANS:
- Stage: Stage-6
+ Stage: Stage-7
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_0:z
+ $hdt$_0:$hdt$_1:x
Fetch Operator
limit: -1
- $hdt$_1:$hdt$_2:x
+ $hdt$_1:z
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_0:z
+ $hdt$_0:$hdt$_1:x
TableScan
- alias: z
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ alias: x
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- $hdt$_1:$hdt$_2:x
+ $hdt$_1:z
TableScan
- alias: x
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ alias: z
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- Stage: Stage-4
+ Stage: Stage-5
Map Reduce
Map Operator Tree:
TableScan
@@ -339,10 +339,10 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col4
+ outputColumnNames: _col0, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col4 (type: string), _col1 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git a/ql/src/test/results/clientpositive/mergejoins.q.out b/ql/src/test/results/clientpositive/mergejoins.q.out
index 9010410..c5553c5 100644
--- a/ql/src/test/results/clientpositive/mergejoins.q.out
+++ b/ql/src/test/results/clientpositive/mergejoins.q.out
@@ -201,6 +201,19 @@ STAGE PLANS:
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: string)
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
+ TableScan
+ alias: a
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -230,24 +243,11 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: string)
- TableScan
- alias: a
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: string)
- sort order: +
- Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
- Inner Join 0 to 1
- Left Outer Join1 to 2
+ Right Outer Join0 to 1
+ Inner Join 1 to 2
filter predicates:
0
1 {(UDFToDouble(KEY.reducesinkkey0) < UDFToDouble(10))}
@@ -258,13 +258,17 @@ STAGE PLANS:
2 _col0 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
+ Select Operator
+ expressions: _col4 (type: string), _col5 (type: string), _col2 (type: string), _col3 (type: string), _col0 (type: string), _col1 (type: string)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Stage: Stage-0
Fetch Operator
diff --git a/ql/src/test/results/clientpositive/ppd_join3.q.out b/ql/src/test/results/clientpositive/ppd_join3.q.out
index 0000db1..7edf223 100644
--- a/ql/src/test/results/clientpositive/ppd_join3.q.out
+++ b/ql/src/test/results/clientpositive/ppd_join3.q.out
@@ -27,12 +27,12 @@ ON src1.c1 = src3.c5
WHERE src1.c1 > '0' and (src1.c2 <> 'val_500' or src1.c1 > '1') and (src2.c3 > '10' or src1.c1 <> '10') and (src2.c3 <> '4') and (src3.c5 <> '1')
POSTHOOK: type: QUERY
STAGE DEPENDENCIES:
- Stage-2 is a root stage
- Stage-1 depends on stages: Stage-2
- Stage-0 depends on stages: Stage-1
+ Stage-1 is a root stage
+ Stage-2 depends on stages: Stage-1
+ Stage-0 depends on stages: Stage-2
STAGE PLANS:
- Stage: Stage-2
+ Stage: Stage-1
Map Reduce
Map Operator Tree:
TableScan
@@ -89,10 +89,17 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
- Stage: Stage-1
+ Stage: Stage-2
Map Reduce
Map Operator Tree:
TableScan
+ Reduce Output Operator
+ key expressions: _col0 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: string)
+ Statistics: Num rows: 60 Data size: 642 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col2 (type: string)
+ TableScan
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
@@ -107,13 +114,6 @@ STAGE PLANS:
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
- TableScan
- Reduce Output Operator
- key expressions: _col0 (type: string)
- sort order: +
- Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 60 Data size: 642 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col2 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
@@ -121,10 +121,10 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col3
+ outputColumnNames: _col0, _col2
Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: string), _col3 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -1767,12 +1767,12 @@ ON src1.c1 = src3.c5
WHERE src1.c1 > '0' and (src1.c2 <> 'val_500' or src1.c1 > '1') and (src2.c3 > '10' or src1.c1 <> '10') and (src2.c3 <> '4') and (src3.c5 <> '1')
POSTHOOK: type: QUERY
STAGE DEPENDENCIES:
- Stage-2 is a root stage
- Stage-1 depends on stages: Stage-2
- Stage-0 depends on stages: Stage-1
+ Stage-1 is a root stage
+ Stage-2 depends on stages: Stage-1
+ Stage-0 depends on stages: Stage-2
STAGE PLANS:
- Stage: Stage-2
+ Stage: Stage-1
Map Reduce
Map Operator Tree:
TableScan
@@ -1829,10 +1829,17 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
- Stage: Stage-1
+ Stage: Stage-2
Map Reduce
Map Operator Tree:
TableScan
+ Reduce Output Operator
+ key expressions: _col0 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: string)
+ Statistics: Num rows: 60 Data size: 642 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col2 (type: string)
+ TableScan
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
@@ -1847,13 +1854,6 @@ STAGE PLANS:
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
- TableScan
- Reduce Output Operator
- key expressions: _col0 (type: string)
- sort order: +
- Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 60 Data size: 642 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col2 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
@@ -1861,10 +1861,10 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col3
+ outputColumnNames: _col0, _col2
Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: string), _col3 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git a/ql/src/test/results/clientpositive/ppd_outer_join4.q.out b/ql/src/test/results/clientpositive/ppd_outer_join4.q.out
index 289798c..39ef6f5 100644
--- a/ql/src/test/results/clientpositive/ppd_outer_join4.q.out
+++ b/ql/src/test/results/clientpositive/ppd_outer_join4.q.out
@@ -38,17 +38,18 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((((sqrt(key) <> 13.0) and (key < '25')) and (key > '15')) and (key < '20')) and (key > '10')) (type: boolean)
+ predicate: ((((key > '15') and (key < '25')) and (key > '10')) and (key < '20')) (type: boolean)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -69,18 +70,17 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((key > '15') and (key < '25')) and (key > '10')) and (key < '20')) (type: boolean)
+ predicate: (((((sqrt(key) <> 13.0) and (key < '25')) and (key > '15')) and (key < '20')) and (key > '10')) (type: boolean)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
@@ -93,7 +93,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 13 Data size: 138 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col0 (type: string)
+ expressions: _col2 (type: string), _col3 (type: string), _col0 (type: string), _col1 (type: string), _col4 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 13 Data size: 138 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -402,17 +402,18 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((((sqrt(key) <> 13.0) and (key < '25')) and (key > '15')) and (key < '20')) and (key > '10')) (type: boolean)
+ predicate: ((((key > '15') and (key < '25')) and (key > '10')) and (key < '20')) (type: boolean)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -433,18 +434,17 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((key > '15') and (key < '25')) and (key > '10')) and (key < '20')) (type: boolean)
+ predicate: (((((sqrt(key) <> 13.0) and (key < '25')) and (key > '15')) and (key < '20')) and (key > '10')) (type: boolean)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
@@ -457,7 +457,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 13 Data size: 138 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col0 (type: string)
+ expressions: _col2 (type: string), _col3 (type: string), _col0 (type: string), _col1 (type: string), _col4 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 13 Data size: 138 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git a/ql/src/test/results/clientpositive/spark/auto_join13.q.out b/ql/src/test/results/clientpositive/spark/auto_join13.q.out
index 97c73f8..e485625 100644
--- a/ql/src/test/results/clientpositive/spark/auto_join13.q.out
+++ b/ql/src/test/results/clientpositive/spark/auto_join13.q.out
@@ -39,8 +39,8 @@ STAGE PLANS:
predicate: (UDFToDouble(key) < 100.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
@@ -62,7 +62,7 @@ STAGE PLANS:
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
- 0 (UDFToDouble(_col2) + UDFToDouble(_col0)) (type: double)
+ 0 (UDFToDouble(_col0) + UDFToDouble(_col1)) (type: double)
1 UDFToDouble(_col0) (type: double)
Local Work:
Map Reduce Local Work
@@ -82,8 +82,8 @@ STAGE PLANS:
predicate: (UDFToDouble(key) < 100.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
@@ -99,14 +99,14 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 (UDFToDouble(_col2) + UDFToDouble(_col0)) (type: double)
+ 0 (UDFToDouble(_col0) + UDFToDouble(_col1)) (type: double)
1 UDFToDouble(_col0) (type: double)
- outputColumnNames: _col1, _col2
+ outputColumnNames: _col0, _col2
input vertices:
1 Map 4
Statistics: Num rows: 200 Data size: 2132 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: hash(_col2,_col1) (type: int)
+ expressions: hash(_col0,_col2) (type: int)
outputColumnNames: _col0
Statistics: Num rows: 200 Data size: 2132 Basic stats: COMPLETE Column stats: NONE
Group By Operator
diff --git a/ql/src/test/results/clientpositive/spark/auto_join_without_localtask.q.out b/ql/src/test/results/clientpositive/spark/auto_join_without_localtask.q.out
index f055a59..6cb5111 100644
--- a/ql/src/test/results/clientpositive/spark/auto_join_without_localtask.q.out
+++ b/ql/src/test/results/clientpositive/spark/auto_join_without_localtask.q.out
@@ -163,35 +163,35 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (key is not null and value is not null) (type: boolean)
+ predicate: value is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: value (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: _col1 (type: string)
+ key expressions: _col0 (type: string)
sort order: +
- Map-reduce partition columns: _col1 (type: string)
+ Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: string)
Map 5
Map Operator Tree:
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: value is not null (type: boolean)
+ predicate: (key is not null and value is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: value (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: _col0 (type: string)
+ key expressions: _col1 (type: string)
sort order: +
- Map-reduce partition columns: _col0 (type: string)
+ Map-reduce partition columns: _col1 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: string)
Map 6
Map Operator Tree:
TableScan
@@ -215,31 +215,35 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col1 (type: string)
- 1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ 0 _col0 (type: string)
+ 1 _col1 (type: string)
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: _col0 (type: string)
+ key expressions: _col1 (type: string)
sort order: +
- Map-reduce partition columns: _col0 (type: string)
+ Map-reduce partition columns: _col1 (type: string)
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
+ value expressions: _col2 (type: string)
Reducer 3
Reduce Operator Tree:
Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
+ 0 _col1 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: string), _col1 (type: string)
- sort order: ++
+ Select Operator
+ expressions: _col1 (type: string), _col2 (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
- TopN Hash Memory Usage: 0.1
+ Reduce Output Operator
+ key expressions: _col0 (type: string), _col1 (type: string)
+ sort order: ++
+ Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ TopN Hash Memory Usage: 0.1
Reducer 4
Reduce Operator Tree:
Select Operator
@@ -337,35 +341,35 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(key) > 100.0) and value is not null) (type: boolean)
+ predicate: (UDFToDouble(key) > 100.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
Map 5
Map Operator Tree:
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (UDFToDouble(key) > 100.0) (type: boolean)
+ predicate: ((UDFToDouble(key) > 100.0) and value is not null) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
Map 6
Map Operator Tree:
TableScan
@@ -391,29 +395,33 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: _col1 (type: string)
+ key expressions: _col2 (type: string)
sort order: +
- Map-reduce partition columns: _col1 (type: string)
+ Map-reduce partition columns: _col2 (type: string)
Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: string)
+ value expressions: _col1 (type: string)
Reducer 3
Reduce Operator Tree:
Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col1 (type: string)
+ 0 _col2 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col1, _col2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: string), _col1 (type: string)
- sort order: ++
+ Select Operator
+ expressions: _col1 (type: string), _col2 (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- TopN Hash Memory Usage: 0.1
+ Reduce Output Operator
+ key expressions: _col0 (type: string), _col1 (type: string)
+ sort order: ++
+ Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ TopN Hash Memory Usage: 0.1
Reducer 4
Reduce Operator Tree:
Select Operator
diff --git a/ql/src/test/results/clientpositive/spark/join13.q.out b/ql/src/test/results/clientpositive/spark/join13.q.out
index 5b38f8c..93bf504 100644
--- a/ql/src/test/results/clientpositive/spark/join13.q.out
+++ b/ql/src/test/results/clientpositive/spark/join13.q.out
@@ -45,15 +45,14 @@ STAGE PLANS:
predicate: (UDFToDouble(key) < 100.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
Map 4
Map Operator Tree:
TableScan
@@ -63,14 +62,15 @@ STAGE PLANS:
predicate: (UDFToDouble(key) < 100.0) (type: boolean)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
Map 5
Map Operator Tree:
TableScan
@@ -99,23 +99,23 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: (UDFToDouble(_col2) + UDFToDouble(_col0)) (type: double)
+ key expressions: (UDFToDouble(_col0) + UDFToDouble(_col1)) (type: double)
sort order: +
- Map-reduce partition columns: (UDFToDouble(_col2) + UDFToDouble(_col0)) (type: double)
+ Map-reduce partition columns: (UDFToDouble(_col0) + UDFToDouble(_col1)) (type: double)
Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string), _col2 (type: string)
+ value expressions: _col0 (type: string), _col2 (type: string)
Reducer 3
Reduce Operator Tree:
Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 (UDFToDouble(_col2) + UDFToDouble(_col0)) (type: double)
+ 0 (UDFToDouble(_col0) + UDFToDouble(_col1)) (type: double)
1 UDFToDouble(_col0) (type: double)
- outputColumnNames: _col1, _col2
+ outputColumnNames: _col0, _col2
Statistics: Num rows: 200 Data size: 2132 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col2 (type: string), _col1 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 200 Data size: 2132 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git a/ql/src/test/results/clientpositive/spark/join28.q.out b/ql/src/test/results/clientpositive/spark/join28.q.out
index 548a806..c535132 100644
--- a/ql/src/test/results/clientpositive/spark/join28.q.out
+++ b/ql/src/test/results/clientpositive/spark/join28.q.out
@@ -41,18 +41,18 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 1
+ Map 2
Map Operator Tree:
TableScan
- alias: z
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ alias: x
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col0 (type: string)
@@ -62,15 +62,15 @@ STAGE PLANS:
Map 3
Map Operator Tree:
TableScan
- alias: x
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ alias: z
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col0 (type: string)
@@ -82,7 +82,7 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 2
+ Map 1
Map Operator Tree:
TableScan
alias: y
@@ -102,7 +102,7 @@ STAGE PLANS:
1 _col0 (type: string)
outputColumnNames: _col1
input vertices:
- 1 Map 3
+ 1 Map 2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col1 (type: string)
@@ -114,12 +114,12 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col4
+ outputColumnNames: _col0, _col2
input vertices:
- 0 Map 1
+ 1 Map 3
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col4 (type: string), _col1 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git a/ql/src/test/results/clientpositive/spark/join32.q.out b/ql/src/test/results/clientpositive/spark/join32.q.out
index 400639f..c3298bc 100644
--- a/ql/src/test/results/clientpositive/spark/join32.q.out
+++ b/ql/src/test/results/clientpositive/spark/join32.q.out
@@ -110,7 +110,7 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 2
+ Map 1
Map Operator Tree:
TableScan
alias: x
@@ -126,9 +126,9 @@ STAGE PLANS:
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- Position of Big Table: 0
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -196,7 +196,7 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
Local Work:
@@ -255,7 +255,7 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 1
+ Map 2
Map Operator Tree:
TableScan
alias: z
@@ -273,26 +273,26 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col2
input vertices:
- 1 Map 2
- Position of Big Table: 0
+ 0 Map 1
+ Position of Big Table: 1
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col3, _col6
+ outputColumnNames: _col0, _col2, _col6
input vertices:
1 Map 3
Position of Big Table: 0
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col6 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col6 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git a/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out b/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out
index f761de6..28e76db 100644
--- a/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out
+++ b/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out
@@ -118,7 +118,7 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 2
+ Map 1
Map Operator Tree:
TableScan
alias: x
@@ -134,9 +134,9 @@ STAGE PLANS:
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- Position of Big Table: 0
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -204,7 +204,7 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
Local Work:
@@ -263,7 +263,7 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 1
+ Map 2
Map Operator Tree:
TableScan
alias: z
@@ -281,26 +281,26 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col2
input vertices:
- 1 Map 2
- Position of Big Table: 0
+ 0 Map 1
+ Position of Big Table: 1
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col3, _col6
+ outputColumnNames: _col0, _col2, _col6
input vertices:
1 Map 3
Position of Big Table: 0
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col6 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col6 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -632,7 +632,7 @@ STAGE PLANS:
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: key is not null (type: boolean)
+ predicate: (value is not null and key is not null) (type: boolean)
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), value (type: string)
@@ -707,7 +707,7 @@ STAGE PLANS:
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: (value is not null and key is not null) (type: boolean)
+ predicate: key is not null (type: boolean)
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), value (type: string)
@@ -719,14 +719,14 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1, _col3
+ outputColumnNames: _col1, _col2, _col3
input vertices:
1 Map 2
Position of Big Table: 0
Statistics: Num rows: 27 Data size: 210 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
- 0 _col1 (type: string)
+ 0 _col3 (type: string)
1 _col0 (type: string)
Position of Big Table: 1
Local Work:
@@ -796,7 +796,7 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
- 0 _col0 (type: string)
+ 0 _col2 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
Local Work:
@@ -873,9 +873,9 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col1 (type: string)
+ 0 _col3 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col3
+ outputColumnNames: _col1, _col2
input vertices:
0 Map 1
Position of Big Table: 1
@@ -884,15 +884,15 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
+ 0 _col2 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col3, _col6
+ outputColumnNames: _col1, _col2, _col6
input vertices:
1 Map 4
Position of Big Table: 0
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: string), _col3 (type: string), _col6 (type: string)
+ expressions: _col2 (type: string), _col1 (type: string), _col6 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -1238,25 +1238,25 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 1
+ Map 2
Map Operator Tree:
TableScan
- alias: z
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ alias: x
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: value is not null (type: boolean)
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: value (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col0 (type: string)
- 1 _col1 (type: string)
- Position of Big Table: 1
+ 1 _col0 (type: string)
+ Position of Big Table: 0
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -1264,12 +1264,9 @@ STAGE PLANS:
Path -> Partition:
#### A masked pattern was here ####
Partition
- base file name: hr=11
+ base file name: src1
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- partition values:
- ds 2008-04-08
- hr 11
properties:
COLUMN_STATS_ACCURATE true
bucket_count -1
@@ -1277,56 +1274,57 @@ STAGE PLANS:
columns.comments 'default','default'
columns.types string:string
#### A masked pattern was here ####
- name default.srcpart
+ name default.src1
numFiles 1
- numRows 500
- partition_columns ds/hr
- partition_columns.types string:string
- rawDataSize 5312
- serialization.ddl struct srcpart { string key, string value}
+ numRows 25
+ rawDataSize 191
+ serialization.ddl struct src1 { string key, string value}
serialization.format 1
serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- totalSize 5812
+ totalSize 216
#### A masked pattern was here ####
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
properties:
+ COLUMN_STATS_ACCURATE true
bucket_count -1
columns key,value
columns.comments 'default','default'
columns.types string:string
#### A masked pattern was here ####
- name default.srcpart
- partition_columns ds/hr
- partition_columns.types string:string
- serialization.ddl struct srcpart { string key, string value}
+ name default.src1
+ numFiles 1
+ numRows 25
+ rawDataSize 191
+ serialization.ddl struct src1 { string key, string value}
serialization.format 1
serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 216
#### A masked pattern was here ####
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.srcpart
- name: default.srcpart
+ name: default.src1
+ name: default.src1
Truncated Path -> Alias:
- /srcpart/ds=2008-04-08/hr=11 [z]
+ /src1 [x]
Map 3
Map Operator Tree:
TableScan
- alias: x
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ alias: z
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: (key is not null and value is not null) (type: boolean)
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ predicate: value is not null (type: boolean)
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ expressions: value (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
- 0 _col0 (type: string)
+ 0 _col1 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
Local Work:
@@ -1336,9 +1334,12 @@ STAGE PLANS:
Path -> Partition:
#### A masked pattern was here ####
Partition
- base file name: src1
+ base file name: hr=11
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ partition values:
+ ds 2008-04-08
+ hr 11
properties:
COLUMN_STATS_ACCURATE true
bucket_count -1
@@ -1346,46 +1347,45 @@ STAGE PLANS:
columns.comments 'default','default'
columns.types string:string
#### A masked pattern was here ####
- name default.src1
+ name default.srcpart
numFiles 1
- numRows 25
- rawDataSize 191
- serialization.ddl struct src1 { string key, string value}
+ numRows 500
+ partition_columns ds/hr
+ partition_columns.types string:string
+ rawDataSize 5312
+ serialization.ddl struct srcpart { string key, string value}
serialization.format 1
serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- totalSize 216
+ totalSize 5812
#### A masked pattern was here ####
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
properties:
- COLUMN_STATS_ACCURATE true
bucket_count -1
columns key,value
columns.comments 'default','default'
columns.types string:string
#### A masked pattern was here ####
- name default.src1
- numFiles 1
- numRows 25
- rawDataSize 191
- serialization.ddl struct src1 { string key, string value}
+ name default.srcpart
+ partition_columns ds/hr
+ partition_columns.types string:string
+ serialization.ddl struct srcpart { string key, string value}
serialization.format 1
serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- totalSize 216
#### A masked pattern was here ####
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.src1
- name: default.src1
+ name: default.srcpart
+ name: default.srcpart
Truncated Path -> Alias:
- /src1 [x]
+ /srcpart/ds=2008-04-08/hr=11 [z]
Stage: Stage-1
Spark
#### A masked pattern was here ####
Vertices:
- Map 2
+ Map 1
Map Operator Tree:
TableScan
alias: y
@@ -1407,7 +1407,7 @@ STAGE PLANS:
1 _col0 (type: string)
outputColumnNames: _col1, _col2
input vertices:
- 1 Map 3
+ 1 Map 2
Position of Big Table: 0
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Select Operator
@@ -1418,15 +1418,15 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3, _col4
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col1, _col2
input vertices:
- 0 Map 1
- Position of Big Table: 1
+ 1 Map 3
+ Position of Big Table: 0
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col4 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -1767,22 +1767,18 @@ STAGE PLANS:
Map 1
Map Operator Tree:
TableScan
- alias: z
+ alias: y
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
GatherStats: false
- Filter Operator
- isSamplingPred: false
- predicate: value is not null (type: boolean)
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: value (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Spark HashTable Sink Operator
- keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- Position of Big Table: 1
+ Spark HashTable Sink Operator
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -1790,12 +1786,9 @@ STAGE PLANS:
Path -> Partition:
#### A masked pattern was here ####
Partition
- base file name: hr=11
+ base file name: src
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- partition values:
- ds 2008-04-08
- hr 11
properties:
COLUMN_STATS_ACCURATE true
bucket_count -1
@@ -1803,13 +1796,11 @@ STAGE PLANS:
columns.comments 'default','default'
columns.types string:string
#### A masked pattern was here ####
- name default.srcpart
+ name default.src
numFiles 1
numRows 500
- partition_columns ds/hr
- partition_columns.types string:string
rawDataSize 5312
- serialization.ddl struct srcpart { string key, string value}
+ serialization.ddl struct src { string key, string value}
serialization.format 1
serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
totalSize 5812
@@ -1819,38 +1810,45 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
properties:
+ COLUMN_STATS_ACCURATE true
bucket_count -1
columns key,value
columns.comments 'default','default'
columns.types string:string
#### A masked pattern was here ####
- name default.srcpart
- partition_columns ds/hr
- partition_columns.types string:string
- serialization.ddl struct srcpart { string key, string value}
+ name default.src
+ numFiles 1
+ numRows 500
+ rawDataSize 5312
+ serialization.ddl struct src { string key, string value}
serialization.format 1
serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 5812
#### A masked pattern was here ####
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.srcpart
- name: default.srcpart
+ name: default.src
+ name: default.src
Truncated Path -> Alias:
- /srcpart/ds=2008-04-08/hr=11 [z]
- Map 2
+ /src [y]
+ Map 3
Map Operator Tree:
TableScan
- alias: y
+ alias: z
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
GatherStats: false
- Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ Filter Operator
+ isSamplingPred: false
+ predicate: value is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Spark HashTable Sink Operator
- keys:
- 0 _col0 (type: string)
- 1 _col0 (type: string)
- Position of Big Table: 1
+ Select Operator
+ expressions: value (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Spark HashTable Sink Operator
+ keys:
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -1858,9 +1856,12 @@ STAGE PLANS:
Path -> Partition:
#### A masked pattern was here ####
Partition
- base file name: src
+ base file name: hr=11
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ partition values:
+ ds 2008-04-08
+ hr 11
properties:
COLUMN_STATS_ACCURATE true
bucket_count -1
@@ -1868,11 +1869,13 @@ STAGE PLANS:
columns.comments 'default','default'
columns.types string:string
#### A masked pattern was here ####
- name default.src
+ name default.srcpart
numFiles 1
numRows 500
+ partition_columns ds/hr
+ partition_columns.types string:string
rawDataSize 5312
- serialization.ddl struct src { string key, string value}
+ serialization.ddl struct srcpart { string key, string value}
serialization.format 1
serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
totalSize 5812
@@ -1882,32 +1885,29 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
properties:
- COLUMN_STATS_ACCURATE true
bucket_count -1
columns key,value
columns.comments 'default','default'
columns.types string:string
#### A masked pattern was here ####
- name default.src
- numFiles 1
- numRows 500
- rawDataSize 5312
- serialization.ddl struct src { string key, string value}
+ name default.srcpart
+ partition_columns ds/hr
+ partition_columns.types string:string
+ serialization.ddl struct srcpart { string key, string value}
serialization.format 1
serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- totalSize 5812
#### A masked pattern was here ####
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.src
- name: default.src
+ name: default.srcpart
+ name: default.srcpart
Truncated Path -> Alias:
- /src [y]
+ /srcpart/ds=2008-04-08/hr=11 [z]
Stage: Stage-1
Spark
#### A masked pattern was here ####
Vertices:
- Map 3
+ Map 2
Map Operator Tree:
TableScan
alias: x
@@ -1929,7 +1929,7 @@ STAGE PLANS:
1 _col0 (type: string)
outputColumnNames: _col1, _col2
input vertices:
- 0 Map 2
+ 0 Map 1
Position of Big Table: 1
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Select Operator
@@ -1940,15 +1940,15 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3, _col4
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col1, _col2
input vertices:
- 0 Map 1
- Position of Big Table: 1
+ 1 Map 3
+ Position of Big Table: 0
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col4 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -2216,39 +2216,39 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 1
+ Map 2
Map Operator Tree:
TableScan
alias: x
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: value is not null (type: boolean)
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: value (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col0 (type: string)
- 1 _col1 (type: string)
+ 1 _col0 (type: string)
Local Work:
Map Reduce Local Work
Map 3
Map Operator Tree:
TableScan
alias: x
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (key is not null and value is not null) (type: boolean)
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ predicate: value is not null (type: boolean)
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ expressions: value (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
- 0 _col0 (type: string)
+ 0 _col1 (type: string)
1 _col0 (type: string)
Local Work:
Map Reduce Local Work
@@ -2257,7 +2257,7 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 2
+ Map 1
Map Operator Tree:
TableScan
alias: y
@@ -2277,7 +2277,7 @@ STAGE PLANS:
1 _col0 (type: string)
outputColumnNames: _col1, _col2
input vertices:
- 1 Map 3
+ 1 Map 2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col1 (type: string), _col2 (type: string)
@@ -2287,14 +2287,14 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3, _col4
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col1, _col2
input vertices:
- 0 Map 1
+ 1 Map 3
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col4 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -2460,39 +2460,39 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 1
+ Map 2
Map Operator Tree:
TableScan
- alias: y
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ alias: x
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: value is not null (type: boolean)
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: value (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col0 (type: string)
- 1 _col1 (type: string)
+ 1 _col0 (type: string)
Local Work:
Map Reduce Local Work
Map 3
Map Operator Tree:
TableScan
- alias: x
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ alias: y
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (key is not null and value is not null) (type: boolean)
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ predicate: value is not null (type: boolean)
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ expressions: value (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
- 0 _col0 (type: string)
+ 0 _col1 (type: string)
1 _col0 (type: string)
Local Work:
Map Reduce Local Work
@@ -2501,7 +2501,7 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 2
+ Map 1
Map Operator Tree:
TableScan
alias: y
@@ -2521,7 +2521,7 @@ STAGE PLANS:
1 _col0 (type: string)
outputColumnNames: _col1, _col2
input vertices:
- 1 Map 3
+ 1 Map 2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col1 (type: string), _col2 (type: string)
@@ -2531,14 +2531,14 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3, _col4
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col1, _col2
input vertices:
- 0 Map 1
+ 1 Map 3
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col4 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git a/ql/src/test/results/clientpositive/spark/join33.q.out b/ql/src/test/results/clientpositive/spark/join33.q.out
index 400639f..c3298bc 100644
--- a/ql/src/test/results/clientpositive/spark/join33.q.out
+++ b/ql/src/test/results/clientpositive/spark/join33.q.out
@@ -110,7 +110,7 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 2
+ Map 1
Map Operator Tree:
TableScan
alias: x
@@ -126,9 +126,9 @@ STAGE PLANS:
Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- Position of Big Table: 0
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -196,7 +196,7 @@ STAGE PLANS:
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
Local Work:
@@ -255,7 +255,7 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 1
+ Map 2
Map Operator Tree:
TableScan
alias: z
@@ -273,26 +273,26 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col0 (type: string)
- 1 _col1 (type: string)
- outputColumnNames: _col0, _col3
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col2
input vertices:
- 1 Map 2
- Position of Big Table: 0
+ 0 Map 1
+ Position of Big Table: 1
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
keys:
- 0 _col3 (type: string)
+ 0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col3, _col6
+ outputColumnNames: _col0, _col2, _col6
input vertices:
1 Map 3
Position of Big Table: 0
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: string), _col0 (type: string), _col6 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string), _col6 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git a/ql/src/test/results/clientpositive/spark/mapjoin_subquery.q.out b/ql/src/test/results/clientpositive/spark/mapjoin_subquery.q.out
index b348472..c4b61bc 100644
--- a/ql/src/test/results/clientpositive/spark/mapjoin_subquery.q.out
+++ b/ql/src/test/results/clientpositive/spark/mapjoin_subquery.q.out
@@ -28,18 +28,18 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 1
+ Map 2
Map Operator Tree:
TableScan
- alias: z
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ alias: x
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col0 (type: string)
@@ -49,15 +49,15 @@ STAGE PLANS:
Map 3
Map Operator Tree:
TableScan
- alias: x
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ alias: z
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col0 (type: string)
@@ -69,7 +69,7 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 2
+ Map 1
Map Operator Tree:
TableScan
alias: y
@@ -89,7 +89,7 @@ STAGE PLANS:
1 _col0 (type: string)
outputColumnNames: _col1
input vertices:
- 1 Map 3
+ 1 Map 2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col1 (type: string)
@@ -101,12 +101,12 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col4
+ outputColumnNames: _col0, _col2
input vertices:
- 0 Map 1
+ 1 Map 3
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col4 (type: string), _col1 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -278,18 +278,18 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 1
+ Map 2
Map Operator Tree:
TableScan
- alias: z
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ alias: x
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col0 (type: string)
@@ -299,15 +299,15 @@ STAGE PLANS:
Map 3
Map Operator Tree:
TableScan
- alias: x
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ alias: z
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col0 (type: string)
@@ -319,7 +319,7 @@ STAGE PLANS:
Spark
#### A masked pattern was here ####
Vertices:
- Map 2
+ Map 1
Map Operator Tree:
TableScan
alias: y
@@ -339,7 +339,7 @@ STAGE PLANS:
1 _col0 (type: string)
outputColumnNames: _col1
input vertices:
- 1 Map 3
+ 1 Map 2
Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col1 (type: string)
@@ -351,12 +351,12 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col4
+ outputColumnNames: _col0, _col2
input vertices:
- 0 Map 1
+ 1 Map 3
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col4 (type: string), _col1 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git a/ql/src/test/results/clientpositive/spark/mergejoins.q.out b/ql/src/test/results/clientpositive/spark/mergejoins.q.out
index e687240..038e16e 100644
--- a/ql/src/test/results/clientpositive/spark/mergejoins.q.out
+++ b/ql/src/test/results/clientpositive/spark/mergejoins.q.out
@@ -210,6 +210,21 @@ STAGE PLANS:
TableScan
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: string)
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
+ Map 3
+ Map Operator Tree:
+ TableScan
+ alias: a
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -223,7 +238,7 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: string)
- Map 3
+ Map 4
Map Operator Tree:
TableScan
alias: a
@@ -241,27 +256,12 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: string)
- Map 4
- Map Operator Tree:
- TableScan
- alias: a
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: string)
- sort order: +
- Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
Reducer 2
Reduce Operator Tree:
Join Operator
condition map:
- Inner Join 0 to 1
- Left Outer Join1 to 2
+ Right Outer Join0 to 1
+ Inner Join 1 to 2
filter predicates:
0
1 {(UDFToDouble(KEY.reducesinkkey0) < UDFToDouble(10))}
@@ -272,13 +272,17 @@ STAGE PLANS:
2 _col0 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
+ Select Operator
+ expressions: _col4 (type: string), _col5 (type: string), _col2 (type: string), _col3 (type: string), _col0 (type: string), _col1 (type: string)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Stage: Stage-0
Fetch Operator
diff --git a/ql/src/test/results/clientpositive/spark/ppd_join3.q.out b/ql/src/test/results/clientpositive/spark/ppd_join3.q.out
index c78d4cb..d3ed124 100644
--- a/ql/src/test/results/clientpositive/spark/ppd_join3.q.out
+++ b/ql/src/test/results/clientpositive/spark/ppd_join3.q.out
@@ -34,8 +34,8 @@ STAGE PLANS:
Stage: Stage-1
Spark
Edges:
- Reducer 4 <- Map 3 (PARTITION-LEVEL SORT, 2), Map 5 (PARTITION-LEVEL SORT, 2)
- Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Reducer 4 (PARTITION-LEVEL SORT, 2)
+ Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 4 (PARTITION-LEVEL SORT, 2)
+ Reducer 3 <- Map 5 (PARTITION-LEVEL SORT, 2), Reducer 2 (PARTITION-LEVEL SORT, 2)
#### A masked pattern was here ####
Vertices:
Map 1
@@ -44,7 +44,7 @@ STAGE PLANS:
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((((((key <> '13') and (key <> '1')) and (key <> '11')) and (key > '0')) and (key < '400')) and (key <> '12')) and (key <> '4')) (type: boolean)
+ predicate: ((((((((key <> '11') and (key > '0')) and ((value <> 'val_500') or (key > '1'))) and (key < '400')) and (key <> '12')) and (key <> '4')) and (key <> '13')) and (key <> '1')) (type: boolean)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string)
@@ -55,41 +55,41 @@ STAGE PLANS:
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
- Map 3
+ Map 4
Map Operator Tree:
TableScan
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((((((key <> '11') and (key > '0')) and ((value <> 'val_500') or (key > '1'))) and (key < '400')) and (key <> '12')) and (key <> '4')) and (key <> '13')) and (key <> '1')) (type: boolean)
+ predicate: (((((key <> '12') and (key <> '4')) and (key <> '11')) and (key > '0')) and (key < '400')) (type: boolean)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
Map 5
Map Operator Tree:
TableScan
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((((key <> '12') and (key <> '4')) and (key <> '11')) and (key > '0')) and (key < '400')) (type: boolean)
+ predicate: (((((((key <> '13') and (key <> '1')) and (key <> '11')) and (key > '0')) and (key < '400')) and (key <> '12')) and (key <> '4')) (type: boolean)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
Reducer 2
Reduce Operator Tree:
Join Operator
@@ -98,27 +98,6 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col3
- Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col1 (type: string), _col3 (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- Reducer 4
- Reduce Operator Tree:
- Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: string)
- 1 _col0 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 60 Data size: 642 Basic stats: COMPLETE Column stats: NONE
Filter Operator
@@ -134,6 +113,27 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 60 Data size: 642 Basic stats: COMPLETE Column stats: NONE
value expressions: _col2 (type: string)
+ Reducer 3
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col2
+ Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col0 (type: string), _col2 (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Stage: Stage-0
Fetch Operator
@@ -1774,8 +1774,8 @@ STAGE PLANS:
Stage: Stage-1
Spark
Edges:
- Reducer 4 <- Map 3 (PARTITION-LEVEL SORT, 2), Map 5 (PARTITION-LEVEL SORT, 2)
- Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Reducer 4 (PARTITION-LEVEL SORT, 2)
+ Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 4 (PARTITION-LEVEL SORT, 2)
+ Reducer 3 <- Map 5 (PARTITION-LEVEL SORT, 2), Reducer 2 (PARTITION-LEVEL SORT, 2)
#### A masked pattern was here ####
Vertices:
Map 1
@@ -1784,7 +1784,7 @@ STAGE PLANS:
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((((((key <> '13') and (key <> '1')) and (key <> '11')) and (key > '0')) and (key < '400')) and (key <> '12')) and (key <> '4')) (type: boolean)
+ predicate: ((((((((key <> '11') and (key > '0')) and ((value <> 'val_500') or (key > '1'))) and (key < '400')) and (key <> '12')) and (key <> '4')) and (key <> '13')) and (key <> '1')) (type: boolean)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string)
@@ -1795,41 +1795,41 @@ STAGE PLANS:
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
- Map 3
+ Map 4
Map Operator Tree:
TableScan
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((((((key <> '11') and (key > '0')) and ((value <> 'val_500') or (key > '1'))) and (key < '400')) and (key <> '12')) and (key <> '4')) and (key <> '13')) and (key <> '1')) (type: boolean)
+ predicate: (((((key <> '12') and (key <> '4')) and (key <> '11')) and (key > '0')) and (key < '400')) (type: boolean)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
Map 5
Map Operator Tree:
TableScan
alias: src
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((((key <> '12') and (key <> '4')) and (key <> '11')) and (key > '0')) and (key < '400')) (type: boolean)
+ predicate: (((((((key <> '13') and (key <> '1')) and (key <> '11')) and (key > '0')) and (key < '400')) and (key <> '12')) and (key <> '4')) (type: boolean)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
Reducer 2
Reduce Operator Tree:
Join Operator
@@ -1838,27 +1838,6 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col3
- Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col1 (type: string), _col3 (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- Reducer 4
- Reduce Operator Tree:
- Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: string)
- 1 _col0 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 60 Data size: 642 Basic stats: COMPLETE Column stats: NONE
Filter Operator
@@ -1874,6 +1853,27 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 60 Data size: 642 Basic stats: COMPLETE Column stats: NONE
value expressions: _col2 (type: string)
+ Reducer 3
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col2
+ Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col0 (type: string), _col2 (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 66 Data size: 706 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Stage: Stage-0
Fetch Operator
diff --git a/ql/src/test/results/clientpositive/spark/ppd_outer_join4.q.out b/ql/src/test/results/clientpositive/spark/ppd_outer_join4.q.out
index 8d08308..dd683a8 100644
--- a/ql/src/test/results/clientpositive/spark/ppd_outer_join4.q.out
+++ b/ql/src/test/results/clientpositive/spark/ppd_outer_join4.q.out
@@ -43,17 +43,18 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((((sqrt(key) <> 13.0) and (key < '25')) and (key > '15')) and (key < '20')) and (key > '10')) (type: boolean)
+ predicate: ((((key > '15') and (key < '25')) and (key > '10')) and (key < '20')) (type: boolean)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
Map 3
Map Operator Tree:
TableScan
@@ -78,18 +79,17 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((key > '15') and (key < '25')) and (key > '10')) and (key < '20')) (type: boolean)
+ predicate: (((((sqrt(key) <> 13.0) and (key < '25')) and (key > '15')) and (key < '20')) and (key > '10')) (type: boolean)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
Reducer 2
Reduce Operator Tree:
Join Operator
@@ -103,7 +103,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 13 Data size: 138 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col0 (type: string)
+ expressions: _col2 (type: string), _col3 (type: string), _col0 (type: string), _col1 (type: string), _col4 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 13 Data size: 138 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -417,17 +417,18 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((((sqrt(key) <> 13.0) and (key < '25')) and (key > '15')) and (key < '20')) and (key > '10')) (type: boolean)
+ predicate: ((((key > '15') and (key < '25')) and (key > '10')) and (key < '20')) (type: boolean)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
Map 3
Map Operator Tree:
TableScan
@@ -452,18 +453,17 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((key > '15') and (key < '25')) and (key > '10')) and (key < '20')) (type: boolean)
+ predicate: (((((sqrt(key) <> 13.0) and (key < '25')) and (key > '15')) and (key < '20')) and (key > '10')) (type: boolean)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 6 Data size: 63 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
Reducer 2
Reduce Operator Tree:
Join Operator
@@ -477,7 +477,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 13 Data size: 138 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col0 (type: string)
+ expressions: _col2 (type: string), _col3 (type: string), _col0 (type: string), _col1 (type: string), _col4 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 13 Data size: 138 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git a/ql/src/test/results/clientpositive/tez/explainuser_2.q.out b/ql/src/test/results/clientpositive/tez/explainuser_2.q.out
index eb7d564..ef1e783 100644
--- a/ql/src/test/results/clientpositive/tez/explainuser_2.q.out
+++ b/ql/src/test/results/clientpositive/tez/explainuser_2.q.out
@@ -198,8 +198,8 @@ Stage-0
Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Merge Join Operator [MERGEJOIN_26]
| condition map:[{"":"Inner Join 0 to 1"}]
- | keys:{"0":"_col3 (type: string)","1":"_col0 (type: string)"}
- | outputColumnNames:["_col0","_col3","_col6"]
+ | keys:{"0":"_col0 (type: string)","1":"_col0 (type: string)"}
+ | outputColumnNames:["_col0","_col2","_col6"]
| Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
|<-Map 5 [SIMPLE_EDGE]
| Reduce Output Operator [RS_13]
@@ -219,47 +219,47 @@ Stage-0
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
|<-Reducer 2 [SIMPLE_EDGE]
Reduce Output Operator [RS_12]
- key expressions:_col3 (type: string)
- Map-reduce partition columns:_col3 (type: string)
+ key expressions:_col0 (type: string)
+ Map-reduce partition columns:_col0 (type: string)
sort order:+
Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- value expressions:_col0 (type: string)
+ value expressions:_col2 (type: string)
Merge Join Operator [MERGEJOIN_25]
| condition map:[{"":"Inner Join 0 to 1"}]
- | keys:{"0":"_col0 (type: string)","1":"_col1 (type: string)"}
- | outputColumnNames:["_col0","_col3"]
+ | keys:{"0":"_col1 (type: string)","1":"_col0 (type: string)"}
+ | outputColumnNames:["_col0","_col2"]
| Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
|<-Map 1 [SIMPLE_EDGE]
| Reduce Output Operator [RS_9]
- | key expressions:_col0 (type: string)
- | Map-reduce partition columns:_col0 (type: string)
+ | key expressions:_col1 (type: string)
+ | Map-reduce partition columns:_col1 (type: string)
| sort order:+
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | value expressions:_col0 (type: string)
| Select Operator [SEL_2]
- | outputColumnNames:["_col0"]
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
| Filter Operator [FIL_22]
- | predicate:value is not null (type: boolean)
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | predicate:(key is not null and value is not null) (type: boolean)
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
| TableScan [TS_0]
- | alias:z
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | alias:x
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
|<-Map 4 [SIMPLE_EDGE]
Reduce Output Operator [RS_10]
- key expressions:_col1 (type: string)
- Map-reduce partition columns:_col1 (type: string)
+ key expressions:_col0 (type: string)
+ Map-reduce partition columns:_col0 (type: string)
sort order:+
- Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- value expressions:_col0 (type: string)
+ Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator [SEL_5]
- outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames:["_col0"]
+ Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator [FIL_23]
- predicate:(key is not null and value is not null) (type: boolean)
- Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ predicate:value is not null (type: boolean)
+ Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
TableScan [TS_3]
- alias:x
- Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ alias:z
+ Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
PREHOOK: query: EXPLAIN
select
@@ -320,263 +320,260 @@ POSTHOOK: type: QUERY
Plan optimized by CBO.
Vertex dependency in root stage
-Reducer 10 <- Map 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
-Reducer 16 <- Map 15 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 11 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
-Reducer 8 <- Map 12 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 9 <- Map 13 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
+Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 11 (SIMPLE_EDGE)
+Reducer 3 <- Map 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 13 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 14 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Map 15 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
+Reducer 7 <- Map 16 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE)
+Reducer 8 <- Map 17 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:100
Stage-1
- Reducer 5
- File Output Operator [FS_55]
+ Reducer 10
+ File Output Operator [FS_53]
compressed:false
Statistics:Num rows: 100 Data size: 1000 Basic stats: COMPLETE Column stats: NONE
table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
- Limit [LIM_54]
+ Limit [LIM_52]
Number of rows:100
Statistics:Num rows: 100 Data size: 1000 Basic stats: COMPLETE Column stats: NONE
- Select Operator [SEL_53]
+ Select Operator [SEL_51]
| outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
- | Statistics:Num rows: 805 Data size: 8553 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 4 [SIMPLE_EDGE]
- Reduce Output Operator [RS_52]
+ | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 9 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_50]
key expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string)
sort order:+++
- Statistics:Num rows: 805 Data size: 8553 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
value expressions:_col3 (type: bigint), _col4 (type: bigint), _col5 (type: bigint)
- Select Operator [SEL_51]
+ Select Operator [SEL_49]
outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
- Statistics:Num rows: 805 Data size: 8553 Basic stats: COMPLETE Column stats: NONE
- Group By Operator [GBY_50]
+ Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator [GBY_48]
| aggregations:["count(VALUE._col0)","count(VALUE._col1)","count(VALUE._col2)"]
| keys:KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: string)
| outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
- | Statistics:Num rows: 805 Data size: 8553 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 3 [SIMPLE_EDGE]
- Reduce Output Operator [RS_49]
+ | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 8 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_47]
key expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string)
Map-reduce partition columns:_col0 (type: string), _col1 (type: string), _col2 (type: string)
sort order:+++
- Statistics:Num rows: 1610 Data size: 17107 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
value expressions:_col3 (type: bigint), _col4 (type: bigint), _col5 (type: bigint)
- Group By Operator [GBY_48]
- aggregations:["count(_col13)","count(_col21)","count(_col3)"]
- keys:_col2 (type: string), _col12 (type: string), _col20 (type: string)
+ Group By Operator [GBY_46]
+ aggregations:["count(_col1)","count(_col9)","count(_col17)"]
+ keys:_col16 (type: string), _col0 (type: string), _col8 (type: string)
outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
- Statistics:Num rows: 1610 Data size: 17107 Basic stats: COMPLETE Column stats: NONE
- Select Operator [SEL_47]
- outputColumnNames:["_col2","_col12","_col20","_col13","_col21","_col3"]
- Statistics:Num rows: 1610 Data size: 17107 Basic stats: COMPLETE Column stats: NONE
- Merge Join Operator [MERGEJOIN_97]
+ Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Select Operator [SEL_45]
+ outputColumnNames:["_col16","_col0","_col8","_col1","_col9","_col17"]
+ Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Merge Join Operator [MERGEJOIN_103]
| condition map:[{"":"Inner Join 0 to 1"}]
- | keys:{"0":"_col1 (type: string), _col3 (type: string)","1":"_col15 (type: string), _col17 (type: string)"}
- | outputColumnNames:["_col2","_col3","_col12","_col13","_col20","_col21"]
- | Statistics:Num rows: 1610 Data size: 17107 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 11 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_45]
- | key expressions:_col15 (type: string), _col17 (type: string)
- | Map-reduce partition columns:_col15 (type: string), _col17 (type: string)
- | sort order:++
- | Statistics:Num rows: 1464 Data size: 15552 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col6 (type: string), _col7 (type: string), _col14 (type: string)
- | Select Operator [SEL_40]
- | outputColumnNames:["_col14","_col15","_col17","_col6","_col7"]
- | Statistics:Num rows: 1464 Data size: 15552 Basic stats: COMPLETE Column stats: NONE
- | Merge Join Operator [MERGEJOIN_96]
- | | condition map:[{"":"Inner Join 0 to 1"}]
- | | keys:{"0":"_col4 (type: string), _col6 (type: string)","1":"_col2 (type: string), _col4 (type: string)"}
- | | outputColumnNames:["_col2","_col3","_col14","_col15","_col17"]
- | | Statistics:Num rows: 1464 Data size: 15552 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 10 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_37]
- | | key expressions:_col4 (type: string), _col6 (type: string)
- | | Map-reduce partition columns:_col4 (type: string), _col6 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 1331 Data size: 14139 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col2 (type: string), _col3 (type: string)
- | | Merge Join Operator [MERGEJOIN_94]
- | | | condition map:[{"":"Inner Join 0 to 1"}]
- | | | keys:{"0":"_col3 (type: string)","1":"_col1 (type: string)"}
- | | | outputColumnNames:["_col2","_col3","_col4","_col6"]
- | | | Statistics:Num rows: 1331 Data size: 14139 Basic stats: COMPLETE Column stats: NONE
- | | |<-Map 14 [SIMPLE_EDGE]
- | | | Reduce Output Operator [RS_35]
- | | | key expressions:_col1 (type: string)
- | | | Map-reduce partition columns:_col1 (type: string)
- | | | sort order:+
- | | | Statistics:Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
- | | | Select Operator [SEL_17]
- | | | outputColumnNames:["_col1"]
- | | | Statistics:Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
- | | | Filter Operator [FIL_88]
- | | | predicate:((key = 'src1key') and value is not null) (type: boolean)
- | | | Statistics:Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
- | | | TableScan [TS_15]
- | | | alias:src1
- | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | |<-Reducer 9 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_34]
- | | key expressions:_col3 (type: string)
- | | Map-reduce partition columns:_col3 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col2 (type: string), _col4 (type: string), _col6 (type: string)
- | | Merge Join Operator [MERGEJOIN_93]
- | | | condition map:[{"":"Inner Join 0 to 1"}]
- | | | keys:{"0":"_col2 (type: string)","1":"_col0 (type: string)"}
- | | | outputColumnNames:["_col2","_col3","_col4","_col6"]
- | | | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
- | | |<-Map 13 [SIMPLE_EDGE]
- | | | Reduce Output Operator [RS_32]
- | | | key expressions:_col0 (type: string)
- | | | Map-reduce partition columns:_col0 (type: string)
- | | | sort order:+
- | | | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | | | Select Operator [SEL_14]
- | | | outputColumnNames:["_col0"]
- | | | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | | | Filter Operator [FIL_87]
- | | | predicate:((value = 'd1value') and key is not null) (type: boolean)
- | | | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | | | TableScan [TS_12]
- | | | alias:d1
- | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | |<-Reducer 8 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_31]
- | | key expressions:_col2 (type: string)
- | | Map-reduce partition columns:_col2 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col3 (type: string), _col4 (type: string), _col6 (type: string)
- | | Merge Join Operator [MERGEJOIN_92]
- | | | condition map:[{"":"Inner Join 0 to 1"}]
- | | | keys:{"0":"_col1 (type: string)","1":"_col3 (type: string)"}
- | | | outputColumnNames:["_col2","_col3","_col4","_col6"]
- | | | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
- | | |<-Map 12 [SIMPLE_EDGE]
- | | | Reduce Output Operator [RS_29]
- | | | key expressions:_col3 (type: string)
- | | | Map-reduce partition columns:_col3 (type: string)
- | | | sort order:+
- | | | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
- | | | value expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string), _col4 (type: string)
- | | | Select Operator [SEL_11]
- | | | outputColumnNames:["_col0","_col1","_col2","_col3","_col4"]
- | | | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
- | | | Filter Operator [FIL_86]
- | | | predicate:(((((k3 is not null and (v3 = 'ssv3')) and k2 is not null) and k1 is not null) and v1 is not null) and v2 is not null) (type: boolean)
- | | | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
- | | | TableScan [TS_9]
- | | | alias:ss
- | | | Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
- | | |<-Map 7 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_28]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_8]
- | | outputColumnNames:["_col1"]
- | | Statistics:Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_85]
- | | predicate:((key = 'srcpartkey') and value is not null) (type: boolean)
- | | Statistics:Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_6]
- | | alias:srcpart
- | | Statistics:Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 16 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_38]
- | key expressions:_col2 (type: string), _col4 (type: string)
- | Map-reduce partition columns:_col2 (type: string), _col4 (type: string)
- | sort order:++
- | Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col3 (type: string), _col5 (type: string)
- | Merge Join Operator [MERGEJOIN_95]
- | | condition map:[{"":"Inner Join 0 to 1"}]
- | | keys:{"0":"_col0 (type: string)","1":"_col0 (type: string)"}
- | | outputColumnNames:["_col2","_col3","_col4","_col5"]
- | | Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 15 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_24]
- | | key expressions:_col0 (type: string)
- | | Map-reduce partition columns:_col0 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string)
- | | Select Operator [SEL_20]
- | | outputColumnNames:["_col0","_col2","_col3","_col4","_col5"]
- | | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_89]
- | | predicate:((((((v1 = 'srv1') and k3 is not null) and k2 is not null) and v3 is not null) and v2 is not null) and k1 is not null) (type: boolean)
- | | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_18]
- | | alias:sr
- | | Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 17 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_25]
- | key expressions:_col0 (type: string)
- | Map-reduce partition columns:_col0 (type: string)
- | sort order:+
- | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_23]
- | outputColumnNames:["_col0"]
- | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_90]
- | predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
- | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_21]
- | alias:d1
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 2 [SIMPLE_EDGE]
- Reduce Output Operator [RS_44]
- key expressions:_col1 (type: string), _col3 (type: string)
- Map-reduce partition columns:_col1 (type: string), _col3 (type: string)
- sort order:++
- Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
- value expressions:_col2 (type: string)
- Merge Join Operator [MERGEJOIN_91]
+ | keys:{"0":"_col3 (type: string)","1":"_col1 (type: string)"}
+ | outputColumnNames:["_col0","_col1","_col8","_col9","_col16","_col17"]
+ | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 17 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_43]
+ | key expressions:_col1 (type: string)
+ | Map-reduce partition columns:_col1 (type: string)
+ | sort order:+
+ | Statistics:Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_23]
+ | outputColumnNames:["_col1"]
+ | Statistics:Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_96]
+ | predicate:((key = 'srcpartkey') and value is not null) (type: boolean)
+ | Statistics:Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_21]
+ | alias:srcpart
+ | Statistics:Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 7 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_42]
+ key expressions:_col3 (type: string)
+ Map-reduce partition columns:_col3 (type: string)
+ sort order:+
+ Statistics:Num rows: 332 Data size: 3534 Basic stats: COMPLETE Column stats: NONE
+ value expressions:_col0 (type: string), _col1 (type: string), _col8 (type: string), _col9 (type: string), _col16 (type: string), _col17 (type: string)
+ Merge Join Operator [MERGEJOIN_102]
| condition map:[{"":"Inner Join 0 to 1"}]
- | keys:{"0":"_col0 (type: string)","1":"_col0 (type: string)"}
- | outputColumnNames:["_col1","_col2","_col3"]
- | Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
- |<-Map 1 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_41]
+ | keys:{"0":"_col14 (type: string)","1":"_col0 (type: string)"}
+ | outputColumnNames:["_col0","_col1","_col3","_col8","_col9","_col16","_col17"]
+ | Statistics:Num rows: 332 Data size: 3534 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 16 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_40]
| key expressions:_col0 (type: string)
| Map-reduce partition columns:_col0 (type: string)
| sort order:+
- | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col1 (type: string), _col2 (type: string), _col3 (type: string)
- | Select Operator [SEL_2]
- | outputColumnNames:["_col0","_col1","_col2","_col3"]
- | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_83]
- | predicate:((v3 is not null and v2 is not null) and k1 is not null) (type: boolean)
- | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_0]
- | alias:cs
- | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
- |<-Map 6 [SIMPLE_EDGE]
- Reduce Output Operator [RS_42]
- key expressions:_col0 (type: string)
- Map-reduce partition columns:_col0 (type: string)
+ | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_20]
+ | outputColumnNames:["_col0"]
+ | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_95]
+ | predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
+ | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_18]
+ | alias:d1
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 6 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_39]
+ key expressions:_col14 (type: string)
+ Map-reduce partition columns:_col14 (type: string)
sort order:+
- Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- Select Operator [SEL_5]
- outputColumnNames:["_col0"]
- Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- Filter Operator [FIL_84]
- predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
- Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- TableScan [TS_3]
- alias:d1
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+ value expressions:_col0 (type: string), _col1 (type: string), _col3 (type: string), _col8 (type: string), _col9 (type: string), _col16 (type: string), _col17 (type: string)
+ Merge Join Operator [MERGEJOIN_101]
+ | condition map:[{"":"Inner Join 0 to 1"}]
+ | keys:{"0":"_col6 (type: string)","1":"_col0 (type: string)"}
+ | outputColumnNames:["_col0","_col1","_col3","_col8","_col9","_col14","_col16","_col17"]
+ | Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 15 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_37]
+ | key expressions:_col0 (type: string)
+ | Map-reduce partition columns:_col0 (type: string)
+ | sort order:+
+ | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_17]
+ | outputColumnNames:["_col0"]
+ | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_94]
+ | predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
+ | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_15]
+ | alias:d1
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 5 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_36]
+ key expressions:_col6 (type: string)
+ Map-reduce partition columns:_col6 (type: string)
+ sort order:+
+ Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+ value expressions:_col0 (type: string), _col1 (type: string), _col3 (type: string), _col8 (type: string), _col9 (type: string), _col14 (type: string), _col16 (type: string), _col17 (type: string)
+ Merge Join Operator [MERGEJOIN_100]
+ | condition map:[{"":"Inner Join 0 to 1"}]
+ | keys:{"0":"_col0 (type: string)","1":"_col0 (type: string)"}
+ | outputColumnNames:["_col0","_col1","_col3","_col6","_col8","_col9","_col14","_col16","_col17"]
+ | Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 14 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_34]
+ | key expressions:_col0 (type: string)
+ | Map-reduce partition columns:_col0 (type: string)
+ | sort order:+
+ | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_14]
+ | outputColumnNames:["_col0"]
+ | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_93]
+ | predicate:((value = 'd1value') and key is not null) (type: boolean)
+ | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_12]
+ | alias:d1
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 4 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_33]
+ key expressions:_col0 (type: string)
+ Map-reduce partition columns:_col0 (type: string)
+ sort order:+
+ Statistics:Num rows: 187 Data size: 6479 Basic stats: COMPLETE Column stats: NONE
+ value expressions:_col1 (type: string), _col3 (type: string), _col6 (type: string), _col8 (type: string), _col9 (type: string), _col14 (type: string), _col16 (type: string), _col17 (type: string)
+ Merge Join Operator [MERGEJOIN_99]
+ | condition map:[{"":"Inner Join 0 to 1"}]
+ | keys:{"0":"_col9 (type: string), _col11 (type: string)","1":"_col1 (type: string), _col3 (type: string)"}
+ | outputColumnNames:["_col0","_col1","_col3","_col6","_col8","_col9","_col14","_col16","_col17"]
+ | Statistics:Num rows: 187 Data size: 6479 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 13 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_31]
+ | key expressions:_col1 (type: string), _col3 (type: string)
+ | Map-reduce partition columns:_col1 (type: string), _col3 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
+ | value expressions:_col0 (type: string), _col2 (type: string)
+ | Select Operator [SEL_11]
+ | outputColumnNames:["_col0","_col1","_col2","_col3"]
+ | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_92]
+ | predicate:((v3 is not null and v2 is not null) and k1 is not null) (type: boolean)
+ | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_9]
+ | alias:cs
+ | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 3 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_30]
+ key expressions:_col9 (type: string), _col11 (type: string)
+ Map-reduce partition columns:_col9 (type: string), _col11 (type: string)
+ sort order:++
+ Statistics:Num rows: 50 Data size: 1760 Basic stats: COMPLETE Column stats: NONE
+ value expressions:_col0 (type: string), _col1 (type: string), _col3 (type: string), _col6 (type: string), _col8 (type: string)
+ Merge Join Operator [MERGEJOIN_98]
+ | condition map:[{"":"Inner Join 0 to 1"}]
+ | keys:{"0":"_col1 (type: string)","1":"_col1 (type: string)"}
+ | outputColumnNames:["_col0","_col1","_col3","_col6","_col8","_col9","_col11"]
+ | Statistics:Num rows: 50 Data size: 1760 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 12 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_28]
+ | key expressions:_col1 (type: string)
+ | Map-reduce partition columns:_col1 (type: string)
+ | sort order:+
+ | Statistics:Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_8]
+ | outputColumnNames:["_col1"]
+ | Statistics:Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_91]
+ | predicate:((key = 'src1key') and value is not null) (type: boolean)
+ | Statistics:Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_6]
+ | alias:src1
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 2 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_27]
+ key expressions:_col1 (type: string)
+ Map-reduce partition columns:_col1 (type: string)
+ sort order:+
+ Statistics:Num rows: 46 Data size: 1600 Basic stats: COMPLETE Column stats: NONE
+ value expressions:_col0 (type: string), _col3 (type: string), _col6 (type: string), _col8 (type: string), _col9 (type: string), _col11 (type: string)
+ Merge Join Operator [MERGEJOIN_97]
+ | condition map:[{"":"Inner Join 0 to 1"}]
+ | keys:{"0":"_col2 (type: string), _col4 (type: string)","1":"_col2 (type: string), _col4 (type: string)"}
+ | outputColumnNames:["_col0","_col1","_col3","_col6","_col8","_col9","_col11"]
+ | Statistics:Num rows: 46 Data size: 1600 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 1 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_24]
+ | key expressions:_col2 (type: string), _col4 (type: string)
+ | Map-reduce partition columns:_col2 (type: string), _col4 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
+ | value expressions:_col0 (type: string), _col1 (type: string), _col3 (type: string)
+ | Select Operator [SEL_2]
+ | outputColumnNames:["_col0","_col1","_col2","_col3","_col4"]
+ | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_89]
+ | predicate:(((((k3 is not null and (v3 = 'ssv3')) and k2 is not null) and k1 is not null) and v1 is not null) and v2 is not null) (type: boolean)
+ | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_0]
+ | alias:ss
+ | Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 11 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_25]
+ key expressions:_col2 (type: string), _col4 (type: string)
+ Map-reduce partition columns:_col2 (type: string), _col4 (type: string)
+ sort order:++
+ Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
+ value expressions:_col0 (type: string), _col3 (type: string), _col5 (type: string)
+ Select Operator [SEL_5]
+ outputColumnNames:["_col0","_col2","_col3","_col4","_col5"]
+ Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator [FIL_90]
+ predicate:((((((v1 = 'srv1') and k3 is not null) and k2 is not null) and v3 is not null) and v2 is not null) and k1 is not null) (type: boolean)
+ Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
+ TableScan [TS_3]
+ alias:sr
+ Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
PREHOOK: query: explain
SELECT x.key, z.value, y.value
@@ -599,258 +596,258 @@ POSTHOOK: type: QUERY
Plan optimized by CBO.
Vertex dependency in root stage
-Map 1 <- Union 2 (CONTAINS)
-Map 11 <- Union 12 (CONTAINS)
-Map 16 <- Union 12 (CONTAINS)
-Map 8 <- Union 2 (CONTAINS)
-Reducer 13 <- Union 12 (SIMPLE_EDGE)
-Reducer 14 <- Map 17 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
-Reducer 15 <- Map 18 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE), Union 6 (CONTAINS)
-Reducer 3 <- Union 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 9 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 10 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE), Union 6 (CONTAINS)
-Reducer 7 <- Union 6 (SIMPLE_EDGE)
+Map 10 <- Union 8 (CONTAINS)
+Map 15 <- Union 16 (CONTAINS)
+Map 18 <- Union 16 (CONTAINS)
+Map 7 <- Union 8 (CONTAINS)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 14 (SIMPLE_EDGE)
+Reducer 13 <- Reducer 12 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Reducer 17 <- Union 16 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Reducer 5 <- Union 4 (SIMPLE_EDGE)
+Reducer 9 <- Union 8 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:-1
Stage-1
- Reducer 7
+ Reducer 5
File Output Operator [FS_59]
compressed:false
- Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
Group By Operator [GBY_57]
| keys:KEY._col0 (type: string), KEY._col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- |<-Union 6 [SIMPLE_EDGE]
- |<-Reducer 15 [CONTAINS]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 4 [SIMPLE_EDGE]
+ |<-Reducer 13 [CONTAINS]
| Reduce Output Operator [RS_56]
| key expressions:_col0 (type: string), _col1 (type: string)
| Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
| sort order:++
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Group By Operator [GBY_55]
| keys:_col0 (type: string), _col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Select Operator [SEL_51]
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | Merge Join Operator [MERGEJOIN_85]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ | Merge Join Operator [MERGEJOIN_83]
| | condition map:[{"":"Inner Join 0 to 1"}]
- | | keys:{"0":"_col2 (type: string)","1":"_col0 (type: string)"}
- | | outputColumnNames:["_col1","_col2"]
- | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 18 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_49]
- | | key expressions:_col0 (type: string)
- | | Map-reduce partition columns:_col0 (type: string)
+ | | keys:{"0":"_col2 (type: string)","1":"_col1 (type: string)"}
+ | | outputColumnNames:["_col1","_col4"]
+ | | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 12 [SIMPLE_EDGE]
+ | | Reduce Output Operator [RS_48]
+ | | key expressions:_col2 (type: string)
+ | | Map-reduce partition columns:_col2 (type: string)
| | sort order:+
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_44]
- | | outputColumnNames:["_col0"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_81]
- | | predicate:key is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_42]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 14 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_48]
- | key expressions:_col2 (type: string)
- | Map-reduce partition columns:_col2 (type: string)
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string)
+ | | Merge Join Operator [MERGEJOIN_81]
+ | | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | | keys:{"0":"_col0 (type: string)","1":"_col0 (type: string)"}
+ | | | outputColumnNames:["_col1","_col2"]
+ | | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 11 [SIMPLE_EDGE]
+ | | | Reduce Output Operator [RS_45]
+ | | | key expressions:_col0 (type: string)
+ | | | Map-reduce partition columns:_col0 (type: string)
+ | | | sort order:+
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | Select Operator [SEL_28]
+ | | | outputColumnNames:["_col0"]
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | Filter Operator [FIL_76]
+ | | | predicate:key is not null (type: boolean)
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | TableScan [TS_26]
+ | | | alias:y
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 14 [SIMPLE_EDGE]
+ | | Reduce Output Operator [RS_46]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string)
+ | | Select Operator [SEL_31]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_77]
+ | | predicate:(key is not null and value is not null) (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_29]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 17 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_49]
+ | key expressions:_col1 (type: string)
+ | Map-reduce partition columns:_col1 (type: string)
| sort order:+
- | Statistics:Num rows: 288 Data size: 3020 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col1 (type: string)
- | Merge Join Operator [MERGEJOIN_84]
- | | condition map:[{"":"Inner Join 0 to 1"}]
- | | keys:{"0":"_col1 (type: string)","1":"_col1 (type: string)"}
- | | outputColumnNames:["_col1","_col2"]
- | | Statistics:Num rows: 288 Data size: 3020 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 17 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_46]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string)
- | | Select Operator [SEL_41]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_80]
- | | predicate:(key is not null and value is not null) (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_39]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 13 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_45]
- | key expressions:_col1 (type: string)
- | Map-reduce partition columns:_col1 (type: string)
- | sort order:+
- | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_38]
- | outputColumnNames:["_col1"]
- | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_37]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 12 [SIMPLE_EDGE]
- | |<-Map 11 [CONTAINS]
- | | Reduce Output Operator [RS_36]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_35]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_28]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_78]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_26]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 16 [CONTAINS]
- | Reduce Output Operator [RS_36]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_35]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_31]
- | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_44]
+ | outputColumnNames:["_col1"]
+ | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_43]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 16 [SIMPLE_EDGE]
+ | |<-Map 15 [CONTAINS]
+ | | Reduce Output Operator [RS_42]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_41]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_34]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_78]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_32]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 18 [CONTAINS]
+ | Reduce Output Operator [RS_42]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_41]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_37]
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_79]
+ | predicate:value is not null (type: boolean)
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_35]
+ | alias:y
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_79]
- | predicate:value is not null (type: boolean)
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_29]
- | alias:y
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 5 [CONTAINS]
+ |<-Reducer 3 [CONTAINS]
Reduce Output Operator [RS_56]
key expressions:_col0 (type: string), _col1 (type: string)
Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
sort order:++
- Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Group By Operator [GBY_55]
keys:_col0 (type: string), _col1 (type: string)
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Select Operator [SEL_25]
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- Merge Join Operator [MERGEJOIN_83]
+ Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ Merge Join Operator [MERGEJOIN_82]
| condition map:[{"":"Inner Join 0 to 1"}]
- | keys:{"0":"_col2 (type: string)","1":"_col0 (type: string)"}
- | outputColumnNames:["_col1","_col2"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- |<-Map 10 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_23]
- | key expressions:_col0 (type: string)
- | Map-reduce partition columns:_col0 (type: string)
+ | keys:{"0":"_col2 (type: string)","1":"_col1 (type: string)"}
+ | outputColumnNames:["_col1","_col4"]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 2 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_22]
+ | key expressions:_col2 (type: string)
+ | Map-reduce partition columns:_col2 (type: string)
| sort order:+
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_18]
- | outputColumnNames:["_col0"]
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_77]
- | predicate:key is not null (type: boolean)
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_16]
- | alias:y
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 4 [SIMPLE_EDGE]
- Reduce Output Operator [RS_22]
- key expressions:_col2 (type: string)
- Map-reduce partition columns:_col2 (type: string)
+ | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | value expressions:_col1 (type: string)
+ | Merge Join Operator [MERGEJOIN_80]
+ | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | keys:{"0":"_col0 (type: string)","1":"_col0 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 1 [SIMPLE_EDGE]
+ | | Reduce Output Operator [RS_19]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_2]
+ | | outputColumnNames:["_col0"]
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_72]
+ | | predicate:key is not null (type: boolean)
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_0]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 6 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_20]
+ | key expressions:_col0 (type: string)
+ | Map-reduce partition columns:_col0 (type: string)
+ | sort order:+
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | value expressions:_col1 (type: string)
+ | Select Operator [SEL_5]
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_73]
+ | predicate:(key is not null and value is not null) (type: boolean)
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_3]
+ | alias:x
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 9 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_23]
+ key expressions:_col1 (type: string)
+ Map-reduce partition columns:_col1 (type: string)
sort order:+
- Statistics:Num rows: 288 Data size: 3020 Basic stats: COMPLETE Column stats: NONE
- value expressions:_col1 (type: string)
- Merge Join Operator [MERGEJOIN_82]
- | condition map:[{"":"Inner Join 0 to 1"}]
- | keys:{"0":"_col1 (type: string)","1":"_col1 (type: string)"}
- | outputColumnNames:["_col1","_col2"]
- | Statistics:Num rows: 288 Data size: 3020 Basic stats: COMPLETE Column stats: NONE
- |<-Map 9 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_20]
- | key expressions:_col1 (type: string)
- | Map-reduce partition columns:_col1 (type: string)
- | sort order:+
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col0 (type: string)
- | Select Operator [SEL_15]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_76]
- | predicate:(key is not null and value is not null) (type: boolean)
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_13]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 3 [SIMPLE_EDGE]
- Reduce Output Operator [RS_19]
- key expressions:_col1 (type: string)
- Map-reduce partition columns:_col1 (type: string)
- sort order:+
- Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- Select Operator [SEL_12]
- outputColumnNames:["_col1"]
- Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- Group By Operator [GBY_11]
- | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- |<-Union 2 [SIMPLE_EDGE]
- |<-Map 1 [CONTAINS]
- | Reduce Output Operator [RS_10]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_9]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_2]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_74]
- | predicate:value is not null (type: boolean)
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_0]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Map 8 [CONTAINS]
- Reduce Output Operator [RS_10]
- key expressions:_col0 (type: string), _col1 (type: string)
- Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- sort order:++
- Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- Group By Operator [GBY_9]
- keys:_col0 (type: string), _col1 (type: string)
- outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- Select Operator [SEL_5]
- outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Filter Operator [FIL_75]
- predicate:value is not null (type: boolean)
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- TableScan [TS_3]
- alias:y
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ Select Operator [SEL_18]
+ outputColumnNames:["_col1"]
+ Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator [GBY_17]
+ | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 8 [SIMPLE_EDGE]
+ |<-Map 10 [CONTAINS]
+ | Reduce Output Operator [RS_16]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_15]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_11]
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_75]
+ | predicate:value is not null (type: boolean)
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_9]
+ | alias:y
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 7 [CONTAINS]
+ Reduce Output Operator [RS_16]
+ key expressions:_col0 (type: string), _col1 (type: string)
+ Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ sort order:++
+ Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator [GBY_15]
+ keys:_col0 (type: string), _col1 (type: string)
+ outputColumnNames:["_col0","_col1"]
+ Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ Select Operator [SEL_8]
+ outputColumnNames:["_col0","_col1"]
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator [FIL_74]
+ predicate:value is not null (type: boolean)
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ TableScan [TS_6]
+ alias:x
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
PREHOOK: query: explain
SELECT x.key, y.value
@@ -881,500 +878,503 @@ POSTHOOK: type: QUERY
Plan optimized by CBO.
Vertex dependency in root stage
-Map 1 <- Union 2 (CONTAINS)
-Map 10 <- Union 2 (CONTAINS)
-Map 13 <- Union 14 (CONTAINS)
-Map 20 <- Union 14 (CONTAINS)
-Map 21 <- Union 16 (CONTAINS)
-Map 24 <- Union 25 (CONTAINS)
-Map 33 <- Union 25 (CONTAINS)
-Map 34 <- Union 27 (CONTAINS)
+Map 12 <- Union 10 (CONTAINS)
+Map 17 <- Union 18 (CONTAINS)
+Map 22 <- Union 18 (CONTAINS)
+Map 23 <- Union 20 (CONTAINS)
+Map 28 <- Union 29 (CONTAINS)
Map 35 <- Union 29 (CONTAINS)
-Reducer 15 <- Union 14 (SIMPLE_EDGE), Union 16 (CONTAINS)
-Reducer 17 <- Union 16 (SIMPLE_EDGE)
-Reducer 18 <- Map 22 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE)
-Reducer 19 <- Map 23 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE), Union 6 (CONTAINS)
-Reducer 26 <- Union 25 (SIMPLE_EDGE), Union 27 (CONTAINS)
-Reducer 28 <- Union 27 (SIMPLE_EDGE), Union 29 (CONTAINS)
-Reducer 3 <- Union 2 (SIMPLE_EDGE)
-Reducer 30 <- Union 29 (SIMPLE_EDGE)
-Reducer 31 <- Map 36 (SIMPLE_EDGE), Reducer 30 (SIMPLE_EDGE)
-Reducer 32 <- Map 37 (SIMPLE_EDGE), Reducer 31 (SIMPLE_EDGE), Union 8 (CONTAINS)
-Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 12 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE), Union 6 (CONTAINS)
-Reducer 7 <- Union 6 (SIMPLE_EDGE), Union 8 (CONTAINS)
-Reducer 9 <- Union 8 (SIMPLE_EDGE)
+Map 36 <- Union 31 (CONTAINS)
+Map 37 <- Union 33 (CONTAINS)
+Map 9 <- Union 10 (CONTAINS)
+Reducer 11 <- Union 10 (SIMPLE_EDGE)
+Reducer 14 <- Map 13 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE)
+Reducer 15 <- Reducer 14 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Reducer 19 <- Union 18 (SIMPLE_EDGE), Union 20 (CONTAINS)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 21 <- Union 20 (SIMPLE_EDGE)
+Reducer 25 <- Map 24 (SIMPLE_EDGE), Map 27 (SIMPLE_EDGE)
+Reducer 26 <- Reducer 25 (SIMPLE_EDGE), Reducer 34 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 3 <- Reducer 11 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Reducer 30 <- Union 29 (SIMPLE_EDGE), Union 31 (CONTAINS)
+Reducer 32 <- Union 31 (SIMPLE_EDGE), Union 33 (CONTAINS)
+Reducer 34 <- Union 33 (SIMPLE_EDGE)
+Reducer 5 <- Union 4 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 7 <- Union 6 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:-1
Stage-1
- Reducer 9
+ Reducer 7
File Output Operator [FS_122]
compressed:false
- Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
Group By Operator [GBY_120]
| keys:KEY._col0 (type: string), KEY._col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- |<-Union 8 [SIMPLE_EDGE]
- |<-Reducer 32 [CONTAINS]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 6 [SIMPLE_EDGE]
+ |<-Reducer 26 [CONTAINS]
| Reduce Output Operator [RS_119]
| key expressions:_col0 (type: string), _col1 (type: string)
| Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
| sort order:++
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Group By Operator [GBY_118]
| keys:_col0 (type: string), _col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Select Operator [SEL_114]
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | Merge Join Operator [MERGEJOIN_170]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ | Merge Join Operator [MERGEJOIN_164]
| | condition map:[{"":"Inner Join 0 to 1"}]
- | | keys:{"0":"_col2 (type: string)","1":"_col0 (type: string)"}
- | | outputColumnNames:["_col2","_col5"]
- | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 37 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_112]
- | | key expressions:_col0 (type: string)
- | | Map-reduce partition columns:_col0 (type: string)
+ | | keys:{"0":"_col3 (type: string)","1":"_col1 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
+ | | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 25 [SIMPLE_EDGE]
+ | | Reduce Output Operator [RS_111]
+ | | key expressions:_col3 (type: string)
+ | | Map-reduce partition columns:_col3 (type: string)
| | sort order:+
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col1 (type: string)
- | | Select Operator [SEL_107]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_164]
- | | predicate:key is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_105]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 31 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_111]
- | key expressions:_col2 (type: string)
- | Map-reduce partition columns:_col2 (type: string)
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string), _col2 (type: string)
+ | | Merge Join Operator [MERGEJOIN_161]
+ | | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | | keys:{"0":"_col0 (type: string)","1":"_col0 (type: string)"}
+ | | | outputColumnNames:["_col1","_col2","_col3"]
+ | | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 24 [SIMPLE_EDGE]
+ | | | Reduce Output Operator [RS_108]
+ | | | key expressions:_col0 (type: string)
+ | | | Map-reduce partition columns:_col0 (type: string)
+ | | | sort order:+
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | value expressions:_col1 (type: string)
+ | | | Select Operator [SEL_71]
+ | | | outputColumnNames:["_col0","_col1"]
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | Filter Operator [FIL_153]
+ | | | predicate:key is not null (type: boolean)
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | TableScan [TS_69]
+ | | | alias:y
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 27 [SIMPLE_EDGE]
+ | | Reduce Output Operator [RS_109]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string)
+ | | Select Operator [SEL_74]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_154]
+ | | predicate:(key is not null and value is not null) (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_72]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 34 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_112]
+ | key expressions:_col1 (type: string)
+ | Map-reduce partition columns:_col1 (type: string)
| sort order:+
- | Statistics:Num rows: 484 Data size: 5131 Basic stats: COMPLETE Column stats: NONE
- | Merge Join Operator [MERGEJOIN_169]
- | | condition map:[{"":"Inner Join 0 to 1"}]
- | | keys:{"0":"_col1 (type: string)","1":"_col1 (type: string)"}
- | | outputColumnNames:["_col2"]
- | | Statistics:Num rows: 484 Data size: 5131 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 36 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_109]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string)
- | | Select Operator [SEL_104]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_163]
- | | predicate:(key is not null and value is not null) (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_102]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 30 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_108]
- | key expressions:_col1 (type: string)
- | Map-reduce partition columns:_col1 (type: string)
- | sort order:+
- | Statistics:Num rows: 440 Data size: 4665 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_101]
- | outputColumnNames:["_col1"]
- | Statistics:Num rows: 440 Data size: 4665 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_100]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 440 Data size: 4665 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 29 [SIMPLE_EDGE]
- | |<-Map 35 [CONTAINS]
- | | Reduce Output Operator [RS_99]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_98]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_94]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_162]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_92]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 28 [CONTAINS]
- | Reduce Output Operator [RS_99]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_98]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_90]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 27 [SIMPLE_EDGE]
- | |<-Map 34 [CONTAINS]
- | | Reduce Output Operator [RS_89]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_88]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_84]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_161]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_82]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 26 [CONTAINS]
- | Reduce Output Operator [RS_89]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_88]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_80]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 25 [SIMPLE_EDGE]
- | |<-Map 24 [CONTAINS]
- | | Reduce Output Operator [RS_79]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_78]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_71]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_159]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_69]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 33 [CONTAINS]
- | Reduce Output Operator [RS_79]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_78]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_74]
- | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 440 Data size: 4665 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_107]
+ | outputColumnNames:["_col1"]
+ | Statistics:Num rows: 440 Data size: 4665 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_106]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 440 Data size: 4665 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 33 [SIMPLE_EDGE]
+ | |<-Map 37 [CONTAINS]
+ | | Reduce Output Operator [RS_105]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_104]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_100]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_158]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_98]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 32 [CONTAINS]
+ | Reduce Output Operator [RS_105]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_104]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_96]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 31 [SIMPLE_EDGE]
+ | |<-Map 36 [CONTAINS]
+ | | Reduce Output Operator [RS_95]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_94]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_90]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_157]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_88]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 30 [CONTAINS]
+ | Reduce Output Operator [RS_95]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_94]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_86]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 29 [SIMPLE_EDGE]
+ | |<-Map 28 [CONTAINS]
+ | | Reduce Output Operator [RS_85]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_84]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_77]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_155]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_75]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 35 [CONTAINS]
+ | Reduce Output Operator [RS_85]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_84]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_80]
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_156]
+ | predicate:value is not null (type: boolean)
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_78]
+ | alias:y
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_160]
- | predicate:value is not null (type: boolean)
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_72]
- | alias:y
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 7 [CONTAINS]
+ |<-Reducer 5 [CONTAINS]
Reduce Output Operator [RS_119]
key expressions:_col0 (type: string), _col1 (type: string)
Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
sort order:++
- Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Group By Operator [GBY_118]
keys:_col0 (type: string), _col1 (type: string)
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Group By Operator [GBY_67]
| keys:KEY._col0 (type: string), KEY._col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- |<-Union 6 [SIMPLE_EDGE]
- |<-Reducer 19 [CONTAINS]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 4 [SIMPLE_EDGE]
+ |<-Reducer 15 [CONTAINS]
| Reduce Output Operator [RS_66]
| key expressions:_col0 (type: string), _col1 (type: string)
| Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
| sort order:++
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Group By Operator [GBY_65]
| keys:_col0 (type: string), _col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Select Operator [SEL_61]
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | Merge Join Operator [MERGEJOIN_168]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ | Merge Join Operator [MERGEJOIN_163]
| | condition map:[{"":"Inner Join 0 to 1"}]
- | | keys:{"0":"_col2 (type: string)","1":"_col0 (type: string)"}
- | | outputColumnNames:["_col2","_col5"]
- | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 23 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_59]
- | | key expressions:_col0 (type: string)
- | | Map-reduce partition columns:_col0 (type: string)
+ | | keys:{"0":"_col3 (type: string)","1":"_col1 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
+ | | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 14 [SIMPLE_EDGE]
+ | | Reduce Output Operator [RS_58]
+ | | key expressions:_col3 (type: string)
+ | | Map-reduce partition columns:_col3 (type: string)
| | sort order:+
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col1 (type: string)
- | | Select Operator [SEL_54]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_158]
- | | predicate:key is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_52]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 18 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_58]
- | key expressions:_col2 (type: string)
- | Map-reduce partition columns:_col2 (type: string)
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string), _col2 (type: string)
+ | | Merge Join Operator [MERGEJOIN_160]
+ | | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | | keys:{"0":"_col0 (type: string)","1":"_col0 (type: string)"}
+ | | | outputColumnNames:["_col1","_col2","_col3"]
+ | | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 13 [SIMPLE_EDGE]
+ | | | Reduce Output Operator [RS_55]
+ | | | key expressions:_col0 (type: string)
+ | | | Map-reduce partition columns:_col0 (type: string)
+ | | | sort order:+
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | value expressions:_col1 (type: string)
+ | | | Select Operator [SEL_28]
+ | | | outputColumnNames:["_col0","_col1"]
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | Filter Operator [FIL_148]
+ | | | predicate:key is not null (type: boolean)
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | TableScan [TS_26]
+ | | | alias:y
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 16 [SIMPLE_EDGE]
+ | | Reduce Output Operator [RS_56]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string)
+ | | Select Operator [SEL_31]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_149]
+ | | predicate:(key is not null and value is not null) (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_29]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 21 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_59]
+ | key expressions:_col1 (type: string)
+ | Map-reduce partition columns:_col1 (type: string)
| sort order:+
- | Statistics:Num rows: 419 Data size: 4431 Basic stats: COMPLETE Column stats: NONE
- | Merge Join Operator [MERGEJOIN_167]
- | | condition map:[{"":"Inner Join 0 to 1"}]
- | | keys:{"0":"_col1 (type: string)","1":"_col1 (type: string)"}
- | | outputColumnNames:["_col2"]
- | | Statistics:Num rows: 419 Data size: 4431 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 22 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_56]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string)
- | | Select Operator [SEL_51]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_157]
- | | predicate:(key is not null and value is not null) (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_49]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 17 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_55]
- | key expressions:_col1 (type: string)
- | Map-reduce partition columns:_col1 (type: string)
- | sort order:+
- | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_48]
- | outputColumnNames:["_col1"]
- | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_47]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 16 [SIMPLE_EDGE]
- | |<-Map 21 [CONTAINS]
- | | Reduce Output Operator [RS_46]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_45]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_41]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_156]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_39]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 15 [CONTAINS]
- | Reduce Output Operator [RS_46]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_45]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_37]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 14 [SIMPLE_EDGE]
- | |<-Map 13 [CONTAINS]
- | | Reduce Output Operator [RS_36]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_35]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_28]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_154]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_26]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 20 [CONTAINS]
- | Reduce Output Operator [RS_36]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_35]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_31]
- | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_54]
+ | outputColumnNames:["_col1"]
+ | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_53]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 20 [SIMPLE_EDGE]
+ | |<-Map 23 [CONTAINS]
+ | | Reduce Output Operator [RS_52]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_51]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_47]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_152]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_45]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 19 [CONTAINS]
+ | Reduce Output Operator [RS_52]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_51]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_43]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 18 [SIMPLE_EDGE]
+ | |<-Map 17 [CONTAINS]
+ | | Reduce Output Operator [RS_42]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_41]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_34]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_150]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_32]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 22 [CONTAINS]
+ | Reduce Output Operator [RS_42]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_41]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_37]
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_151]
+ | predicate:value is not null (type: boolean)
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_35]
+ | alias:y
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_155]
- | predicate:value is not null (type: boolean)
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_29]
- | alias:y
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 5 [CONTAINS]
+ |<-Reducer 3 [CONTAINS]
Reduce Output Operator [RS_66]
key expressions:_col0 (type: string), _col1 (type: string)
Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
sort order:++
- Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Group By Operator [GBY_65]
keys:_col0 (type: string), _col1 (type: string)
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Select Operator [SEL_25]
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- Merge Join Operator [MERGEJOIN_166]
+ Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ Merge Join Operator [MERGEJOIN_162]
| condition map:[{"":"Inner Join 0 to 1"}]
- | keys:{"0":"_col2 (type: string)","1":"_col0 (type: string)"}
- | outputColumnNames:["_col2","_col5"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- |<-Map 12 [SIMPLE_EDGE]
+ | keys:{"0":"_col3 (type: string)","1":"_col1 (type: string)"}
+ | outputColumnNames:["_col1","_col2"]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 11 [SIMPLE_EDGE]
| Reduce Output Operator [RS_23]
- | key expressions:_col0 (type: string)
- | Map-reduce partition columns:_col0 (type: string)
+ | key expressions:_col1 (type: string)
+ | Map-reduce partition columns:_col1 (type: string)
| sort order:+
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col1 (type: string)
+ | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
| Select Operator [SEL_18]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_153]
- | predicate:key is not null (type: boolean)
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_16]
- | alias:y
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 4 [SIMPLE_EDGE]
+ | outputColumnNames:["_col1"]
+ | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_17]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 10 [SIMPLE_EDGE]
+ | |<-Map 12 [CONTAINS]
+ | | Reduce Output Operator [RS_16]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_15]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_11]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_147]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_9]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 9 [CONTAINS]
+ | Reduce Output Operator [RS_16]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_15]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_8]
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_146]
+ | predicate:value is not null (type: boolean)
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_6]
+ | alias:x
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 2 [SIMPLE_EDGE]
Reduce Output Operator [RS_22]
- key expressions:_col2 (type: string)
- Map-reduce partition columns:_col2 (type: string)
+ key expressions:_col3 (type: string)
+ Map-reduce partition columns:_col3 (type: string)
sort order:+
- Statistics:Num rows: 288 Data size: 3020 Basic stats: COMPLETE Column stats: NONE
- Merge Join Operator [MERGEJOIN_165]
+ Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ value expressions:_col1 (type: string), _col2 (type: string)
+ Merge Join Operator [MERGEJOIN_159]
| condition map:[{"":"Inner Join 0 to 1"}]
- | keys:{"0":"_col1 (type: string)","1":"_col1 (type: string)"}
- | outputColumnNames:["_col2"]
- | Statistics:Num rows: 288 Data size: 3020 Basic stats: COMPLETE Column stats: NONE
- |<-Map 11 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_20]
- | key expressions:_col1 (type: string)
- | Map-reduce partition columns:_col1 (type: string)
+ | keys:{"0":"_col0 (type: string)","1":"_col0 (type: string)"}
+ | outputColumnNames:["_col1","_col2","_col3"]
+ | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 1 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_19]
+ | key expressions:_col0 (type: string)
+ | Map-reduce partition columns:_col0 (type: string)
| sort order:+
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col0 (type: string)
- | Select Operator [SEL_15]
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | value expressions:_col1 (type: string)
+ | Select Operator [SEL_2]
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_152]
- | predicate:(key is not null and value is not null) (type: boolean)
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_13]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 3 [SIMPLE_EDGE]
- Reduce Output Operator [RS_19]
- key expressions:_col1 (type: string)
- Map-reduce partition columns:_col1 (type: string)
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_144]
+ | predicate:key is not null (type: boolean)
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_0]
+ | alias:y
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 8 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_20]
+ key expressions:_col0 (type: string)
+ Map-reduce partition columns:_col0 (type: string)
sort order:+
- Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- Select Operator [SEL_12]
- outputColumnNames:["_col1"]
- Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- Group By Operator [GBY_11]
- | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- |<-Union 2 [SIMPLE_EDGE]
- |<-Map 1 [CONTAINS]
- | Reduce Output Operator [RS_10]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_9]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_2]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_150]
- | predicate:value is not null (type: boolean)
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_0]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Map 10 [CONTAINS]
- Reduce Output Operator [RS_10]
- key expressions:_col0 (type: string), _col1 (type: string)
- Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- sort order:++
- Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- Group By Operator [GBY_9]
- keys:_col0 (type: string), _col1 (type: string)
- outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- Select Operator [SEL_5]
- outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Filter Operator [FIL_151]
- predicate:value is not null (type: boolean)
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- TableScan [TS_3]
- alias:y
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ value expressions:_col1 (type: string)
+ Select Operator [SEL_5]
+ outputColumnNames:["_col0","_col1"]
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator [FIL_145]
+ predicate:(key is not null and value is not null) (type: boolean)
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ TableScan [TS_3]
+ alias:x
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
PREHOOK: query: EXPLAIN
SELECT x.key, z.value, y.value
@@ -1389,13 +1389,13 @@ POSTHOOK: type: QUERY
Plan optimized by CBO.
Vertex dependency in root stage
-Map 1 <- Map 2 (BROADCAST_EDGE), Map 3 (BROADCAST_EDGE)
+Map 2 <- Map 1 (BROADCAST_EDGE), Map 3 (BROADCAST_EDGE)
Stage-0
Fetch Operator
limit:-1
Stage-1
- Map 1
+ Map 2
File Output Operator [FS_16]
compressed:false
Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
@@ -1406,8 +1406,8 @@ Stage-0
Map Join Operator [MAPJOIN_26]
| condition map:[{"":"Inner Join 0 to 1"}]
| HybridGraceHashJoin:true
- | keys:{"Map 1":"_col3 (type: string)","Map 3":"_col0 (type: string)"}
- | outputColumnNames:["_col0","_col3","_col6"]
+ | keys:{"Map 2":"_col0 (type: string)","Map 3":"_col0 (type: string)"}
+ | outputColumnNames:["_col0","_col2","_col6"]
| Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
|<-Map 3 [BROADCAST_EDGE]
| Reduce Output Operator [RS_13]
@@ -1428,32 +1428,32 @@ Stage-0
|<-Map Join Operator [MAPJOIN_25]
| condition map:[{"":"Inner Join 0 to 1"}]
| HybridGraceHashJoin:true
- | keys:{"Map 1":"_col0 (type: string)","Map 2":"_col1 (type: string)"}
- | outputColumnNames:["_col0","_col3"]
+ | keys:{"Map 1":"_col1 (type: string)","Map 2":"_col0 (type: string)"}
+ | outputColumnNames:["_col0","_col2"]
| Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- |<-Map 2 [BROADCAST_EDGE]
- | Reduce Output Operator [RS_10]
+ |<-Map 1 [BROADCAST_EDGE]
+ | Reduce Output Operator [RS_9]
| key expressions:_col1 (type: string)
| Map-reduce partition columns:_col1 (type: string)
| sort order:+
| Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
| value expressions:_col0 (type: string)
- | Select Operator [SEL_5]
+ | Select Operator [SEL_2]
| outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_23]
+ | Filter Operator [FIL_22]
| predicate:(key is not null and value is not null) (type: boolean)
| Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_3]
+ | TableScan [TS_0]
| alias:x
| Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Select Operator [SEL_2]
+ |<-Select Operator [SEL_5]
outputColumnNames:["_col0"]
Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Filter Operator [FIL_22]
+ Filter Operator [FIL_23]
predicate:value is not null (type: boolean)
Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- TableScan [TS_0]
+ TableScan [TS_3]
alias:z
Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1516,219 +1516,214 @@ POSTHOOK: type: QUERY
Plan optimized by CBO.
Vertex dependency in root stage
-Map 1 <- Map 2 (BROADCAST_EDGE)
-Map 10 <- Map 9 (BROADCAST_EDGE)
-Map 3 <- Map 1 (BROADCAST_EDGE), Map 10 (BROADCAST_EDGE), Map 6 (BROADCAST_EDGE), Map 7 (BROADCAST_EDGE), Map 8 (BROADCAST_EDGE)
-Reducer 4 <- Map 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
+Map 1 <- Map 2 (BROADCAST_EDGE), Map 3 (BROADCAST_EDGE), Map 4 (BROADCAST_EDGE), Map 5 (BROADCAST_EDGE), Map 6 (BROADCAST_EDGE), Map 7 (BROADCAST_EDGE)
+Map 8 <- Map 1 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
+Reducer 9 <- Map 8 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:100
Stage-1
- Reducer 5
- File Output Operator [FS_55]
+ Reducer 10
+ File Output Operator [FS_53]
compressed:false
Statistics:Num rows: 100 Data size: 1000 Basic stats: COMPLETE Column stats: NONE
table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
- Limit [LIM_54]
+ Limit [LIM_52]
Number of rows:100
Statistics:Num rows: 100 Data size: 1000 Basic stats: COMPLETE Column stats: NONE
- Select Operator [SEL_53]
+ Select Operator [SEL_51]
| outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
- | Statistics:Num rows: 805 Data size: 8553 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 4 [SIMPLE_EDGE]
- Reduce Output Operator [RS_52]
+ | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 9 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_50]
key expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string)
sort order:+++
- Statistics:Num rows: 805 Data size: 8553 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
value expressions:_col3 (type: bigint), _col4 (type: bigint), _col5 (type: bigint)
- Select Operator [SEL_51]
+ Select Operator [SEL_49]
outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
- Statistics:Num rows: 805 Data size: 8553 Basic stats: COMPLETE Column stats: NONE
- Group By Operator [GBY_50]
+ Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator [GBY_48]
| aggregations:["count(VALUE._col0)","count(VALUE._col1)","count(VALUE._col2)"]
| keys:KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: string)
| outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
- | Statistics:Num rows: 805 Data size: 8553 Basic stats: COMPLETE Column stats: NONE
- |<-Map 3 [SIMPLE_EDGE]
- Reduce Output Operator [RS_49]
+ | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 8 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_47]
key expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string)
Map-reduce partition columns:_col0 (type: string), _col1 (type: string), _col2 (type: string)
sort order:+++
- Statistics:Num rows: 1610 Data size: 17107 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
value expressions:_col3 (type: bigint), _col4 (type: bigint), _col5 (type: bigint)
- Group By Operator [GBY_48]
- aggregations:["count(_col13)","count(_col21)","count(_col3)"]
- keys:_col2 (type: string), _col12 (type: string), _col20 (type: string)
+ Group By Operator [GBY_46]
+ aggregations:["count(_col1)","count(_col9)","count(_col17)"]
+ keys:_col16 (type: string), _col0 (type: string), _col8 (type: string)
outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
- Statistics:Num rows: 1610 Data size: 17107 Basic stats: COMPLETE Column stats: NONE
- Select Operator [SEL_47]
- outputColumnNames:["_col2","_col12","_col20","_col13","_col21","_col3"]
- Statistics:Num rows: 1610 Data size: 17107 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator [MAPJOIN_97]
+ Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Select Operator [SEL_45]
+ outputColumnNames:["_col16","_col0","_col8","_col1","_col9","_col17"]
+ Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator [MAPJOIN_103]
| condition map:[{"":"Inner Join 0 to 1"}]
| HybridGraceHashJoin:true
- | keys:{"Map 1":"_col1 (type: string), _col3 (type: string)","Map 3":"_col15 (type: string), _col17 (type: string)"}
- | outputColumnNames:["_col2","_col3","_col12","_col13","_col20","_col21"]
- | Statistics:Num rows: 1610 Data size: 17107 Basic stats: COMPLETE Column stats: NONE
+ | keys:{"Map 1":"_col3 (type: string)","Map 8":"_col1 (type: string)"}
+ | outputColumnNames:["_col0","_col1","_col8","_col9","_col16","_col17"]
+ | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
|<-Map 1 [BROADCAST_EDGE]
- | Reduce Output Operator [RS_44]
- | key expressions:_col1 (type: string), _col3 (type: string)
- | Map-reduce partition columns:_col1 (type: string), _col3 (type: string)
- | sort order:++
- | Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col2 (type: string)
- | Map Join Operator [MAPJOIN_91]
+ | Reduce Output Operator [RS_42]
+ | key expressions:_col3 (type: string)
+ | Map-reduce partition columns:_col3 (type: string)
+ | sort order:+
+ | Statistics:Num rows: 332 Data size: 3534 Basic stats: COMPLETE Column stats: NONE
+ | value expressions:_col0 (type: string), _col1 (type: string), _col8 (type: string), _col9 (type: string), _col16 (type: string), _col17 (type: string)
+ | Map Join Operator [MAPJOIN_102]
| | condition map:[{"":"Inner Join 0 to 1"}]
| | HybridGraceHashJoin:true
- | | keys:{"Map 1":"_col0 (type: string)","Map 2":"_col0 (type: string)"}
- | | outputColumnNames:["_col1","_col2","_col3"]
- | | Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 2 [BROADCAST_EDGE]
- | | Reduce Output Operator [RS_42]
+ | | keys:{"Map 1":"_col14 (type: string)","Map 7":"_col0 (type: string)"}
+ | | outputColumnNames:["_col0","_col1","_col3","_col8","_col9","_col16","_col17"]
+ | | Statistics:Num rows: 332 Data size: 3534 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 7 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_40]
| | key expressions:_col0 (type: string)
| | Map-reduce partition columns:_col0 (type: string)
| | sort order:+
| | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_5]
+ | | Select Operator [SEL_20]
| | outputColumnNames:["_col0"]
| | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_84]
+ | | Filter Operator [FIL_95]
| | predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
| | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_3]
+ | | TableScan [TS_18]
| | alias:d1
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Select Operator [SEL_2]
- | outputColumnNames:["_col0","_col1","_col2","_col3"]
- | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_83]
- | predicate:((v3 is not null and v2 is not null) and k1 is not null) (type: boolean)
- | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_0]
- | alias:cs
- | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
- |<-Select Operator [SEL_40]
- outputColumnNames:["_col14","_col15","_col17","_col6","_col7"]
- Statistics:Num rows: 1464 Data size: 15552 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator [MAPJOIN_96]
- | condition map:[{"":"Inner Join 0 to 1"}]
- | HybridGraceHashJoin:true
- | keys:{"Map 3":"_col4 (type: string), _col6 (type: string)","Map 10":"_col2 (type: string), _col4 (type: string)"}
- | outputColumnNames:["_col2","_col3","_col14","_col15","_col17"]
- | Statistics:Num rows: 1464 Data size: 15552 Basic stats: COMPLETE Column stats: NONE
- |<-Map 10 [BROADCAST_EDGE]
- | Reduce Output Operator [RS_38]
- | key expressions:_col2 (type: string), _col4 (type: string)
- | Map-reduce partition columns:_col2 (type: string), _col4 (type: string)
- | sort order:++
- | Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col3 (type: string), _col5 (type: string)
- | Map Join Operator [MAPJOIN_95]
- | | condition map:[{"":"Inner Join 0 to 1"}]
- | | HybridGraceHashJoin:true
- | | keys:{"Map 9":"_col0 (type: string)","Map 10":"_col0 (type: string)"}
- | | outputColumnNames:["_col2","_col3","_col4","_col5"]
- | | Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 9 [BROADCAST_EDGE]
- | | Reduce Output Operator [RS_24]
- | | key expressions:_col0 (type: string)
- | | Map-reduce partition columns:_col0 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string)
- | | Select Operator [SEL_20]
- | | outputColumnNames:["_col0","_col2","_col3","_col4","_col5"]
- | | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_89]
- | | predicate:((((((v1 = 'srv1') and k3 is not null) and k2 is not null) and v3 is not null) and v2 is not null) and k1 is not null) (type: boolean)
- | | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_18]
- | | alias:sr
- | | Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
- | |<-Select Operator [SEL_23]
- | outputColumnNames:["_col0"]
- | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_90]
- | predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
- | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_21]
- | alias:d1
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Map Join Operator [MAPJOIN_94]
- | condition map:[{"":"Inner Join 0 to 1"}]
- | HybridGraceHashJoin:true
- | keys:{"Map 3":"_col3 (type: string)","Map 8":"_col1 (type: string)"}
- | outputColumnNames:["_col2","_col3","_col4","_col6"]
- | Statistics:Num rows: 1331 Data size: 14139 Basic stats: COMPLETE Column stats: NONE
- |<-Map 8 [BROADCAST_EDGE]
- | Reduce Output Operator [RS_35]
- | key expressions:_col1 (type: string)
- | Map-reduce partition columns:_col1 (type: string)
- | sort order:+
- | Statistics:Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_17]
- | outputColumnNames:["_col1"]
- | Statistics:Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_88]
- | predicate:((key = 'src1key') and value is not null) (type: boolean)
- | Statistics:Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_15]
- | alias:src1
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Map Join Operator [MAPJOIN_93]
- | condition map:[{"":"Inner Join 0 to 1"}]
- | HybridGraceHashJoin:true
- | keys:{"Map 3":"_col2 (type: string)","Map 7":"_col0 (type: string)"}
- | outputColumnNames:["_col2","_col3","_col4","_col6"]
- | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
- |<-Map 7 [BROADCAST_EDGE]
- | Reduce Output Operator [RS_32]
- | key expressions:_col0 (type: string)
- | Map-reduce partition columns:_col0 (type: string)
- | sort order:+
- | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_14]
- | outputColumnNames:["_col0"]
- | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_87]
- | predicate:((value = 'd1value') and key is not null) (type: boolean)
- | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_12]
- | alias:d1
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Map Join Operator [MAPJOIN_92]
- | condition map:[{"":"Inner Join 0 to 1"}]
- | HybridGraceHashJoin:true
- | keys:{"Map 3":"_col1 (type: string)","Map 6":"_col3 (type: string)"}
- | outputColumnNames:["_col2","_col3","_col4","_col6"]
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
- |<-Map 6 [BROADCAST_EDGE]
- | Reduce Output Operator [RS_29]
- | key expressions:_col3 (type: string)
- | Map-reduce partition columns:_col3 (type: string)
- | sort order:+
- | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string), _col4 (type: string)
- | Select Operator [SEL_11]
- | outputColumnNames:["_col0","_col1","_col2","_col3","_col4"]
- | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_86]
- | predicate:(((((k3 is not null and (v3 = 'ssv3')) and k2 is not null) and k1 is not null) and v1 is not null) and v2 is not null) (type: boolean)
- | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_9]
- | alias:ss
- | Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
- |<-Select Operator [SEL_8]
- outputColumnNames:["_col1"]
- Statistics:Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
- Filter Operator [FIL_85]
- predicate:((key = 'srcpartkey') and value is not null) (type: boolean)
- Statistics:Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
- TableScan [TS_6]
- alias:srcpart
- Statistics:Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map Join Operator [MAPJOIN_101]
+ | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | HybridGraceHashJoin:true
+ | | keys:{"Map 1":"_col6 (type: string)","Map 6":"_col0 (type: string)"}
+ | | outputColumnNames:["_col0","_col1","_col3","_col8","_col9","_col14","_col16","_col17"]
+ | | Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 6 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_37]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_17]
+ | | outputColumnNames:["_col0"]
+ | | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_94]
+ | | predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
+ | | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_15]
+ | | alias:d1
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map Join Operator [MAPJOIN_100]
+ | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | HybridGraceHashJoin:true
+ | | keys:{"Map 1":"_col0 (type: string)","Map 5":"_col0 (type: string)"}
+ | | outputColumnNames:["_col0","_col1","_col3","_col6","_col8","_col9","_col14","_col16","_col17"]
+ | | Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 5 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_34]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_14]
+ | | outputColumnNames:["_col0"]
+ | | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_93]
+ | | predicate:((value = 'd1value') and key is not null) (type: boolean)
+ | | Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_12]
+ | | alias:d1
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map Join Operator [MAPJOIN_99]
+ | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | HybridGraceHashJoin:true
+ | | keys:{"Map 1":"_col9 (type: string), _col11 (type: string)","Map 4":"_col1 (type: string), _col3 (type: string)"}
+ | | outputColumnNames:["_col0","_col1","_col3","_col6","_col8","_col9","_col14","_col16","_col17"]
+ | | Statistics:Num rows: 187 Data size: 6479 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 4 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_31]
+ | | key expressions:_col1 (type: string), _col3 (type: string)
+ | | Map-reduce partition columns:_col1 (type: string), _col3 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col0 (type: string), _col2 (type: string)
+ | | Select Operator [SEL_11]
+ | | outputColumnNames:["_col0","_col1","_col2","_col3"]
+ | | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_92]
+ | | predicate:((v3 is not null and v2 is not null) and k1 is not null) (type: boolean)
+ | | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_9]
+ | | alias:cs
+ | | Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map Join Operator [MAPJOIN_98]
+ | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | HybridGraceHashJoin:true
+ | | keys:{"Map 1":"_col1 (type: string)","Map 3":"_col1 (type: string)"}
+ | | outputColumnNames:["_col0","_col1","_col3","_col6","_col8","_col9","_col11"]
+ | | Statistics:Num rows: 50 Data size: 1760 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 3 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_28]
+ | | key expressions:_col1 (type: string)
+ | | Map-reduce partition columns:_col1 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_8]
+ | | outputColumnNames:["_col1"]
+ | | Statistics:Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_91]
+ | | predicate:((key = 'src1key') and value is not null) (type: boolean)
+ | | Statistics:Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_6]
+ | | alias:src1
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map Join Operator [MAPJOIN_97]
+ | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | HybridGraceHashJoin:true
+ | | keys:{"Map 1":"_col2 (type: string), _col4 (type: string)","Map 2":"_col2 (type: string), _col4 (type: string)"}
+ | | outputColumnNames:["_col0","_col1","_col3","_col6","_col8","_col9","_col11"]
+ | | Statistics:Num rows: 46 Data size: 1600 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 2 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_25]
+ | | key expressions:_col2 (type: string), _col4 (type: string)
+ | | Map-reduce partition columns:_col2 (type: string), _col4 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col0 (type: string), _col3 (type: string), _col5 (type: string)
+ | | Select Operator [SEL_5]
+ | | outputColumnNames:["_col0","_col2","_col3","_col4","_col5"]
+ | | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_90]
+ | | predicate:((((((v1 = 'srv1') and k3 is not null) and k2 is not null) and v3 is not null) and v2 is not null) and k1 is not null) (type: boolean)
+ | | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_3]
+ | | alias:sr
+ | | Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
+ | |<-Select Operator [SEL_2]
+ | outputColumnNames:["_col0","_col1","_col2","_col3","_col4"]
+ | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_89]
+ | predicate:(((((k3 is not null and (v3 = 'ssv3')) and k2 is not null) and k1 is not null) and v1 is not null) and v2 is not null) (type: boolean)
+ | Statistics:Num rows: 42 Data size: 1455 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_0]
+ | alias:ss
+ | Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
+ |<-Select Operator [SEL_23]
+ outputColumnNames:["_col1"]
+ Statistics:Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator [FIL_96]
+ predicate:((key = 'srcpartkey') and value is not null) (type: boolean)
+ Statistics:Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
+ TableScan [TS_21]
+ alias:srcpart
+ Statistics:Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
PREHOOK: query: explain
SELECT x.key, z.value, y.value
@@ -1751,232 +1746,236 @@ POSTHOOK: type: QUERY
Plan optimized by CBO.
Vertex dependency in root stage
-Map 1 <- Union 2 (CONTAINS)
-Map 12 <- Union 10 (CONTAINS)
-Map 6 <- Union 2 (CONTAINS)
-Map 9 <- Union 10 (CONTAINS)
-Reducer 11 <- Map 13 (BROADCAST_EDGE), Map 14 (BROADCAST_EDGE), Union 10 (SIMPLE_EDGE), Union 4 (CONTAINS)
-Reducer 3 <- Map 7 (BROADCAST_EDGE), Map 8 (BROADCAST_EDGE), Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS)
-Reducer 5 <- Union 4 (SIMPLE_EDGE)
+Map 1 <- Map 2 (BROADCAST_EDGE)
+Map 11 <- Union 12 (CONTAINS)
+Map 14 <- Union 12 (CONTAINS)
+Map 3 <- Union 4 (CONTAINS)
+Map 8 <- Union 4 (CONTAINS)
+Map 9 <- Map 10 (BROADCAST_EDGE)
+Reducer 13 <- Map 9 (BROADCAST_EDGE), Union 12 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 5 <- Map 1 (BROADCAST_EDGE), Union 4 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 7 <- Union 6 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:-1
Stage-1
- Reducer 5
+ Reducer 7
File Output Operator [FS_59]
compressed:false
- Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
Group By Operator [GBY_57]
| keys:KEY._col0 (type: string), KEY._col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- |<-Union 4 [SIMPLE_EDGE]
- |<-Reducer 11 [CONTAINS]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 6 [SIMPLE_EDGE]
+ |<-Reducer 13 [CONTAINS]
| Reduce Output Operator [RS_56]
| key expressions:_col0 (type: string), _col1 (type: string)
| Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
| sort order:++
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Group By Operator [GBY_55]
| keys:_col0 (type: string), _col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Select Operator [SEL_51]
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | Map Join Operator [MAPJOIN_85]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ | Map Join Operator [MAPJOIN_83]
| | condition map:[{"":"Inner Join 0 to 1"}]
| | HybridGraceHashJoin:true
- | | keys:{"Reducer 11":"_col2 (type: string)","Map 14":"_col0 (type: string)"}
- | | outputColumnNames:["_col1","_col2"]
- | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 14 [BROADCAST_EDGE]
- | | Reduce Output Operator [RS_49]
- | | key expressions:_col0 (type: string)
- | | Map-reduce partition columns:_col0 (type: string)
+ | | keys:{"Map 9":"_col2 (type: string)","Reducer 13":"_col1 (type: string)"}
+ | | outputColumnNames:["_col1","_col4"]
+ | | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 9 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_48]
+ | | key expressions:_col2 (type: string)
+ | | Map-reduce partition columns:_col2 (type: string)
| | sort order:+
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_44]
- | | outputColumnNames:["_col0"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_81]
- | | predicate:key is not null (type: boolean)
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string)
+ | | Map Join Operator [MAPJOIN_81]
+ | | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | | HybridGraceHashJoin:true
+ | | | keys:{"Map 9":"_col0 (type: string)","Map 10":"_col0 (type: string)"}
+ | | | outputColumnNames:["_col1","_col2"]
+ | | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 10 [BROADCAST_EDGE]
+ | | | Reduce Output Operator [RS_46]
+ | | | key expressions:_col0 (type: string)
+ | | | Map-reduce partition columns:_col0 (type: string)
+ | | | sort order:+
+ | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | | value expressions:_col1 (type: string)
+ | | | Select Operator [SEL_31]
+ | | | outputColumnNames:["_col0","_col1"]
+ | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | | Filter Operator [FIL_77]
+ | | | predicate:(key is not null and value is not null) (type: boolean)
+ | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | | TableScan [TS_29]
+ | | | alias:x
+ | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Select Operator [SEL_28]
+ | | outputColumnNames:["_col0"]
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_42]
- | | alias:y
+ | | Filter Operator [FIL_76]
+ | | predicate:key is not null (type: boolean)
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Map Join Operator [MAPJOIN_84]
- | | condition map:[{"":"Inner Join 0 to 1"}]
- | | HybridGraceHashJoin:true
- | | keys:{"Reducer 11":"_col1 (type: string)","Map 13":"_col1 (type: string)"}
- | | outputColumnNames:["_col1","_col2"]
- | | Statistics:Num rows: 288 Data size: 3020 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 13 [BROADCAST_EDGE]
- | | Reduce Output Operator [RS_46]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string)
- | | Select Operator [SEL_41]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_80]
- | | predicate:(key is not null and value is not null) (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_39]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | |<-Select Operator [SEL_38]
- | outputColumnNames:["_col1"]
- | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_37]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 10 [SIMPLE_EDGE]
- | |<-Map 12 [CONTAINS]
- | | Reduce Output Operator [RS_36]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_35]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_31]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_79]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_29]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 9 [CONTAINS]
- | Reduce Output Operator [RS_36]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
+ | | TableScan [TS_26]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Select Operator [SEL_44]
+ | outputColumnNames:["_col1"]
+ | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_43]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 12 [SIMPLE_EDGE]
+ | |<-Map 11 [CONTAINS]
+ | | Reduce Output Operator [RS_42]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_41]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_34]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_78]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_32]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 14 [CONTAINS]
+ | Reduce Output Operator [RS_42]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_41]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_35]
- | keys:_col0 (type: string), _col1 (type: string)
+ | Select Operator [SEL_37]
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_28]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_78]
- | predicate:value is not null (type: boolean)
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_26]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 3 [CONTAINS]
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_79]
+ | predicate:value is not null (type: boolean)
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_35]
+ | alias:y
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 5 [CONTAINS]
Reduce Output Operator [RS_56]
key expressions:_col0 (type: string), _col1 (type: string)
Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
sort order:++
- Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Group By Operator [GBY_55]
keys:_col0 (type: string), _col1 (type: string)
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Select Operator [SEL_25]
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator [MAPJOIN_83]
+ Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator [MAPJOIN_82]
| condition map:[{"":"Inner Join 0 to 1"}]
| HybridGraceHashJoin:true
- | keys:{"Reducer 3":"_col2 (type: string)","Map 8":"_col0 (type: string)"}
- | outputColumnNames:["_col1","_col2"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- |<-Map 8 [BROADCAST_EDGE]
- | Reduce Output Operator [RS_23]
- | key expressions:_col0 (type: string)
- | Map-reduce partition columns:_col0 (type: string)
+ | keys:{"Map 1":"_col2 (type: string)","Reducer 5":"_col1 (type: string)"}
+ | outputColumnNames:["_col1","_col4"]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 1 [BROADCAST_EDGE]
+ | Reduce Output Operator [RS_22]
+ | key expressions:_col2 (type: string)
+ | Map-reduce partition columns:_col2 (type: string)
| sort order:+
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_18]
- | outputColumnNames:["_col0"]
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_77]
- | predicate:key is not null (type: boolean)
+ | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | value expressions:_col1 (type: string)
+ | Map Join Operator [MAPJOIN_80]
+ | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | HybridGraceHashJoin:true
+ | | keys:{"Map 1":"_col0 (type: string)","Map 2":"_col0 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 2 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_20]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string)
+ | | Select Operator [SEL_5]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_73]
+ | | predicate:(key is not null and value is not null) (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_3]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Select Operator [SEL_2]
+ | outputColumnNames:["_col0"]
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_16]
- | alias:y
+ | Filter Operator [FIL_72]
+ | predicate:key is not null (type: boolean)
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Map Join Operator [MAPJOIN_82]
- | condition map:[{"":"Inner Join 0 to 1"}]
- | HybridGraceHashJoin:true
- | keys:{"Reducer 3":"_col1 (type: string)","Map 7":"_col1 (type: string)"}
- | outputColumnNames:["_col1","_col2"]
- | Statistics:Num rows: 288 Data size: 3020 Basic stats: COMPLETE Column stats: NONE
- |<-Map 7 [BROADCAST_EDGE]
- | Reduce Output Operator [RS_20]
- | key expressions:_col1 (type: string)
- | Map-reduce partition columns:_col1 (type: string)
- | sort order:+
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col0 (type: string)
- | Select Operator [SEL_15]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_76]
- | predicate:(key is not null and value is not null) (type: boolean)
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_13]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Select Operator [SEL_12]
- outputColumnNames:["_col1"]
- Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- Group By Operator [GBY_11]
- | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- |<-Union 2 [SIMPLE_EDGE]
- |<-Map 1 [CONTAINS]
- | Reduce Output Operator [RS_10]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_9]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_2]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_74]
- | predicate:value is not null (type: boolean)
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_0]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Map 6 [CONTAINS]
- Reduce Output Operator [RS_10]
- key expressions:_col0 (type: string), _col1 (type: string)
- Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- sort order:++
+ | TableScan [TS_0]
+ | alias:y
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Select Operator [SEL_18]
+ outputColumnNames:["_col1"]
+ Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator [GBY_17]
+ | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 4 [SIMPLE_EDGE]
+ |<-Map 3 [CONTAINS]
+ | Reduce Output Operator [RS_16]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_15]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_8]
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_74]
+ | predicate:value is not null (type: boolean)
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_6]
+ | alias:x
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 8 [CONTAINS]
+ Reduce Output Operator [RS_16]
+ key expressions:_col0 (type: string), _col1 (type: string)
+ Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ sort order:++
+ Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator [GBY_15]
+ keys:_col0 (type: string), _col1 (type: string)
+ outputColumnNames:["_col0","_col1"]
Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- Group By Operator [GBY_9]
- keys:_col0 (type: string), _col1 (type: string)
+ Select Operator [SEL_11]
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- Select Operator [SEL_5]
- outputColumnNames:["_col0","_col1"]
+ Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator [FIL_75]
+ predicate:value is not null (type: boolean)
Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Filter Operator [FIL_75]
- predicate:value is not null (type: boolean)
+ TableScan [TS_9]
+ alias:y
Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- TableScan [TS_3]
- alias:y
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
PREHOOK: query: explain
SELECT x.key, y.value
@@ -2007,464 +2006,467 @@ POSTHOOK: type: QUERY
Plan optimized by CBO.
Vertex dependency in root stage
-Map 1 <- Union 2 (CONTAINS)
-Map 11 <- Union 12 (CONTAINS)
-Map 16 <- Union 12 (CONTAINS)
-Map 17 <- Union 14 (CONTAINS)
-Map 20 <- Union 21 (CONTAINS)
-Map 27 <- Union 21 (CONTAINS)
-Map 28 <- Union 23 (CONTAINS)
-Map 29 <- Union 25 (CONTAINS)
-Map 8 <- Union 2 (CONTAINS)
-Reducer 13 <- Union 12 (SIMPLE_EDGE), Union 14 (CONTAINS)
-Reducer 15 <- Map 18 (BROADCAST_EDGE), Map 19 (BROADCAST_EDGE), Union 14 (SIMPLE_EDGE), Union 4 (CONTAINS)
-Reducer 22 <- Union 21 (SIMPLE_EDGE), Union 23 (CONTAINS)
+Map 1 <- Map 2 (BROADCAST_EDGE)
+Map 10 <- Union 4 (CONTAINS)
+Map 11 <- Map 12 (BROADCAST_EDGE)
+Map 13 <- Union 14 (CONTAINS)
+Map 18 <- Union 14 (CONTAINS)
+Map 19 <- Union 16 (CONTAINS)
+Map 20 <- Map 21 (BROADCAST_EDGE)
+Map 22 <- Union 23 (CONTAINS)
+Map 29 <- Union 23 (CONTAINS)
+Map 3 <- Union 4 (CONTAINS)
+Map 30 <- Union 25 (CONTAINS)
+Map 31 <- Union 27 (CONTAINS)
+Reducer 15 <- Union 14 (SIMPLE_EDGE), Union 16 (CONTAINS)
+Reducer 17 <- Map 11 (BROADCAST_EDGE), Union 16 (SIMPLE_EDGE), Union 6 (CONTAINS)
Reducer 24 <- Union 23 (SIMPLE_EDGE), Union 25 (CONTAINS)
-Reducer 26 <- Map 30 (BROADCAST_EDGE), Map 31 (BROADCAST_EDGE), Union 25 (SIMPLE_EDGE), Union 6 (CONTAINS)
-Reducer 3 <- Map 10 (BROADCAST_EDGE), Map 9 (BROADCAST_EDGE), Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS)
-Reducer 5 <- Union 4 (SIMPLE_EDGE), Union 6 (CONTAINS)
-Reducer 7 <- Union 6 (SIMPLE_EDGE)
+Reducer 26 <- Union 25 (SIMPLE_EDGE), Union 27 (CONTAINS)
+Reducer 28 <- Map 20 (BROADCAST_EDGE), Union 27 (SIMPLE_EDGE), Union 8 (CONTAINS)
+Reducer 5 <- Map 1 (BROADCAST_EDGE), Union 4 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 7 <- Union 6 (SIMPLE_EDGE), Union 8 (CONTAINS)
+Reducer 9 <- Union 8 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:-1
Stage-1
- Reducer 7
+ Reducer 9
File Output Operator [FS_122]
compressed:false
- Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
Group By Operator [GBY_120]
| keys:KEY._col0 (type: string), KEY._col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- |<-Union 6 [SIMPLE_EDGE]
- |<-Reducer 26 [CONTAINS]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 8 [SIMPLE_EDGE]
+ |<-Reducer 28 [CONTAINS]
| Reduce Output Operator [RS_119]
| key expressions:_col0 (type: string), _col1 (type: string)
| Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
| sort order:++
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Group By Operator [GBY_118]
| keys:_col0 (type: string), _col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Select Operator [SEL_114]
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | Map Join Operator [MAPJOIN_170]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ | Map Join Operator [MAPJOIN_164]
| | condition map:[{"":"Inner Join 0 to 1"}]
| | HybridGraceHashJoin:true
- | | keys:{"Reducer 26":"_col2 (type: string)","Map 31":"_col0 (type: string)"}
- | | outputColumnNames:["_col2","_col5"]
- | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 31 [BROADCAST_EDGE]
- | | Reduce Output Operator [RS_112]
- | | key expressions:_col0 (type: string)
- | | Map-reduce partition columns:_col0 (type: string)
+ | | keys:{"Map 20":"_col3 (type: string)","Reducer 28":"_col1 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
+ | | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 20 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_111]
+ | | key expressions:_col3 (type: string)
+ | | Map-reduce partition columns:_col3 (type: string)
| | sort order:+
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col1 (type: string)
- | | Select Operator [SEL_107]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_164]
- | | predicate:key is not null (type: boolean)
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string), _col2 (type: string)
+ | | Map Join Operator [MAPJOIN_161]
+ | | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | | HybridGraceHashJoin:true
+ | | | keys:{"Map 20":"_col0 (type: string)","Map 21":"_col0 (type: string)"}
+ | | | outputColumnNames:["_col1","_col2","_col3"]
+ | | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 21 [BROADCAST_EDGE]
+ | | | Reduce Output Operator [RS_109]
+ | | | key expressions:_col0 (type: string)
+ | | | Map-reduce partition columns:_col0 (type: string)
+ | | | sort order:+
+ | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | | value expressions:_col1 (type: string)
+ | | | Select Operator [SEL_74]
+ | | | outputColumnNames:["_col0","_col1"]
+ | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | | Filter Operator [FIL_154]
+ | | | predicate:(key is not null and value is not null) (type: boolean)
+ | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | | TableScan [TS_72]
+ | | | alias:x
+ | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Select Operator [SEL_71]
+ | | outputColumnNames:["_col0","_col1"]
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_105]
- | | alias:y
+ | | Filter Operator [FIL_153]
+ | | predicate:key is not null (type: boolean)
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Map Join Operator [MAPJOIN_169]
- | | condition map:[{"":"Inner Join 0 to 1"}]
- | | HybridGraceHashJoin:true
- | | keys:{"Reducer 26":"_col1 (type: string)","Map 30":"_col1 (type: string)"}
- | | outputColumnNames:["_col2"]
- | | Statistics:Num rows: 484 Data size: 5131 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 30 [BROADCAST_EDGE]
- | | Reduce Output Operator [RS_109]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string)
- | | Select Operator [SEL_104]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_163]
- | | predicate:(key is not null and value is not null) (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_102]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | |<-Select Operator [SEL_101]
- | outputColumnNames:["_col1"]
- | Statistics:Num rows: 440 Data size: 4665 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_100]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 440 Data size: 4665 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 25 [SIMPLE_EDGE]
- | |<-Map 29 [CONTAINS]
- | | Reduce Output Operator [RS_99]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_98]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_94]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_162]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_92]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 24 [CONTAINS]
- | Reduce Output Operator [RS_99]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
+ | | TableScan [TS_69]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Select Operator [SEL_107]
+ | outputColumnNames:["_col1"]
+ | Statistics:Num rows: 440 Data size: 4665 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_106]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 440 Data size: 4665 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 27 [SIMPLE_EDGE]
+ | |<-Map 31 [CONTAINS]
+ | | Reduce Output Operator [RS_105]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_104]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_100]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_158]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_98]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 26 [CONTAINS]
+ | Reduce Output Operator [RS_105]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_104]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_98]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 881 Data size: 9341 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_90]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 23 [SIMPLE_EDGE]
- | |<-Map 28 [CONTAINS]
- | | Reduce Output Operator [RS_89]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_88]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_84]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_161]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_82]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 22 [CONTAINS]
- | Reduce Output Operator [RS_89]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
+ | Group By Operator [GBY_96]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 25 [SIMPLE_EDGE]
+ | |<-Map 30 [CONTAINS]
+ | | Reduce Output Operator [RS_95]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_94]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_90]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_157]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_88]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 24 [CONTAINS]
+ | Reduce Output Operator [RS_95]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_94]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_88]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_80]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 21 [SIMPLE_EDGE]
- | |<-Map 20 [CONTAINS]
- | | Reduce Output Operator [RS_79]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_78]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_71]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_159]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_69]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 27 [CONTAINS]
- | Reduce Output Operator [RS_79]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
+ | Group By Operator [GBY_86]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 23 [SIMPLE_EDGE]
+ | |<-Map 22 [CONTAINS]
+ | | Reduce Output Operator [RS_85]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_84]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_77]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_155]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_75]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 29 [CONTAINS]
+ | Reduce Output Operator [RS_85]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_84]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_78]
- | keys:_col0 (type: string), _col1 (type: string)
+ | Select Operator [SEL_80]
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_74]
- | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_156]
+ | predicate:value is not null (type: boolean)
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_160]
- | predicate:value is not null (type: boolean)
+ | TableScan [TS_78]
+ | alias:y
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_72]
- | alias:y
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 5 [CONTAINS]
+ |<-Reducer 7 [CONTAINS]
Reduce Output Operator [RS_119]
key expressions:_col0 (type: string), _col1 (type: string)
Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
sort order:++
- Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Group By Operator [GBY_118]
keys:_col0 (type: string), _col1 (type: string)
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Group By Operator [GBY_67]
| keys:KEY._col0 (type: string), KEY._col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- |<-Union 4 [SIMPLE_EDGE]
- |<-Reducer 15 [CONTAINS]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 6 [SIMPLE_EDGE]
+ |<-Reducer 17 [CONTAINS]
| Reduce Output Operator [RS_66]
| key expressions:_col0 (type: string), _col1 (type: string)
| Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
| sort order:++
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Group By Operator [GBY_65]
| keys:_col0 (type: string), _col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Select Operator [SEL_61]
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | Map Join Operator [MAPJOIN_168]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ | Map Join Operator [MAPJOIN_163]
| | condition map:[{"":"Inner Join 0 to 1"}]
| | HybridGraceHashJoin:true
- | | keys:{"Reducer 15":"_col2 (type: string)","Map 19":"_col0 (type: string)"}
- | | outputColumnNames:["_col2","_col5"]
- | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 19 [BROADCAST_EDGE]
- | | Reduce Output Operator [RS_59]
- | | key expressions:_col0 (type: string)
- | | Map-reduce partition columns:_col0 (type: string)
+ | | keys:{"Map 11":"_col3 (type: string)","Reducer 17":"_col1 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
+ | | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 11 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_58]
+ | | key expressions:_col3 (type: string)
+ | | Map-reduce partition columns:_col3 (type: string)
| | sort order:+
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col1 (type: string)
- | | Select Operator [SEL_54]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_158]
- | | predicate:key is not null (type: boolean)
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string), _col2 (type: string)
+ | | Map Join Operator [MAPJOIN_160]
+ | | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | | HybridGraceHashJoin:true
+ | | | keys:{"Map 11":"_col0 (type: string)","Map 12":"_col0 (type: string)"}
+ | | | outputColumnNames:["_col1","_col2","_col3"]
+ | | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 12 [BROADCAST_EDGE]
+ | | | Reduce Output Operator [RS_56]
+ | | | key expressions:_col0 (type: string)
+ | | | Map-reduce partition columns:_col0 (type: string)
+ | | | sort order:+
+ | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | | value expressions:_col1 (type: string)
+ | | | Select Operator [SEL_31]
+ | | | outputColumnNames:["_col0","_col1"]
+ | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | | Filter Operator [FIL_149]
+ | | | predicate:(key is not null and value is not null) (type: boolean)
+ | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | | TableScan [TS_29]
+ | | | alias:x
+ | | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Select Operator [SEL_28]
+ | | outputColumnNames:["_col0","_col1"]
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_52]
- | | alias:y
+ | | Filter Operator [FIL_148]
+ | | predicate:key is not null (type: boolean)
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Map Join Operator [MAPJOIN_167]
- | | condition map:[{"":"Inner Join 0 to 1"}]
- | | HybridGraceHashJoin:true
- | | keys:{"Reducer 15":"_col1 (type: string)","Map 18":"_col1 (type: string)"}
- | | outputColumnNames:["_col2"]
- | | Statistics:Num rows: 419 Data size: 4431 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 18 [BROADCAST_EDGE]
- | | Reduce Output Operator [RS_56]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string)
- | | Select Operator [SEL_51]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_157]
- | | predicate:(key is not null and value is not null) (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_49]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | |<-Select Operator [SEL_48]
- | outputColumnNames:["_col1"]
- | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_47]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 14 [SIMPLE_EDGE]
- | |<-Map 17 [CONTAINS]
- | | Reduce Output Operator [RS_46]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_45]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_41]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_156]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_39]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 13 [CONTAINS]
- | Reduce Output Operator [RS_46]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
+ | | TableScan [TS_26]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Select Operator [SEL_54]
+ | outputColumnNames:["_col1"]
+ | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_53]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 16 [SIMPLE_EDGE]
+ | |<-Map 19 [CONTAINS]
+ | | Reduce Output Operator [RS_52]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_51]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_47]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_152]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_45]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 15 [CONTAINS]
+ | Reduce Output Operator [RS_52]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_51]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_45]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_37]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 12 [SIMPLE_EDGE]
- | |<-Map 11 [CONTAINS]
- | | Reduce Output Operator [RS_36]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_35]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_28]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_154]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_26]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 16 [CONTAINS]
- | Reduce Output Operator [RS_36]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
+ | Group By Operator [GBY_43]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 14 [SIMPLE_EDGE]
+ | |<-Map 13 [CONTAINS]
+ | | Reduce Output Operator [RS_42]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_41]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_34]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_150]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_32]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 18 [CONTAINS]
+ | Reduce Output Operator [RS_42]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_41]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_35]
- | keys:_col0 (type: string), _col1 (type: string)
+ | Select Operator [SEL_37]
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_31]
- | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_151]
+ | predicate:value is not null (type: boolean)
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_155]
- | predicate:value is not null (type: boolean)
+ | TableScan [TS_35]
+ | alias:y
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_29]
- | alias:y
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 3 [CONTAINS]
+ |<-Reducer 5 [CONTAINS]
Reduce Output Operator [RS_66]
key expressions:_col0 (type: string), _col1 (type: string)
Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
sort order:++
- Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Group By Operator [GBY_65]
keys:_col0 (type: string), _col1 (type: string)
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Select Operator [SEL_25]
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator [MAPJOIN_166]
+ Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator [MAPJOIN_162]
| condition map:[{"":"Inner Join 0 to 1"}]
| HybridGraceHashJoin:true
- | keys:{"Reducer 3":"_col2 (type: string)","Map 10":"_col0 (type: string)"}
- | outputColumnNames:["_col2","_col5"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- |<-Map 10 [BROADCAST_EDGE]
- | Reduce Output Operator [RS_23]
- | key expressions:_col0 (type: string)
- | Map-reduce partition columns:_col0 (type: string)
+ | keys:{"Map 1":"_col3 (type: string)","Reducer 5":"_col1 (type: string)"}
+ | outputColumnNames:["_col1","_col2"]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 1 [BROADCAST_EDGE]
+ | Reduce Output Operator [RS_22]
+ | key expressions:_col3 (type: string)
+ | Map-reduce partition columns:_col3 (type: string)
| sort order:+
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col1 (type: string)
- | Select Operator [SEL_18]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_153]
- | predicate:key is not null (type: boolean)
+ | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | value expressions:_col1 (type: string), _col2 (type: string)
+ | Map Join Operator [MAPJOIN_159]
+ | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | HybridGraceHashJoin:true
+ | | keys:{"Map 1":"_col0 (type: string)","Map 2":"_col0 (type: string)"}
+ | | outputColumnNames:["_col1","_col2","_col3"]
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 2 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_20]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string)
+ | | Select Operator [SEL_5]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_145]
+ | | predicate:(key is not null and value is not null) (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_3]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Select Operator [SEL_2]
+ | outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_16]
- | alias:y
+ | Filter Operator [FIL_144]
+ | predicate:key is not null (type: boolean)
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Map Join Operator [MAPJOIN_165]
- | condition map:[{"":"Inner Join 0 to 1"}]
- | HybridGraceHashJoin:true
- | keys:{"Reducer 3":"_col1 (type: string)","Map 9":"_col1 (type: string)"}
- | outputColumnNames:["_col2"]
- | Statistics:Num rows: 288 Data size: 3020 Basic stats: COMPLETE Column stats: NONE
- |<-Map 9 [BROADCAST_EDGE]
- | Reduce Output Operator [RS_20]
- | key expressions:_col1 (type: string)
- | Map-reduce partition columns:_col1 (type: string)
- | sort order:+
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col0 (type: string)
- | Select Operator [SEL_15]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_152]
- | predicate:(key is not null and value is not null) (type: boolean)
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_13]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Select Operator [SEL_12]
- outputColumnNames:["_col1"]
- Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- Group By Operator [GBY_11]
- | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- |<-Union 2 [SIMPLE_EDGE]
- |<-Map 1 [CONTAINS]
- | Reduce Output Operator [RS_10]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_9]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_2]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_150]
- | predicate:value is not null (type: boolean)
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_0]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Map 8 [CONTAINS]
- Reduce Output Operator [RS_10]
- key expressions:_col0 (type: string), _col1 (type: string)
- Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- sort order:++
+ | TableScan [TS_0]
+ | alias:y
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Select Operator [SEL_18]
+ outputColumnNames:["_col1"]
+ Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator [GBY_17]
+ | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 4 [SIMPLE_EDGE]
+ |<-Map 10 [CONTAINS]
+ | Reduce Output Operator [RS_16]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_15]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_11]
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_147]
+ | predicate:value is not null (type: boolean)
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_9]
+ | alias:y
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 3 [CONTAINS]
+ Reduce Output Operator [RS_16]
+ key expressions:_col0 (type: string), _col1 (type: string)
+ Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ sort order:++
+ Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator [GBY_15]
+ keys:_col0 (type: string), _col1 (type: string)
+ outputColumnNames:["_col0","_col1"]
Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- Group By Operator [GBY_9]
- keys:_col0 (type: string), _col1 (type: string)
+ Select Operator [SEL_8]
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- Select Operator [SEL_5]
- outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Filter Operator [FIL_151]
- predicate:value is not null (type: boolean)
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- TableScan [TS_3]
- alias:y
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator [FIL_146]
+ predicate:value is not null (type: boolean)
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ TableScan [TS_6]
+ alias:x
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
PREHOOK: query: CREATE TABLE srcbucket_mapjoin(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE
PREHOOK: type: CREATETABLE
@@ -3098,51 +3100,52 @@ POSTHOOK: type: QUERY
Plan optimized by CBO.
Vertex dependency in root stage
-Map 1 <- Map 6 (BROADCAST_EDGE), Union 2 (CONTAINS)
-Map 12 <- Union 9 (CONTAINS)
-Map 13 <- Union 9 (CONTAINS)
+Map 1 <- Map 4 (BROADCAST_EDGE)
+Map 12 <- Union 13 (CONTAINS)
+Map 14 <- Union 13 (CONTAINS)
+Map 15 <- Union 13 (CONTAINS)
Map 16 <- Map 17 (BROADCAST_EDGE)
-Map 18 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Map 19 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Map 20 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Map 21 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Map 5 <- Map 6 (BROADCAST_EDGE), Union 2 (CONTAINS)
-Map 8 <- Union 9 (CONTAINS)
-Reducer 10 <- Map 14 (SIMPLE_EDGE), Union 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 15 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE), Union 4 (CONTAINS)
-Reducer 3 <- Map 7 (SIMPLE_EDGE), Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Map 18 <- Map 16 (BROADCAST_EDGE), Union 3 (CONTAINS)
+Map 19 <- Map 16 (BROADCAST_EDGE), Union 3 (CONTAINS)
+Map 20 <- Map 16 (BROADCAST_EDGE), Union 3 (CONTAINS)
+Map 21 <- Map 16 (BROADCAST_EDGE), Union 3 (CONTAINS)
+Map 5 <- Union 6 (CONTAINS)
+Map 7 <- Union 6 (CONTAINS)
+Reducer 10 <- Reducer 9 (SIMPLE_EDGE), Union 13 (SIMPLE_EDGE), Union 3 (CONTAINS)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Union 3 (CONTAINS), Union 6 (SIMPLE_EDGE)
+Reducer 9 <- Map 11 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:-1
Stage-1
- Union 4
+ Union 3
|<-Map 18 [CONTAINS]
| File Output Operator [FS_78]
| compressed:false
- | Statistics:Num rows: 3550 Data size: 37482 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 3409 Data size: 36062 Basic stats: COMPLETE Column stats: NONE
| table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
| Select Operator [SEL_76]
| outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 1677 Data size: 17739 Basic stats: COMPLETE Column stats: NONE
- | Map Join Operator [MAPJOIN_123]
+ | Map Join Operator [MAPJOIN_120]
| | condition map:[{"":"Inner Join 0 to 1"}]
| | HybridGraceHashJoin:true
- | | keys:{"Map 16":"_col1 (type: string)","Map 18":"_col0 (type: string)"}
- | | outputColumnNames:["_col0","_col3"]
+ | | keys:{"Map 16":"_col3 (type: string)","Map 18":"_col0 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
| | Statistics:Num rows: 1677 Data size: 17739 Basic stats: COMPLETE Column stats: NONE
| |<-Map 16 [BROADCAST_EDGE]
| | Reduce Output Operator [RS_73]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
+ | | key expressions:_col3 (type: string)
+ | | Map-reduce partition columns:_col3 (type: string)
| | sort order:+
| | Statistics:Num rows: 27 Data size: 210 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string), _col3 (type: string)
- | | Map Join Operator [MAPJOIN_122]
+ | | value expressions:_col1 (type: string), _col2 (type: string)
+ | | Map Join Operator [MAPJOIN_117]
| | | condition map:[{"":"Inner Join 0 to 1"}]
| | | HybridGraceHashJoin:true
| | | keys:{"Map 16":"_col0 (type: string)","Map 17":"_col0 (type: string)"}
- | | | outputColumnNames:["_col0","_col1","_col3"]
+ | | | outputColumnNames:["_col1","_col2","_col3"]
| | | Statistics:Num rows: 27 Data size: 210 Basic stats: COMPLETE Column stats: NONE
| | |<-Map 17 [BROADCAST_EDGE]
| | | Reduce Output Operator [RS_71]
@@ -3154,8 +3157,8 @@ Stage-0
| | | Select Operator [SEL_53]
| | | outputColumnNames:["_col0","_col1"]
| | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | | Filter Operator [FIL_113]
- | | | predicate:key is not null (type: boolean)
+ | | | Filter Operator [FIL_110]
+ | | | predicate:(key is not null and value is not null) (type: boolean)
| | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
| | | TableScan [TS_51]
| | | alias:x
@@ -3163,37 +3166,37 @@ Stage-0
| | |<-Select Operator [SEL_50]
| | outputColumnNames:["_col0","_col1"]
| | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_112]
- | | predicate:(key is not null and value is not null) (type: boolean)
+ | | Filter Operator [FIL_109]
+ | | predicate:key is not null (type: boolean)
| | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
| | TableScan [TS_48]
| | alias:x
| | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Reduce Output Operator [RS_128]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
+ | | Reduce Output Operator [RS_124]
+ | | key expressions:_col3 (type: string)
+ | | Map-reduce partition columns:_col3 (type: string)
| | sort order:+
| | Statistics:Num rows: 27 Data size: 210 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string), _col3 (type: string)
- | | Please refer to the previous Map Join Operator [MAPJOIN_122]
- | | Reduce Output Operator [RS_129]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
+ | | value expressions:_col1 (type: string), _col2 (type: string)
+ | | Please refer to the previous Map Join Operator [MAPJOIN_117]
+ | | Reduce Output Operator [RS_125]
+ | | key expressions:_col3 (type: string)
+ | | Map-reduce partition columns:_col3 (type: string)
| | sort order:+
| | Statistics:Num rows: 27 Data size: 210 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string), _col3 (type: string)
- | | Please refer to the previous Map Join Operator [MAPJOIN_122]
- | | Reduce Output Operator [RS_130]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
+ | | value expressions:_col1 (type: string), _col2 (type: string)
+ | | Please refer to the previous Map Join Operator [MAPJOIN_117]
+ | | Reduce Output Operator [RS_126]
+ | | key expressions:_col3 (type: string)
+ | | Map-reduce partition columns:_col3 (type: string)
| | sort order:+
| | Statistics:Num rows: 27 Data size: 210 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string), _col3 (type: string)
- | | Please refer to the previous Map Join Operator [MAPJOIN_122]
+ | | value expressions:_col1 (type: string), _col2 (type: string)
+ | | Please refer to the previous Map Join Operator [MAPJOIN_117]
| |<-Select Operator [SEL_56]
| outputColumnNames:["_col0"]
| Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_114]
+ | Filter Operator [FIL_111]
| predicate:value is not null (type: boolean)
| Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
| TableScan [TS_54]
@@ -3202,22 +3205,22 @@ Stage-0
|<-Map 19 [CONTAINS]
| File Output Operator [FS_78]
| compressed:false
- | Statistics:Num rows: 3550 Data size: 37482 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 3409 Data size: 36062 Basic stats: COMPLETE Column stats: NONE
| table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
| Select Operator [SEL_76]
| outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 1677 Data size: 17739 Basic stats: COMPLETE Column stats: NONE
- | Map Join Operator [MAPJOIN_123]
+ | Map Join Operator [MAPJOIN_120]
| | condition map:[{"":"Inner Join 0 to 1"}]
| | HybridGraceHashJoin:true
- | | keys:{"Map 16":"_col1 (type: string)","Map 19":"_col0 (type: string)"}
- | | outputColumnNames:["_col0","_col3"]
+ | | keys:{"Map 16":"_col3 (type: string)","Map 19":"_col0 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
| | Statistics:Num rows: 1677 Data size: 17739 Basic stats: COMPLETE Column stats: NONE
| |<- Please refer to the previous Map 16 [BROADCAST_EDGE]
| |<-Select Operator [SEL_59]
| outputColumnNames:["_col0"]
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_115]
+ | Filter Operator [FIL_112]
| predicate:value is not null (type: boolean)
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
| TableScan [TS_57]
@@ -3226,22 +3229,22 @@ Stage-0
|<-Map 20 [CONTAINS]
| File Output Operator [FS_78]
| compressed:false
- | Statistics:Num rows: 3550 Data size: 37482 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 3409 Data size: 36062 Basic stats: COMPLETE Column stats: NONE
| table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
| Select Operator [SEL_76]
| outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 1677 Data size: 17739 Basic stats: COMPLETE Column stats: NONE
- | Map Join Operator [MAPJOIN_123]
+ | Map Join Operator [MAPJOIN_120]
| | condition map:[{"":"Inner Join 0 to 1"}]
| | HybridGraceHashJoin:true
- | | keys:{"Map 16":"_col1 (type: string)","Map 20":"_col0 (type: string)"}
- | | outputColumnNames:["_col0","_col3"]
+ | | keys:{"Map 16":"_col3 (type: string)","Map 20":"_col0 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
| | Statistics:Num rows: 1677 Data size: 17739 Basic stats: COMPLETE Column stats: NONE
| |<- Please refer to the previous Map 16 [BROADCAST_EDGE]
| |<-Select Operator [SEL_64]
| outputColumnNames:["_col0"]
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_116]
+ | Filter Operator [FIL_113]
| predicate:value is not null (type: boolean)
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
| TableScan [TS_62]
@@ -3250,225 +3253,212 @@ Stage-0
|<-Map 21 [CONTAINS]
| File Output Operator [FS_78]
| compressed:false
- | Statistics:Num rows: 3550 Data size: 37482 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 3409 Data size: 36062 Basic stats: COMPLETE Column stats: NONE
| table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
| Select Operator [SEL_76]
| outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 1677 Data size: 17739 Basic stats: COMPLETE Column stats: NONE
- | Map Join Operator [MAPJOIN_123]
+ | Map Join Operator [MAPJOIN_120]
| | condition map:[{"":"Inner Join 0 to 1"}]
| | HybridGraceHashJoin:true
- | | keys:{"Map 16":"_col1 (type: string)","Map 21":"_col0 (type: string)"}
- | | outputColumnNames:["_col0","_col3"]
+ | | keys:{"Map 16":"_col3 (type: string)","Map 21":"_col0 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
| | Statistics:Num rows: 1677 Data size: 17739 Basic stats: COMPLETE Column stats: NONE
| |<- Please refer to the previous Map 16 [BROADCAST_EDGE]
| |<-Select Operator [SEL_68]
| outputColumnNames:["_col0"]
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_117]
+ | Filter Operator [FIL_114]
| predicate:value is not null (type: boolean)
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
| TableScan [TS_66]
| alias:y
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 11 [CONTAINS]
+ |<-Reducer 10 [CONTAINS]
| File Output Operator [FS_78]
| compressed:false
- | Statistics:Num rows: 3550 Data size: 37482 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 3409 Data size: 36062 Basic stats: COMPLETE Column stats: NONE
| table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
| Select Operator [SEL_45]
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 1239 Data size: 13085 Basic stats: COMPLETE Column stats: NONE
- | Merge Join Operator [MERGEJOIN_121]
+ | Statistics:Num rows: 1127 Data size: 11896 Basic stats: COMPLETE Column stats: NONE
+ | Merge Join Operator [MERGEJOIN_119]
| | condition map:[{"":"Inner Join 0 to 1"}]
- | | keys:{"0":"_col1 (type: string)","1":"_col0 (type: string)"}
- | | outputColumnNames:["_col1","_col4"]
- | | Statistics:Num rows: 1239 Data size: 13085 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 15 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_43]
- | | key expressions:_col0 (type: string)
- | | Map-reduce partition columns:_col0 (type: string)
+ | | keys:{"0":"_col3 (type: string)","1":"_col0 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
+ | | Statistics:Num rows: 1127 Data size: 11896 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 9 [SIMPLE_EDGE]
+ | | Reduce Output Operator [RS_42]
+ | | key expressions:_col3 (type: string)
+ | | Map-reduce partition columns:_col3 (type: string)
| | sort order:+
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col1 (type: string)
- | | Select Operator [SEL_38]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_111]
- | | predicate:key is not null (type: boolean)
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string), _col2 (type: string)
+ | | Merge Join Operator [MERGEJOIN_116]
+ | | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | | keys:{"0":"_col0 (type: string)","1":"_col0 (type: string)"}
+ | | | outputColumnNames:["_col1","_col2","_col3"]
+ | | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 11 [SIMPLE_EDGE]
+ | | | Reduce Output Operator [RS_40]
+ | | | key expressions:_col0 (type: string)
+ | | | Map-reduce partition columns:_col0 (type: string)
+ | | | sort order:+
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | value expressions:_col1 (type: string)
+ | | | Select Operator [SEL_26]
+ | | | outputColumnNames:["_col0","_col1"]
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | Filter Operator [FIL_105]
+ | | | predicate:(key is not null and value is not null) (type: boolean)
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | TableScan [TS_24]
+ | | | alias:y
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 8 [SIMPLE_EDGE]
+ | | Reduce Output Operator [RS_39]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_36]
- | | alias:y
+ | | value expressions:_col1 (type: string)
+ | | Select Operator [SEL_23]
+ | | outputColumnNames:["_col0","_col1"]
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 10 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_42]
- | key expressions:_col1 (type: string)
- | Map-reduce partition columns:_col1 (type: string)
- | sort order:+
- | Statistics:Num rows: 1127 Data size: 11896 Basic stats: COMPLETE Column stats: NONE
- | Merge Join Operator [MERGEJOIN_120]
- | | condition map:[{"":"Inner Join 0 to 1"}]
- | | keys:{"0":"_col0 (type: string)","1":"_col1 (type: string)"}
- | | outputColumnNames:["_col1"]
- | | Statistics:Num rows: 1127 Data size: 11896 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 14 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_40]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string)
- | | Select Operator [SEL_35]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_110]
- | | predicate:(key is not null and value is not null) (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_33]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 9 [SIMPLE_EDGE]
- | |<-Map 12 [CONTAINS]
- | | Reduce Output Operator [RS_39]
- | | key expressions:_col0 (type: string)
- | | Map-reduce partition columns:_col0 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_26]
- | | outputColumnNames:["_col0"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_108]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_24]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 13 [CONTAINS]
- | | Reduce Output Operator [RS_39]
- | | key expressions:_col0 (type: string)
- | | Map-reduce partition columns:_col0 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_31]
- | | outputColumnNames:["_col0"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_109]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_29]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 8 [CONTAINS]
- | Reduce Output Operator [RS_39]
- | key expressions:_col0 (type: string)
- | Map-reduce partition columns:_col0 (type: string)
- | sort order:+
- | Statistics:Num rows: 1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_23]
- | outputColumnNames:["_col0"]
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_107]
- | predicate:value is not null (type: boolean)
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_21]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 3 [CONTAINS]
+ | | Filter Operator [FIL_104]
+ | | predicate:key is not null (type: boolean)
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_21]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 13 [SIMPLE_EDGE]
+ | |<-Map 12 [CONTAINS]
+ | | Reduce Output Operator [RS_43]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_29]
+ | | outputColumnNames:["_col0"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_106]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_27]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 14 [CONTAINS]
+ | | Reduce Output Operator [RS_43]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_32]
+ | | outputColumnNames:["_col0"]
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_107]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_30]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 15 [CONTAINS]
+ | Reduce Output Operator [RS_43]
+ | key expressions:_col0 (type: string)
+ | Map-reduce partition columns:_col0 (type: string)
+ | sort order:+
+ | Statistics:Num rows: 1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_37]
+ | outputColumnNames:["_col0"]
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_108]
+ | predicate:value is not null (type: boolean)
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_35]
+ | alias:y
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 2 [CONTAINS]
File Output Operator [FS_78]
compressed:false
- Statistics:Num rows: 3550 Data size: 37482 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 3409 Data size: 36062 Basic stats: COMPLETE Column stats: NONE
table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
Select Operator [SEL_20]
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 634 Data size: 6658 Basic stats: COMPLETE Column stats: NONE
- Merge Join Operator [MERGEJOIN_119]
+ Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ Merge Join Operator [MERGEJOIN_118]
| condition map:[{"":"Inner Join 0 to 1"}]
- | keys:{"0":"_col1 (type: string)","1":"_col0 (type: string)"}
- | outputColumnNames:["_col1","_col4"]
- | Statistics:Num rows: 634 Data size: 6658 Basic stats: COMPLETE Column stats: NONE
- |<-Map 7 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_18]
- | key expressions:_col0 (type: string)
- | Map-reduce partition columns:_col0 (type: string)
+ | keys:{"0":"_col3 (type: string)","1":"_col0 (type: string)"}
+ | outputColumnNames:["_col1","_col2"]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 1 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_17]
+ | key expressions:_col3 (type: string)
+ | Map-reduce partition columns:_col3 (type: string)
| sort order:+
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col1 (type: string)
- | Select Operator [SEL_13]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_106]
- | predicate:key is not null (type: boolean)
+ | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | value expressions:_col1 (type: string), _col2 (type: string)
+ | Map Join Operator [MAPJOIN_115]
+ | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | HybridGraceHashJoin:true
+ | | keys:{"Map 1":"_col0 (type: string)","Map 4":"_col0 (type: string)"}
+ | | outputColumnNames:["_col1","_col2","_col3"]
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 4 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_15]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string)
+ | | Select Operator [SEL_5]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_101]
+ | | predicate:(key is not null and value is not null) (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_3]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Select Operator [SEL_2]
+ | outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_11]
- | alias:y
+ | Filter Operator [FIL_100]
+ | predicate:key is not null (type: boolean)
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Union 2 [SIMPLE_EDGE]
- |<-Map 1 [CONTAINS]
- | Reduce Output Operator [RS_17]
- | key expressions:_col1 (type: string)
- | Map-reduce partition columns:_col1 (type: string)
+ | TableScan [TS_0]
+ | alias:y
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 6 [SIMPLE_EDGE]
+ |<-Map 5 [CONTAINS]
+ | Reduce Output Operator [RS_18]
+ | key expressions:_col0 (type: string)
+ | Map-reduce partition columns:_col0 (type: string)
| sort order:+
- | Statistics:Num rows: 577 Data size: 6053 Basic stats: COMPLETE Column stats: NONE
- | Map Join Operator [MAPJOIN_118]
- | | condition map:[{"":"Inner Join 0 to 1"}]
- | | HybridGraceHashJoin:true
- | | keys:{"Map 1":"_col0 (type: string)","Map 6":"_col1 (type: string)"}
- | | outputColumnNames:["_col1"]
- | | Statistics:Num rows: 577 Data size: 6053 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 6 [BROADCAST_EDGE]
- | | Reduce Output Operator [RS_15]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string)
- | | Select Operator [SEL_10]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_105]
- | | predicate:(key is not null and value is not null) (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_8]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Reduce Output Operator [RS_124]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string)
- | | Please refer to the previous Select Operator [SEL_10]
- | |<-Select Operator [SEL_2]
- | outputColumnNames:["_col0"]
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_8]
+ | outputColumnNames:["_col0"]
+ | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_102]
+ | predicate:value is not null (type: boolean)
| Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_103]
- | predicate:value is not null (type: boolean)
+ | TableScan [TS_6]
+ | alias:x
| Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_0]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Map 5 [CONTAINS]
- Reduce Output Operator [RS_17]
- key expressions:_col1 (type: string)
- Map-reduce partition columns:_col1 (type: string)
+ |<-Map 7 [CONTAINS]
+ Reduce Output Operator [RS_18]
+ key expressions:_col0 (type: string)
+ Map-reduce partition columns:_col0 (type: string)
sort order:+
- Statistics:Num rows: 577 Data size: 6053 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator [MAPJOIN_118]
- | condition map:[{"":"Inner Join 0 to 1"}]
- | HybridGraceHashJoin:true
- | keys:{"Map 5":"_col0 (type: string)","Map 6":"_col1 (type: string)"}
- | outputColumnNames:["_col1"]
- | Statistics:Num rows: 577 Data size: 6053 Basic stats: COMPLETE Column stats: NONE
- |<- Please refer to the previous Map 6 [BROADCAST_EDGE]
- |<-Select Operator [SEL_5]
- outputColumnNames:["_col0"]
+ Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ Select Operator [SEL_11]
+ outputColumnNames:["_col0"]
+ Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator [FIL_103]
+ predicate:value is not null (type: boolean)
Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Filter Operator [FIL_104]
- predicate:value is not null (type: boolean)
+ TableScan [TS_9]
+ alias:y
Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- TableScan [TS_3]
- alias:y
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
PREHOOK: query: explain
SELECT x.key, y.value
@@ -3499,73 +3489,74 @@ POSTHOOK: type: QUERY
Plan optimized by CBO.
Vertex dependency in root stage
-Map 1 <- Union 2 (CONTAINS)
-Map 12 <- Union 13 (CONTAINS)
-Map 19 <- Union 13 (CONTAINS)
-Map 20 <- Union 15 (CONTAINS)
+Map 1 <- Map 7 (BROADCAST_EDGE)
+Map 11 <- Union 9 (CONTAINS)
+Map 16 <- Union 17 (CONTAINS)
+Map 21 <- Union 17 (CONTAINS)
+Map 22 <- Union 19 (CONTAINS)
Map 23 <- Map 24 (BROADCAST_EDGE)
Map 25 <- Union 26 (CONTAINS)
Map 32 <- Union 26 (CONTAINS)
Map 33 <- Union 28 (CONTAINS)
Map 34 <- Union 30 (CONTAINS)
-Map 9 <- Union 2 (CONTAINS)
-Reducer 14 <- Union 13 (SIMPLE_EDGE), Union 15 (CONTAINS)
-Reducer 16 <- Union 15 (SIMPLE_EDGE)
-Reducer 17 <- Map 21 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
-Reducer 18 <- Map 22 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Map 8 <- Union 9 (CONTAINS)
+Reducer 10 <- Union 9 (SIMPLE_EDGE)
+Reducer 13 <- Map 12 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE), Union 3 (CONTAINS)
+Reducer 18 <- Union 17 (SIMPLE_EDGE), Union 19 (CONTAINS)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE), Union 3 (CONTAINS)
+Reducer 20 <- Union 19 (SIMPLE_EDGE)
Reducer 27 <- Union 26 (SIMPLE_EDGE), Union 28 (CONTAINS)
Reducer 29 <- Union 28 (SIMPLE_EDGE), Union 30 (CONTAINS)
-Reducer 3 <- Map 10 (BROADCAST_EDGE), Union 2 (SIMPLE_EDGE)
-Reducer 31 <- Map 23 (BROADCAST_EDGE), Union 30 (SIMPLE_EDGE), Union 7 (CONTAINS)
-Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Reducer 6 <- Union 5 (SIMPLE_EDGE), Union 7 (CONTAINS)
-Reducer 8 <- Union 7 (SIMPLE_EDGE)
+Reducer 31 <- Map 23 (BROADCAST_EDGE), Union 30 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 4 <- Union 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 6 <- Union 5 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:-1
Stage-1
- Reducer 8
+ Reducer 6
File Output Operator [FS_122]
compressed:false
- Statistics:Num rows: 530 Data size: 5624 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 544 Data size: 5773 Basic stats: COMPLETE Column stats: NONE
table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"}
Group By Operator [GBY_120]
| keys:KEY._col0 (type: string), KEY._col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 530 Data size: 5624 Basic stats: COMPLETE Column stats: NONE
- |<-Union 7 [SIMPLE_EDGE]
+ | Statistics:Num rows: 544 Data size: 5773 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 5 [SIMPLE_EDGE]
|<-Reducer 31 [CONTAINS]
| Reduce Output Operator [RS_119]
| key expressions:_col0 (type: string), _col1 (type: string)
| Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
| sort order:++
- | Statistics:Num rows: 1061 Data size: 11260 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1089 Data size: 11558 Basic stats: COMPLETE Column stats: NONE
| Group By Operator [GBY_118]
| keys:_col0 (type: string), _col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 1061 Data size: 11260 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1089 Data size: 11558 Basic stats: COMPLETE Column stats: NONE
| Select Operator [SEL_114]
| outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 484 Data size: 5131 Basic stats: COMPLETE Column stats: NONE
- | Map Join Operator [MAPJOIN_167]
+ | Map Join Operator [MAPJOIN_164]
| | condition map:[{"":"Inner Join 0 to 1"}]
| | HybridGraceHashJoin:true
- | | keys:{"Map 23":"_col1 (type: string)","Reducer 31":"_col1 (type: string)"}
- | | outputColumnNames:["_col0","_col3"]
+ | | keys:{"Map 23":"_col3 (type: string)","Reducer 31":"_col1 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
| | Statistics:Num rows: 484 Data size: 5131 Basic stats: COMPLETE Column stats: NONE
| |<-Map 23 [BROADCAST_EDGE]
| | Reduce Output Operator [RS_111]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
+ | | key expressions:_col3 (type: string)
+ | | Map-reduce partition columns:_col3 (type: string)
| | sort order:+
| | Statistics:Num rows: 27 Data size: 210 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string), _col3 (type: string)
- | | Map Join Operator [MAPJOIN_166]
+ | | value expressions:_col1 (type: string), _col2 (type: string)
+ | | Map Join Operator [MAPJOIN_161]
| | | condition map:[{"":"Inner Join 0 to 1"}]
| | | HybridGraceHashJoin:true
| | | keys:{"Map 23":"_col0 (type: string)","Map 24":"_col0 (type: string)"}
- | | | outputColumnNames:["_col0","_col1","_col3"]
+ | | | outputColumnNames:["_col1","_col2","_col3"]
| | | Statistics:Num rows: 27 Data size: 210 Basic stats: COMPLETE Column stats: NONE
| | |<-Map 24 [BROADCAST_EDGE]
| | | Reduce Output Operator [RS_109]
@@ -3577,8 +3568,8 @@ Stage-0
| | | Select Operator [SEL_74]
| | | outputColumnNames:["_col0","_col1"]
| | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | | Filter Operator [FIL_157]
- | | | predicate:key is not null (type: boolean)
+ | | | Filter Operator [FIL_154]
+ | | | predicate:(key is not null and value is not null) (type: boolean)
| | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
| | | TableScan [TS_72]
| | | alias:x
@@ -3586,8 +3577,8 @@ Stage-0
| | |<-Select Operator [SEL_71]
| | outputColumnNames:["_col0","_col1"]
| | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_156]
- | | predicate:(key is not null and value is not null) (type: boolean)
+ | | Filter Operator [FIL_153]
+ | | predicate:key is not null (type: boolean)
| | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
| | TableScan [TS_69]
| | alias:x
@@ -3613,7 +3604,7 @@ Stage-0
| | Select Operator [SEL_100]
| | outputColumnNames:["_col0","_col1"]
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_161]
+ | | Filter Operator [FIL_158]
| | predicate:value is not null (type: boolean)
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
| | TableScan [TS_98]
@@ -3647,7 +3638,7 @@ Stage-0
| | Select Operator [SEL_90]
| | outputColumnNames:["_col0","_col1"]
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_160]
+ | | Filter Operator [FIL_157]
| | predicate:value is not null (type: boolean)
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
| | TableScan [TS_88]
@@ -3681,7 +3672,7 @@ Stage-0
| | Select Operator [SEL_77]
| | outputColumnNames:["_col0","_col1"]
| | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_158]
+ | | Filter Operator [FIL_155]
| | predicate:value is not null (type: boolean)
| | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
| | TableScan [TS_75]
@@ -3700,282 +3691,283 @@ Stage-0
| Select Operator [SEL_80]
| outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_159]
+ | Filter Operator [FIL_156]
| predicate:value is not null (type: boolean)
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
| TableScan [TS_78]
| alias:y
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 6 [CONTAINS]
+ |<-Reducer 4 [CONTAINS]
Reduce Output Operator [RS_119]
key expressions:_col0 (type: string), _col1 (type: string)
Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
sort order:++
- Statistics:Num rows: 1061 Data size: 11260 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1089 Data size: 11558 Basic stats: COMPLETE Column stats: NONE
Group By Operator [GBY_118]
keys:_col0 (type: string), _col1 (type: string)
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 1061 Data size: 11260 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1089 Data size: 11558 Basic stats: COMPLETE Column stats: NONE
Group By Operator [GBY_67]
| keys:KEY._col0 (type: string), KEY._col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 577 Data size: 6129 Basic stats: COMPLETE Column stats: NONE
- |<-Union 5 [SIMPLE_EDGE]
- |<-Reducer 18 [CONTAINS]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 3 [SIMPLE_EDGE]
+ |<-Reducer 14 [CONTAINS]
| Reduce Output Operator [RS_66]
| key expressions:_col0 (type: string), _col1 (type: string)
| Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
| sort order:++
- | Statistics:Num rows: 1155 Data size: 12270 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Group By Operator [GBY_65]
| keys:_col0 (type: string), _col1 (type: string)
| outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 1155 Data size: 12270 Basic stats: COMPLETE Column stats: NONE
+ | Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
| Select Operator [SEL_61]
| outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
- | Merge Join Operator [MERGEJOIN_165]
+ | Merge Join Operator [MERGEJOIN_163]
| | condition map:[{"":"Inner Join 0 to 1"}]
- | | keys:{"0":"_col2 (type: string)","1":"_col0 (type: string)"}
- | | outputColumnNames:["_col2","_col5"]
+ | | keys:{"0":"_col3 (type: string)","1":"_col1 (type: string)"}
+ | | outputColumnNames:["_col1","_col2"]
| | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 22 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_59]
- | | key expressions:_col0 (type: string)
- | | Map-reduce partition columns:_col0 (type: string)
+ | |<-Reducer 13 [SIMPLE_EDGE]
+ | | Reduce Output Operator [RS_58]
+ | | key expressions:_col3 (type: string)
+ | | Map-reduce partition columns:_col3 (type: string)
| | sort order:+
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col1 (type: string)
- | | Select Operator [SEL_54]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_155]
- | | predicate:key is not null (type: boolean)
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string), _col2 (type: string)
+ | | Merge Join Operator [MERGEJOIN_160]
+ | | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | | keys:{"0":"_col0 (type: string)","1":"_col0 (type: string)"}
+ | | | outputColumnNames:["_col1","_col2","_col3"]
+ | | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 12 [SIMPLE_EDGE]
+ | | | Reduce Output Operator [RS_55]
+ | | | key expressions:_col0 (type: string)
+ | | | Map-reduce partition columns:_col0 (type: string)
+ | | | sort order:+
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | value expressions:_col1 (type: string)
+ | | | Select Operator [SEL_28]
+ | | | outputColumnNames:["_col0","_col1"]
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | Filter Operator [FIL_148]
+ | | | predicate:key is not null (type: boolean)
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | | TableScan [TS_26]
+ | | | alias:y
+ | | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | |<-Map 15 [SIMPLE_EDGE]
+ | | Reduce Output Operator [RS_56]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_52]
- | | alias:y
+ | | value expressions:_col1 (type: string)
+ | | Select Operator [SEL_31]
+ | | outputColumnNames:["_col0","_col1"]
| | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 17 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_58]
- | key expressions:_col2 (type: string)
- | Map-reduce partition columns:_col2 (type: string)
+ | | Filter Operator [FIL_149]
+ | | predicate:(key is not null and value is not null) (type: boolean)
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_29]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 20 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_59]
+ | key expressions:_col1 (type: string)
+ | Map-reduce partition columns:_col1 (type: string)
| sort order:+
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | Merge Join Operator [MERGEJOIN_164]
- | | condition map:[{"":"Inner Join 0 to 1"}]
- | | keys:{"0":"_col1 (type: string)","1":"_col1 (type: string)"}
- | | outputColumnNames:["_col2"]
- | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 21 [SIMPLE_EDGE]
- | | Reduce Output Operator [RS_56]
- | | key expressions:_col1 (type: string)
- | | Map-reduce partition columns:_col1 (type: string)
- | | sort order:+
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | value expressions:_col0 (type: string)
- | | Select Operator [SEL_51]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_154]
- | | predicate:(key is not null and value is not null) (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_49]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 16 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_55]
- | key expressions:_col1 (type: string)
- | Map-reduce partition columns:_col1 (type: string)
- | sort order:+
- | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_48]
- | outputColumnNames:["_col1"]
- | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_47]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 15 [SIMPLE_EDGE]
- | |<-Map 20 [CONTAINS]
- | | Reduce Output Operator [RS_46]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_45]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_41]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_153]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_39]
- | | alias:y
- | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | |<-Reducer 14 [CONTAINS]
- | Reduce Output Operator [RS_46]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_45]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_37]
- | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- | |<-Union 13 [SIMPLE_EDGE]
- | |<-Map 12 [CONTAINS]
- | | Reduce Output Operator [RS_36]
- | | key expressions:_col0 (type: string), _col1 (type: string)
- | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | | sort order:++
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Group By Operator [GBY_35]
- | | keys:_col0 (type: string), _col1 (type: string)
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | | Select Operator [SEL_28]
- | | outputColumnNames:["_col0","_col1"]
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | Filter Operator [FIL_151]
- | | predicate:value is not null (type: boolean)
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | | TableScan [TS_26]
- | | alias:x
- | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | |<-Map 19 [CONTAINS]
- | Reduce Output Operator [RS_36]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_35]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_31]
- | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_54]
+ | outputColumnNames:["_col1"]
+ | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_53]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 381 Data size: 4029 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 19 [SIMPLE_EDGE]
+ | |<-Map 22 [CONTAINS]
+ | | Reduce Output Operator [RS_52]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_51]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_47]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_152]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_45]
+ | | alias:y
+ | | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | |<-Reducer 18 [CONTAINS]
+ | Reduce Output Operator [RS_52]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_51]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 762 Data size: 8058 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_43]
+ | | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ | |<-Union 17 [SIMPLE_EDGE]
+ | |<-Map 16 [CONTAINS]
+ | | Reduce Output Operator [RS_42]
+ | | key expressions:_col0 (type: string), _col1 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | | sort order:++
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Group By Operator [GBY_41]
+ | | keys:_col0 (type: string), _col1 (type: string)
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | | Select Operator [SEL_34]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_150]
+ | | predicate:value is not null (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_32]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 21 [CONTAINS]
+ | Reduce Output Operator [RS_42]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_41]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_37]
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_151]
+ | predicate:value is not null (type: boolean)
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_35]
+ | alias:y
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_152]
- | predicate:value is not null (type: boolean)
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_29]
- | alias:y
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 4 [CONTAINS]
+ |<-Reducer 2 [CONTAINS]
Reduce Output Operator [RS_66]
key expressions:_col0 (type: string), _col1 (type: string)
Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
sort order:++
- Statistics:Num rows: 1155 Data size: 12270 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Group By Operator [GBY_65]
keys:_col0 (type: string), _col1 (type: string)
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 1155 Data size: 12270 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE
Select Operator [SEL_25]
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- Merge Join Operator [MERGEJOIN_163]
+ Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ Merge Join Operator [MERGEJOIN_162]
| condition map:[{"":"Inner Join 0 to 1"}]
- | keys:{"0":"_col2 (type: string)","1":"_col0 (type: string)"}
- | outputColumnNames:["_col2","_col5"]
- | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
- |<-Map 11 [SIMPLE_EDGE]
- | Reduce Output Operator [RS_23]
- | key expressions:_col0 (type: string)
- | Map-reduce partition columns:_col0 (type: string)
+ | keys:{"0":"_col3 (type: string)","1":"_col1 (type: string)"}
+ | outputColumnNames:["_col1","_col2"]
+ | Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 1 [SIMPLE_EDGE]
+ | Reduce Output Operator [RS_22]
+ | key expressions:_col3 (type: string)
+ | Map-reduce partition columns:_col3 (type: string)
| sort order:+
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col1 (type: string)
- | Select Operator [SEL_18]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_150]
- | predicate:key is not null (type: boolean)
+ | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | value expressions:_col1 (type: string), _col2 (type: string)
+ | Map Join Operator [MAPJOIN_159]
+ | | condition map:[{"":"Inner Join 0 to 1"}]
+ | | HybridGraceHashJoin:true
+ | | keys:{"Map 1":"_col0 (type: string)","Map 7":"_col0 (type: string)"}
+ | | outputColumnNames:["_col1","_col2","_col3"]
+ | | Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ | |<-Map 7 [BROADCAST_EDGE]
+ | | Reduce Output Operator [RS_20]
+ | | key expressions:_col0 (type: string)
+ | | Map-reduce partition columns:_col0 (type: string)
+ | | sort order:+
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | value expressions:_col1 (type: string)
+ | | Select Operator [SEL_5]
+ | | outputColumnNames:["_col0","_col1"]
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | Filter Operator [FIL_145]
+ | | predicate:(key is not null and value is not null) (type: boolean)
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | | TableScan [TS_3]
+ | | alias:x
+ | | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ | |<-Select Operator [SEL_2]
+ | outputColumnNames:["_col0","_col1"]
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_16]
- | alias:y
+ | Filter Operator [FIL_144]
+ | predicate:key is not null (type: boolean)
| Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- |<-Reducer 3 [SIMPLE_EDGE]
- Reduce Output Operator [RS_22]
- key expressions:_col2 (type: string)
- Map-reduce partition columns:_col2 (type: string)
+ | TableScan [TS_0]
+ | alias:y
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Reducer 10 [SIMPLE_EDGE]
+ Reduce Output Operator [RS_23]
+ key expressions:_col1 (type: string)
+ Map-reduce partition columns:_col1 (type: string)
sort order:+
- Statistics:Num rows: 288 Data size: 3020 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator [MAPJOIN_162]
- | condition map:[{"":"Inner Join 0 to 1"}]
- | HybridGraceHashJoin:true
- | keys:{"Reducer 3":"_col1 (type: string)","Map 10":"_col1 (type: string)"}
- | outputColumnNames:["_col2"]
- | Statistics:Num rows: 288 Data size: 3020 Basic stats: COMPLETE Column stats: NONE
- |<-Map 10 [BROADCAST_EDGE]
- | Reduce Output Operator [RS_20]
- | key expressions:_col1 (type: string)
- | Map-reduce partition columns:_col1 (type: string)
- | sort order:+
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | value expressions:_col0 (type: string)
- | Select Operator [SEL_15]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_149]
- | predicate:(key is not null and value is not null) (type: boolean)
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_13]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Select Operator [SEL_12]
- outputColumnNames:["_col1"]
- Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- Group By Operator [GBY_11]
- | keys:KEY._col0 (type: string), KEY._col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
- |<-Union 2 [SIMPLE_EDGE]
- |<-Map 1 [CONTAINS]
- | Reduce Output Operator [RS_10]
- | key expressions:_col0 (type: string), _col1 (type: string)
- | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- | sort order:++
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Group By Operator [GBY_9]
- | keys:_col0 (type: string), _col1 (type: string)
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- | Select Operator [SEL_2]
- | outputColumnNames:["_col0","_col1"]
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | Filter Operator [FIL_147]
- | predicate:value is not null (type: boolean)
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- | TableScan [TS_0]
- | alias:x
- | Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
- |<-Map 9 [CONTAINS]
- Reduce Output Operator [RS_10]
- key expressions:_col0 (type: string), _col1 (type: string)
- Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
- sort order:++
+ Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ Select Operator [SEL_18]
+ outputColumnNames:["_col1"]
+ Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator [GBY_17]
+ | keys:KEY._col0 (type: string), KEY._col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 262 Data size: 2746 Basic stats: COMPLETE Column stats: NONE
+ |<-Union 9 [SIMPLE_EDGE]
+ |<-Map 11 [CONTAINS]
+ | Reduce Output Operator [RS_16]
+ | key expressions:_col0 (type: string), _col1 (type: string)
+ | Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ | sort order:++
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Group By Operator [GBY_15]
+ | keys:_col0 (type: string), _col1 (type: string)
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ | Select Operator [SEL_11]
+ | outputColumnNames:["_col0","_col1"]
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | Filter Operator [FIL_147]
+ | predicate:value is not null (type: boolean)
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ | TableScan [TS_9]
+ | alias:y
+ | Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ |<-Map 8 [CONTAINS]
+ Reduce Output Operator [RS_16]
+ key expressions:_col0 (type: string), _col1 (type: string)
+ Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+ sort order:++
+ Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator [GBY_15]
+ keys:_col0 (type: string), _col1 (type: string)
+ outputColumnNames:["_col0","_col1"]
Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- Group By Operator [GBY_9]
- keys:_col0 (type: string), _col1 (type: string)
+ Select Operator [SEL_8]
outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE
- Select Operator [SEL_5]
- outputColumnNames:["_col0","_col1"]
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- Filter Operator [FIL_148]
- predicate:value is not null (type: boolean)
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
- TableScan [TS_3]
- alias:y
- Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator [FIL_146]
+ predicate:value is not null (type: boolean)
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+ TableScan [TS_6]
+ alias:x
+ Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
PREHOOK: query: CREATE TABLE a(key STRING, value STRING) STORED AS TEXTFILE
PREHOOK: type: CREATETABLE
diff --git a/ql/src/test/results/clientpositive/tez/tez_join_hash.q.out b/ql/src/test/results/clientpositive/tez/tez_join_hash.q.out
index 0202def..3355e72 100644
--- a/ql/src/test/results/clientpositive/tez/tez_join_hash.q.out
+++ b/ql/src/test/results/clientpositive/tez/tez_join_hash.q.out
@@ -156,35 +156,35 @@ STAGE PLANS:
alias: x
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (key is not null and value is not null) (type: boolean)
+ predicate: key is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string), value (type: string)
- outputColumnNames: _col0, _col1
+ expressions: key (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
Map 6
Map Operator Tree:
TableScan
alias: x
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (key is not null and value is not null) (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
+ expressions: key (type: string), value (type: string)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: string)
Map 7
Map Operator Tree:
TableScan
@@ -228,10 +228,10 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1, _col2
+ outputColumnNames: _col0, _col2
Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col2 (type: string), _col1 (type: string)
+ expressions: _col0 (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
diff --git a/ql/src/test/results/clientpositive/vector_outer_join3.q.out b/ql/src/test/results/clientpositive/vector_outer_join3.q.out
index 3345247..f0c0113 100644
--- a/ql/src/test/results/clientpositive/vector_outer_join3.q.out
+++ b/ql/src/test/results/clientpositive/vector_outer_join3.q.out
@@ -475,37 +475,37 @@ STAGE PLANS:
Stage: Stage-8
Map Reduce Local Work
Alias -> Map Local Tables:
- $hdt$_1:c
+ $hdt$_0:c
Fetch Operator
limit: -1
$hdt$_2:c
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- $hdt$_1:c
+ $hdt$_0:c
TableScan
alias: c
Statistics: Num rows: 20 Data size: 4400 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: cbigint (type: bigint), cstring2 (type: string)
+ expressions: cint (type: int), cstring1 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 20 Data size: 4400 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col3 (type: string), _col1 (type: bigint)
- 1 _col1 (type: string), _col0 (type: bigint)
+ 0 _col2 (type: string), _col0 (type: int)
+ 1 _col1 (type: string), _col0 (type: int)
$hdt$_2:c
TableScan
alias: c
Statistics: Num rows: 20 Data size: 4400 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: cint (type: int), cstring1 (type: string)
+ expressions: cbigint (type: bigint), cstring2 (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 20 Data size: 4400 Basic stats: COMPLETE Column stats: NONE
HashTable Sink Operator
keys:
- 0 _col2 (type: string), _col0 (type: int)
- 1 _col1 (type: string), _col0 (type: int)
+ 0 _col3 (type: string), _col1 (type: bigint)
+ 1 _col1 (type: string), _col0 (type: bigint)
Stage: Stage-3
Map Reduce