diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index 7cee344295..d94568dbde 100644 --- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -1754,6 +1754,10 @@ private static void populateLlapDaemonVarsSet(Set llapDaemonVarsSetLocal "When estimating output rows for a join involving multiple columns, the default behavior assumes" + "the columns are independent. Setting this flag to true will cause the estimator to assume" + "the columns are correlated."), + HIVE_STATS_LOGICAL_CORRELATED_MULTI_KEY_JOINS("hive.stats.logical.correlated.multi.key.joins", true, + "When estimating output rows for a join involving multiple columns, the default behavior assumes" + + "the columns are independent. Setting this flag to true will cause the estimator to assume" + + "the columns are correlated."), // in the absence of uncompressed/raw data size, total file size will be used for statistics // annotation. But the file may be compressed, encoded and serialized which may be lesser in size // than the actual uncompressed/raw data size. This factor will be multiplied to file size to estimate diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveConfPlannerContext.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveConfPlannerContext.java new file mode 100644 index 0000000000..756b671a83 --- /dev/null +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveConfPlannerContext.java @@ -0,0 +1,34 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.hive.ql.optimizer.calcite; + +import org.apache.calcite.rel.RelNode; + +import java.util.Set; + +public class HiveConfPlannerContext{ + + private boolean isCorrelatedColumns; + + + public HiveConfPlannerContext(boolean isCorrelatedColumns) { + this.isCorrelatedColumns = isCorrelatedColumns; + } + + public boolean getIsCorrelatedColumns() { return isCorrelatedColumns;} +} diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HivePlannerContext.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HivePlannerContext.java index bdf995548f..56e2f88d79 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HivePlannerContext.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HivePlannerContext.java @@ -31,10 +31,11 @@ private HiveRulesRegistry registry; private CalciteConnectionConfig calciteConfig; private SubqueryConf subqueryConfig; + private HiveConfPlannerContext isCorrelatedColumns; public HivePlannerContext(HiveAlgorithmsConf algoConfig, HiveRulesRegistry registry, CalciteConnectionConfig calciteConfig, Set corrScalarRexSQWithAgg, - Set scalarAggNoGbyWindowing) { + Set scalarAggNoGbyWindowing, HiveConfPlannerContext isCorrelatedColumns) { this.algoConfig = algoConfig; this.registry = registry; this.calciteConfig = calciteConfig; @@ -42,6 +43,7 @@ public HivePlannerContext(HiveAlgorithmsConf algoConfig, HiveRulesRegistry regis // this is computed in CalcitePlanner while planning and is later required by subuery remove rule // hence this is passed using HivePlannerContext this.subqueryConfig = new SubqueryConf(corrScalarRexSQWithAgg, scalarAggNoGbyWindowing); + this.isCorrelatedColumns = isCorrelatedColumns; } public T unwrap(Class clazz) { @@ -57,6 +59,9 @@ public HivePlannerContext(HiveAlgorithmsConf algoConfig, HiveRulesRegistry regis if(clazz.isInstance(subqueryConfig)) { return clazz.cast(subqueryConfig); } + if(clazz.isInstance(isCorrelatedColumns)) { + return clazz.cast(isCorrelatedColumns); + } return null; } } \ No newline at end of file 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 046f51b5a0..ec62b6efee 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 @@ -17,30 +17,22 @@ */ package org.apache.hadoop.hive.ql.optimizer.calcite.stats; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Set; - +import com.google.common.collect.ImmutableMap; import org.apache.calcite.rel.core.Join; import org.apache.calcite.rel.core.JoinRelType; import org.apache.calcite.rel.core.SemiJoin; -import org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider; -import org.apache.calcite.rel.metadata.RelMdSelectivity; -import org.apache.calcite.rel.metadata.RelMdUtil; -import org.apache.calcite.rel.metadata.RelMetadataProvider; -import org.apache.calcite.rel.metadata.RelMetadataQuery; +import org.apache.calcite.rel.metadata.*; import org.apache.calcite.rex.RexNode; import org.apache.calcite.util.BuiltInMethod; import org.apache.calcite.util.Pair; import org.apache.hadoop.hive.ql.optimizer.calcite.CalciteSemanticException; import org.apache.hadoop.hive.ql.optimizer.calcite.HiveCalciteUtil.JoinLeafPredicateInfo; import org.apache.hadoop.hive.ql.optimizer.calcite.HiveCalciteUtil.JoinPredicateInfo; +import org.apache.hadoop.hive.ql.optimizer.calcite.HiveConfPlannerContext; import org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveJoin; import org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveTableScan; -import com.google.common.collect.ImmutableMap; +import java.util.*; public class HiveRelMdSelectivity extends RelMdSelectivity { @@ -123,7 +115,14 @@ private Double computeInnerJoinSelectivity(Join j, RelMetadataQuery mq, RexNode int noOfPE = peLst.size(); double ndvCrossProduct = 1; if (noOfPE > 0) { - ndvCrossProduct = exponentialBackoff(peLst, colStatMap); + boolean isCorrelatedColumns = j.getCluster().getPlanner().getContext(). + unwrap(HiveConfPlannerContext.class).getIsCorrelatedColumns(); + if (noOfPE > 1 && isCorrelatedColumns ){ + ndvCrossProduct = maxNdvForCorrelatedColumns(peLst, colStatMap); + } + else { + ndvCrossProduct = exponentialBackoff(peLst, colStatMap); + } if (j instanceof SemiJoin) { ndvCrossProduct = Math.min(mq.getRowCount(j.getLeft()), @@ -185,6 +184,16 @@ protected double logSmoothing(List peLst, ImmutableMap peLst, + ImmutableMap colStatMap) { + int noOfPE = peLst.size(); + List ndvs = new ArrayList(noOfPE); + for (int i = 0; i < noOfPE; i++) { + ndvs.add(getMaxNDVForJoinSelectivity(peLst.get(i), colStatMap)); + } + return Collections.max(ndvs); + } + /* * a) Order predciates based on ndv in reverse order. b) ndvCrossProduct = * ndv(pe0) * ndv(pe1) ^(1/2) * ndv(pe2) ^(1/4) * ndv(pe3) ^(1/8) ... diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java index d6695ccbf2..5b3119c280 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java @@ -148,6 +148,7 @@ import org.apache.hadoop.hive.ql.optimizer.calcite.HiveCalciteUtil; import org.apache.hadoop.hive.ql.optimizer.calcite.HiveDefaultRelMetadataProvider; import org.apache.hadoop.hive.ql.optimizer.calcite.HivePlannerContext; +import org.apache.hadoop.hive.ql.optimizer.calcite.HiveConfPlannerContext; import org.apache.hadoop.hive.ql.optimizer.calcite.HiveRelFactories; import org.apache.hadoop.hive.ql.optimizer.calcite.HiveRexExecutorImpl; import org.apache.hadoop.hive.ql.optimizer.calcite.HiveTypeSystemImpl; @@ -1334,8 +1335,10 @@ public RelNode apply(RelOptCluster cluster, RelOptSchema relOptSchema, SchemaPlu CalciteConnectionProperty.MATERIALIZATIONS_ENABLED.camelName(), Boolean.FALSE.toString()); CalciteConnectionConfig calciteConfig = new CalciteConnectionConfigImpl(calciteConfigProperties); + boolean isCorrelatedColumns = HiveConf.getBoolVar(conf, + ConfVars.AGGR_JOIN_TRANSPOSE.HIVE_STATS_LOGICAL_CORRELATED_MULTI_KEY_JOINS); HivePlannerContext confContext = new HivePlannerContext(algorithmsConf, registry, calciteConfig, - corrScalarRexSQWithAgg, scalarAggNoGbyNoWin); + corrScalarRexSQWithAgg, scalarAggNoGbyNoWin, new HiveConfPlannerContext(isCorrelatedColumns)); RelOptPlanner planner = HiveVolcanoPlanner.createPlanner(confContext); final RexBuilder rexBuilder = cluster.getRexBuilder(); final RelOptCluster optCluster = RelOptCluster.create(planner, rexBuilder); diff --git a/ql/src/test/org/apache/hadoop/hive/ql/optimizer/calcite/TestCBORuleFiredOnlyOnce.java b/ql/src/test/org/apache/hadoop/hive/ql/optimizer/calcite/TestCBORuleFiredOnlyOnce.java index 884e034731..94d6693431 100644 --- a/ql/src/test/org/apache/hadoop/hive/ql/optimizer/calcite/TestCBORuleFiredOnlyOnce.java +++ b/ql/src/test/org/apache/hadoop/hive/ql/optimizer/calcite/TestCBORuleFiredOnlyOnce.java @@ -62,7 +62,7 @@ public void testRuleFiredOnlyOnce() { // Create rules registry to not trigger a rule more than once HiveRulesRegistry registry = new HiveRulesRegistry(); HivePlannerContext context = new HivePlannerContext(null, registry, null, - null, null); + null, null, null); HepPlanner planner = new HepPlanner(programBuilder.build(), context); // Cluster diff --git a/ql/src/test/results/clientpositive/join_alt_syntax.q.out b/ql/src/test/results/clientpositive/join_alt_syntax.q.out index 1c08e6a630..5f9a7ce96a 100644 --- a/ql/src/test/results/clientpositive/join_alt_syntax.q.out +++ b/ql/src/test/results/clientpositive/join_alt_syntax.q.out @@ -356,9 +356,9 @@ where p2.p_name = p3.p_name and p1.p_partkey = p4.p_partkey POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 - Stage-3 depends on stages: Stage-2 - Stage-0 depends on stages: Stage-3 + Stage-2 depends on stages: Stage-1, Stage-4 + Stage-4 is a root stage + Stage-0 depends on stages: Stage-2 STAGE PLANS: Stage: Stage-1 @@ -375,32 +375,34 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col1 (type: string), _col0 (type: int) - sort order: ++ - Map-reduce partition columns: _col1 (type: string), _col0 (type: int) + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: string) TableScan - alias: p2 + alias: p4 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (p_name is not null and p_partkey is not null) (type: boolean) + predicate: p_partkey is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: p_partkey (type: int), p_name (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col1 (type: string), _col0 (type: int) - sort order: ++ - Map-reduce partition columns: _col1 (type: string), _col0 (type: int) + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 26 Data size: 3147 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 _col1 (type: string), _col0 (type: int) - 1 _col1 (type: string), _col0 (type: int) + 0 _col0 (type: int) + 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -415,11 +417,58 @@ STAGE PLANS: Map Operator Tree: TableScan Reduce Output Operator - key expressions: _col3 (type: string) - sort order: + - Map-reduce partition columns: _col3 (type: string) + key expressions: _col0 (type: int), _col1 (type: string) + sort order: ++ + Map-reduce partition columns: _col0 (type: int), _col1 (type: string) + Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE + value expressions: _col3 (type: string) + TableScan + Reduce Output Operator + key expressions: _col0 (type: int), _col1 (type: string) + sort order: ++ + Map-reduce partition columns: _col0 (type: int), _col1 (type: string) Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: string) + value expressions: _col2 (type: string) + Reduce Operator Tree: + Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 _col0 (type: int), _col1 (type: string) + 1 _col0 (type: int), _col1 (type: string) + outputColumnNames: _col1, _col3, _col5, _col6 + Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col1 (type: string), _col5 (type: string), _col6 (type: string), _col3 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-4 + Map Reduce + Map Operator Tree: + TableScan + alias: p2 + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (p_name is not null and p_partkey is not null) (type: boolean) + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: p_partkey (type: int), p_name (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int) TableScan alias: p3 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE @@ -440,10 +489,10 @@ STAGE PLANS: condition map: Inner Join 0 to 1 keys: - 0 _col3 (type: string) + 0 _col1 (type: string) 1 _col0 (type: string) - outputColumnNames: _col0, _col1, _col3, _col4 - Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false table: @@ -451,53 +500,6 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-3 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: string), _col3 (type: string), _col4 (type: string) - TableScan - alias: p4 - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: p_partkey is not null (type: boolean) - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: p_partkey (type: int), p_name (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 26 Data size: 3147 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 _col0 (type: int) - 1 _col0 (type: int) - outputColumnNames: _col1, _col3, _col4, _col6 - Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string), _col3 (type: string), _col4 (type: string), _col6 (type: string) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-0 Fetch Operator limit: -1 @@ -516,9 +518,9 @@ where p2.p_name = p3.p_name and p1.p_partkey = p4.p_partkey POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 - Stage-3 depends on stages: Stage-2 - Stage-0 depends on stages: Stage-3 + Stage-2 depends on stages: Stage-1, Stage-4 + Stage-4 is a root stage + Stage-0 depends on stages: Stage-2 STAGE PLANS: Stage: Stage-1 @@ -535,32 +537,34 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col1 (type: string), _col0 (type: int) - sort order: ++ - Map-reduce partition columns: _col1 (type: string), _col0 (type: int) + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: string) TableScan - alias: p2 + alias: p4 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (p_name is not null and p_partkey is not null) (type: boolean) + predicate: p_partkey is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: p_partkey (type: int), p_name (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col1 (type: string), _col0 (type: int) - sort order: ++ - Map-reduce partition columns: _col1 (type: string), _col0 (type: int) + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 26 Data size: 3147 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 _col1 (type: string), _col0 (type: int) - 1 _col1 (type: string), _col0 (type: int) + 0 _col0 (type: int) + 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -575,11 +579,58 @@ STAGE PLANS: Map Operator Tree: TableScan Reduce Output Operator - key expressions: _col3 (type: string) - sort order: + - Map-reduce partition columns: _col3 (type: string) + key expressions: _col0 (type: int), _col1 (type: string) + sort order: ++ + Map-reduce partition columns: _col0 (type: int), _col1 (type: string) + Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE + value expressions: _col3 (type: string) + TableScan + Reduce Output Operator + key expressions: _col0 (type: int), _col1 (type: string) + sort order: ++ + Map-reduce partition columns: _col0 (type: int), _col1 (type: string) Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: string) + value expressions: _col2 (type: string) + Reduce Operator Tree: + Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 _col0 (type: int), _col1 (type: string) + 1 _col0 (type: int), _col1 (type: string) + outputColumnNames: _col1, _col3, _col5, _col6 + Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col1 (type: string), _col5 (type: string), _col6 (type: string), _col3 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-4 + Map Reduce + Map Operator Tree: + TableScan + alias: p2 + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (p_name is not null and p_partkey is not null) (type: boolean) + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: p_partkey (type: int), p_name (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int) TableScan alias: p3 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE @@ -600,10 +651,10 @@ STAGE PLANS: condition map: Inner Join 0 to 1 keys: - 0 _col3 (type: string) + 0 _col1 (type: string) 1 _col0 (type: string) - outputColumnNames: _col0, _col1, _col3, _col4 - Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false table: @@ -611,53 +662,6 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-3 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: string), _col3 (type: string), _col4 (type: string) - TableScan - alias: p4 - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: p_partkey is not null (type: boolean) - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: p_partkey (type: int), p_name (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 26 Data size: 3147 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 _col0 (type: int) - 1 _col0 (type: int) - outputColumnNames: _col1, _col3, _col4, _col6 - Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string), _col3 (type: string), _col4 (type: string), _col6 (type: string) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-0 Fetch Operator limit: -1 diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out index 6b03800d4a..374aefb9ff 100644 --- a/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out +++ b/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out @@ -142,30 +142,30 @@ from part p1 join part p2 join part p3 on p2.p_name = p1.p_name join part p4 on POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 - Stage-3 depends on stages: Stage-2 - Stage-0 depends on stages: Stage-3 + Stage-2 depends on stages: Stage-1, Stage-4 + Stage-4 is a root stage + Stage-0 depends on stages: Stage-2 STAGE PLANS: Stage: Stage-1 Map Reduce Map Operator Tree: TableScan - alias: p1 + alias: p3 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (p_name is not null and p_partkey is not null) (type: boolean) + predicate: p_name is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col1 (type: string), _col0 (type: int) - sort order: ++ - Map-reduce partition columns: _col1 (type: string), _col0 (type: int) + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string) + value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string) TableScan alias: p2 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE @@ -177,18 +177,18 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col1 (type: string), _col0 (type: int) - sort order: ++ - Map-reduce partition columns: _col1 (type: string), _col0 (type: int) + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string) + value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string) Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 keys: - 0 _col1 (type: string), _col0 (type: int) - 1 _col1 (type: string), _col0 (type: int) + 0 _col1 (type: string) + 1 _col1 (type: string) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17 Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -203,53 +203,58 @@ STAGE PLANS: Map Operator Tree: TableScan Reduce Output Operator - key expressions: _col10 (type: string) - sort order: + - Map-reduce partition columns: _col10 (type: string) + key expressions: _col9 (type: int), _col10 (type: string) + sort order: ++ + Map-reduce partition columns: _col9 (type: int), _col10 (type: string) Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string) + value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string) TableScan - alias: p3 - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: p_name is not null (type: boolean) - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string) + Reduce Output Operator + key expressions: _col0 (type: int), _col1 (type: string) + sort order: ++ + Map-reduce partition columns: _col0 (type: int), _col1 (type: string) + Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE + value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string) Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 keys: - 0 _col10 (type: string) - 1 _col1 (type: string) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26 + 0 _col9 (type: int), _col10 (type: string) + 1 _col0 (type: int), _col1 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35 Statistics: Num rows: 30 Data size: 3807 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: _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col27 (type: int), _col28 (type: string), _col29 (type: string), _col30 (type: string), _col31 (type: string), _col32 (type: int), _col33 (type: string), _col34 (type: double), _col35 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35 + Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-3 + Stage: Stage-4 Map Reduce Map Operator Tree: TableScan - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string) + alias: p1 + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (p_name is not null and p_partkey is not null) (type: boolean) + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string) TableScan alias: p4 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE @@ -273,15 +278,14 @@ STAGE PLANS: keys: 0 _col0 (type: int) 1 _col0 (type: int) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35 - Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17 + Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe Stage: Stage-0 Fetch Operator diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out index 1408dad546..0270744da7 100644 --- a/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out +++ b/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out @@ -146,30 +146,30 @@ where p2.p_name = p3.p_name and p1.p_partkey = p4.p_partkey POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 - Stage-3 depends on stages: Stage-2 - Stage-0 depends on stages: Stage-3 + Stage-2 depends on stages: Stage-1, Stage-4 + Stage-4 is a root stage + Stage-0 depends on stages: Stage-2 STAGE PLANS: Stage: Stage-1 Map Reduce Map Operator Tree: TableScan - alias: p1 + alias: p3 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (p_name is not null and p_partkey is not null) (type: boolean) + predicate: p_name is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col1 (type: string), _col0 (type: int) - sort order: ++ - Map-reduce partition columns: _col1 (type: string), _col0 (type: int) + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string) + value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string) TableScan alias: p2 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE @@ -181,18 +181,18 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col1 (type: string), _col0 (type: int) - sort order: ++ - Map-reduce partition columns: _col1 (type: string), _col0 (type: int) + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string) + value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string) Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 keys: - 0 _col1 (type: string), _col0 (type: int) - 1 _col1 (type: string), _col0 (type: int) + 0 _col1 (type: string) + 1 _col1 (type: string) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17 Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -207,53 +207,58 @@ STAGE PLANS: Map Operator Tree: TableScan Reduce Output Operator - key expressions: _col10 (type: string) - sort order: + - Map-reduce partition columns: _col10 (type: string) + key expressions: _col9 (type: int), _col10 (type: string) + sort order: ++ + Map-reduce partition columns: _col9 (type: int), _col10 (type: string) Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string) + value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string) TableScan - alias: p3 - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: p_name is not null (type: boolean) - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string) + Reduce Output Operator + key expressions: _col0 (type: int), _col1 (type: string) + sort order: ++ + Map-reduce partition columns: _col0 (type: int), _col1 (type: string) + Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE + value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string) Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 keys: - 0 _col10 (type: string) - 1 _col1 (type: string) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26 + 0 _col9 (type: int), _col10 (type: string) + 1 _col0 (type: int), _col1 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35 Statistics: Num rows: 30 Data size: 3807 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: _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col27 (type: int), _col28 (type: string), _col29 (type: string), _col30 (type: string), _col31 (type: string), _col32 (type: int), _col33 (type: string), _col34 (type: double), _col35 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35 + Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-3 + Stage: Stage-4 Map Reduce Map Operator Tree: TableScan - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string) + alias: p1 + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (p_name is not null and p_partkey is not null) (type: boolean) + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string) TableScan alias: p4 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE @@ -277,15 +282,14 @@ STAGE PLANS: keys: 0 _col0 (type: int) 1 _col0 (type: int) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35 - Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17 + Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe Stage: Stage-0 Fetch Operator diff --git a/ql/src/test/results/clientpositive/perf/query17.q.out b/ql/src/test/results/clientpositive/perf/query17.q.out index 5b1f2a875b..effbd2d138 100644 --- a/ql/src/test/results/clientpositive/perf/query17.q.out +++ b/ql/src/test/results/clientpositive/perf/query17.q.out @@ -89,139 +89,137 @@ POSTHOOK: type: QUERY Plan optimized by CBO. Vertex dependency in root stage -Reducer 10 <- Map 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) -Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 13 (SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE) -Reducer 3 <- Reducer 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) -Reducer 4 <- Map 15 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) -Reducer 5 <- Reducer 4 (SIMPLE_EDGE) +Reducer 10 <- Reducer 11 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) +Reducer 11 <- Map 14 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) +Reducer 3 <- Map 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) +Reducer 4 <- Reducer 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) +Reducer 5 <- Map 15 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) Reducer 6 <- Reducer 5 (SIMPLE_EDGE) -Reducer 8 <- Map 7 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) -Reducer 9 <- Map 7 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE) +Reducer 7 <- Reducer 6 (SIMPLE_EDGE) +Reducer 9 <- Map 13 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) Stage-0 Fetch Operator limit:100 Stage-1 - Reducer 6 - File Output Operator [FS_54] - Limit [LIM_53] (rows=100 width=88) + Reducer 7 + File Output Operator [FS_55] + Limit [LIM_54] (rows=100 width=88) Number of rows:100 - Select Operator [SEL_52] (rows=510205767 width=88) + Select Operator [SEL_53] (rows=421657640 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"] - <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_51] - Select Operator [SEL_50] (rows=510205767 width=88) + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_52] + Select Operator [SEL_51] (rows=421657640 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] - Group By Operator [GBY_49] (rows=510205767 width=88) + Group By Operator [GBY_50] (rows=421657640 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"],aggregations:["count(VALUE._col0)","avg(VALUE._col1)","stddev_samp(VALUE._col2)","count(VALUE._col3)","avg(VALUE._col4)","stddev_samp(VALUE._col5)","count(VALUE._col6)","avg(VALUE._col7)","stddev_samp(VALUE._col8)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_48] + <-Reducer 5 [SIMPLE_EDGE] + SHUFFLE [RS_49] PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_47] (rows=1020411534 width=88) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"],aggregations:["count(_col15)","avg(_col15)","stddev_samp(_col15)","count(_col20)","avg(_col20)","stddev_samp(_col20)","count(_col3)","avg(_col3)","stddev_samp(_col3)"],keys:_col24, _col25, _col7 - Merge Join Operator [MERGEJOIN_100] (rows=1020411534 width=88) - Conds:RS_43._col11=RS_44._col0(Inner),Output:["_col3","_col7","_col15","_col20","_col24","_col25"] + Group By Operator [GBY_48] (rows=843315281 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"],aggregations:["count(_col5)","avg(_col5)","stddev_samp(_col5)","count(_col21)","avg(_col21)","stddev_samp(_col21)","count(_col14)","avg(_col14)","stddev_samp(_col14)"],keys:_col9, _col10, _col25 + Merge Join Operator [MERGEJOIN_98] (rows=843315281 width=88) + Conds:RS_44._col3=RS_45._col0(Inner),Output:["_col5","_col9","_col10","_col14","_col21","_col25"] <-Map 15 [SIMPLE_EDGE] - SHUFFLE [RS_44] + SHUFFLE [RS_45] PartitionCols:_col0 - Select Operator [SEL_36] (rows=462000 width=1436) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_93] (rows=462000 width=1436) - predicate:i_item_sk is not null - TableScan [TS_34] (rows=462000 width=1436) - default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc"] - <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_43] - PartitionCols:_col11 - Merge Join Operator [MERGEJOIN_99] (rows=927646829 width=88) - Conds:RS_40._col1, _col2=RS_41._col12, _col11(Inner),Output:["_col3","_col7","_col11","_col15","_col20"] + Select Operator [SEL_34] (rows=1704 width=1910) + Output:["_col0","_col1"] + Filter Operator [FIL_91] (rows=1704 width=1910) + predicate:s_store_sk is not null + TableScan [TS_32] (rows=1704 width=1910) + default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_state"] + <-Reducer 4 [SIMPLE_EDGE] + SHUFFLE [RS_44] + PartitionCols:_col3 + Merge Join Operator [MERGEJOIN_97] (rows=766650239 width=88) + Conds:RS_41._col1, _col2, _col4=RS_42._col7, _col8, _col9(Inner),Output:["_col3","_col5","_col9","_col10","_col14","_col21"] <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_42] + PartitionCols:_col7, _col8, _col9 + Merge Join Operator [MERGEJOIN_96] (rows=348467716 width=135) + Conds:RS_28._col2, _col1=RS_29._col1, _col2(Inner),Output:["_col3","_col7","_col8","_col9","_col10"] + <-Reducer 11 [SIMPLE_EDGE] + SHUFFLE [RS_29] + PartitionCols:_col1, _col2 + Merge Join Operator [MERGEJOIN_95] (rows=63350266 width=77) + Conds:RS_21._col0=RS_22._col0(Inner),Output:["_col1","_col2","_col3","_col4"] + <-Map 8 [SIMPLE_EDGE] + SHUFFLE [RS_22] + PartitionCols:_col0 + Select Operator [SEL_20] (rows=36525 width=1119) + Output:["_col0"] + Filter Operator [FIL_90] (rows=36525 width=1119) + predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null) + TableScan [TS_3] (rows=73049 width=1119) + default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_quarter_name"] + <-Map 14 [SIMPLE_EDGE] + SHUFFLE [RS_21] + PartitionCols:_col0 + Select Operator [SEL_17] (rows=57591150 width=77) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_89] (rows=57591150 width=77) + predicate:(sr_item_sk is not null and sr_customer_sk is not null and sr_ticket_number is not null and sr_returned_date_sk is not null) + TableScan [TS_15] (rows=57591150 width=77) + default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_return_quantity"] + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_28] + PartitionCols:_col2, _col1 + Merge Join Operator [MERGEJOIN_94] (rows=316788826 width=135) + Conds:RS_25._col0=RS_26._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 8 [SIMPLE_EDGE] + SHUFFLE [RS_26] + PartitionCols:_col0 + Select Operator [SEL_14] (rows=36525 width=1119) + Output:["_col0"] + Filter Operator [FIL_88] (rows=36525 width=1119) + predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 13 [SIMPLE_EDGE] + SHUFFLE [RS_25] + PartitionCols:_col0 + Select Operator [SEL_11] (rows=287989836 width=135) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_87] (rows=287989836 width=135) + predicate:(cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) + TableScan [TS_9] (rows=287989836 width=135) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity"] + <-Reducer 3 [SIMPLE_EDGE] SHUFFLE [RS_41] - PartitionCols:_col12, _col11 - Select Operator [SEL_33] (rows=843315281 width=88) - Output:["_col1","_col5","_col9","_col11","_col12","_col14"] - Merge Join Operator [MERGEJOIN_98] (rows=843315281 width=88) - Conds:RS_30._col3=RS_31._col0(Inner),Output:["_col1","_col5","_col7","_col8","_col10","_col16"] - <-Map 14 [SIMPLE_EDGE] - SHUFFLE [RS_31] - PartitionCols:_col0 - Select Operator [SEL_20] (rows=1704 width=1910) - Output:["_col0","_col1"] - Filter Operator [FIL_92] (rows=1704 width=1910) - predicate:s_store_sk is not null - TableScan [TS_18] (rows=1704 width=1910) - default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_state"] - <-Reducer 9 [SIMPLE_EDGE] - SHUFFLE [RS_30] - PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_97] (rows=766650239 width=88) - Conds:RS_27._col6=RS_28._col0(Inner),Output:["_col1","_col3","_col5","_col7","_col8","_col10"] - <-Map 7 [SIMPLE_EDGE] - SHUFFLE [RS_28] - PartitionCols:_col0 - Select Operator [SEL_17] (rows=36525 width=1119) - Output:["_col0"] - Filter Operator [FIL_91] (rows=36525 width=1119) - predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null) - TableScan [TS_3] (rows=73049 width=1119) - default@date_dim,d3,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_quarter_name"] - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_27] - PartitionCols:_col6 - Merge Join Operator [MERGEJOIN_96] (rows=696954748 width=88) - Conds:RS_24._col0=RS_25._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8","_col10"] - <-Map 7 [SIMPLE_EDGE] - SHUFFLE [RS_25] - PartitionCols:_col0 - Select Operator [SEL_14] (rows=36524 width=1119) - Output:["_col0"] - Filter Operator [FIL_90] (rows=36524 width=1119) - predicate:((d_quarter_name = '2000Q1') and d_date_sk is not null) - Please refer to the previous TableScan [TS_3] - <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_24] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_95] (rows=633595212 width=88) - Conds:RS_21._col1, _col2, _col4=RS_22._col1, _col2, _col3(Inner),Output:["_col0","_col1","_col3","_col5","_col6","_col7","_col8","_col10"] - <-Map 11 [SIMPLE_EDGE] - SHUFFLE [RS_21] - PartitionCols:_col1, _col2, _col4 - Select Operator [SEL_8] (rows=575995635 width=88) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_88] (rows=575995635 width=88) - predicate:(ss_item_sk is not null and ss_customer_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null) - TableScan [TS_6] (rows=575995635 width=88) - default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_quantity"] - <-Map 13 [SIMPLE_EDGE] - SHUFFLE [RS_22] - PartitionCols:_col1, _col2, _col3 - Select Operator [SEL_11] (rows=57591150 width=77) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_89] (rows=57591150 width=77) - predicate:(sr_item_sk is not null and sr_customer_sk is not null and sr_ticket_number is not null and sr_returned_date_sk is not null) - TableScan [TS_9] (rows=57591150 width=77) - default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_return_quantity"] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_40] - PartitionCols:_col1, _col2 - Merge Join Operator [MERGEJOIN_94] (rows=316788826 width=135) - Conds:RS_37._col0=RS_38._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 7 [SIMPLE_EDGE] - SHUFFLE [RS_38] + PartitionCols:_col1, _col2, _col4 + Merge Join Operator [MERGEJOIN_93] (rows=696954748 width=88) + Conds:RS_38._col1=RS_39._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col9","_col10"] + <-Map 12 [SIMPLE_EDGE] + SHUFFLE [RS_39] PartitionCols:_col0 - Select Operator [SEL_5] (rows=36525 width=1119) - Output:["_col0"] - Filter Operator [FIL_87] (rows=36525 width=1119) - predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null) - Please refer to the previous TableScan [TS_3] - <-Map 1 [SIMPLE_EDGE] - SHUFFLE [RS_37] - PartitionCols:_col0 - Select Operator [SEL_2] (rows=287989836 width=135) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_86] (rows=287989836 width=135) - predicate:(cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) - TableScan [TS_0] (rows=287989836 width=135) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity"] + Select Operator [SEL_8] (rows=462000 width=1436) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_86] (rows=462000 width=1436) + predicate:i_item_sk is not null + TableScan [TS_6] (rows=462000 width=1436) + default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc"] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_38] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_92] (rows=633595212 width=88) + Conds:RS_35._col0=RS_36._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"] + <-Map 8 [SIMPLE_EDGE] + SHUFFLE [RS_36] + PartitionCols:_col0 + Select Operator [SEL_5] (rows=36524 width=1119) + Output:["_col0"] + Filter Operator [FIL_85] (rows=36524 width=1119) + predicate:((d_quarter_name = '2000Q1') and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_35] + PartitionCols:_col0 + Select Operator [SEL_2] (rows=575995635 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_84] (rows=575995635 width=88) + predicate:(ss_item_sk is not null and ss_customer_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null) + TableScan [TS_0] (rows=575995635 width=88) + default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_quantity"] diff --git a/ql/src/test/results/clientpositive/perf/query24.q.out b/ql/src/test/results/clientpositive/perf/query24.q.out index bfc89e260b..96c98b8215 100644 --- a/ql/src/test/results/clientpositive/perf/query24.q.out +++ b/ql/src/test/results/clientpositive/perf/query24.q.out @@ -101,8 +101,8 @@ Plan optimized by CBO. Vertex dependency in root stage Reducer 10 <- Map 18 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) -Reducer 11 <- Map 19 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE) -Reducer 12 <- Map 17 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE) +Reducer 11 <- Map 16 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE) +Reducer 12 <- Map 19 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE) Reducer 13 <- Map 20 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) Reducer 14 <- Reducer 13 (SIMPLE_EDGE) Reducer 15 <- Reducer 14 (CUSTOM_SIMPLE_EDGE) @@ -113,7 +113,7 @@ Reducer 5 <- Map 19 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) Reducer 6 <- Map 20 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE) Reducer 7 <- Reducer 6 (SIMPLE_EDGE) Reducer 8 <- Reducer 15 (CUSTOM_SIMPLE_EDGE), Reducer 7 (CUSTOM_SIMPLE_EDGE) -Reducer 9 <- Map 1 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE) +Reducer 9 <- Map 1 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE) Stage-0 Fetch Operator @@ -145,9 +145,9 @@ Stage-0 SHUFFLE [RS_78] PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 Group By Operator [GBY_77] (rows=927646829 width=88) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(_col4)"],keys:_col22, _col17, _col18, _col19, _col20, _col21, _col13, _col14, _col8, _col10 + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(_col4)"],keys:_col11, _col12, _col6, _col8, _col15, _col16, _col17, _col18, _col19, _col22 Merge Join Operator [MERGEJOIN_153] (rows=927646829 width=88) - Conds:RS_73._col11, _col15=RS_74._col1, upper(_col2)(Inner),Output:["_col4","_col8","_col10","_col13","_col14","_col17","_col18","_col19","_col20","_col21","_col22"] + Conds:RS_73._col9, _col13=RS_74._col1, upper(_col2)(Inner),Output:["_col4","_col6","_col8","_col11","_col12","_col15","_col16","_col17","_col18","_col19","_col22"] <-Map 20 [SIMPLE_EDGE] SHUFFLE [RS_74] PartitionCols:_col1, upper(_col2) @@ -159,69 +159,69 @@ Stage-0 default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_state","ca_zip","ca_country"] <-Reducer 12 [SIMPLE_EDGE] SHUFFLE [RS_73] - PartitionCols:_col11, _col15 + PartitionCols:_col9, _col13 Merge Join Operator [MERGEJOIN_152] (rows=843315281 width=88) - Conds:RS_70._col0=RS_71._col0(Inner),Output:["_col4","_col8","_col10","_col11","_col13","_col14","_col15","_col17","_col18","_col19","_col20","_col21"] - <-Map 17 [SIMPLE_EDGE] + Conds:RS_70._col0, _col3=RS_71._col0, _col1(Inner),Output:["_col4","_col6","_col8","_col9","_col11","_col12","_col13","_col15","_col16","_col17","_col18","_col19"] + <-Map 19 [SIMPLE_EDGE] SHUFFLE [RS_71] - PartitionCols:_col0 - Select Operator [SEL_57] (rows=462000 width=1436) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_142] (rows=462000 width=1436) - predicate:i_item_sk is not null - TableScan [TS_6] (rows=462000 width=1436) - default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_current_price","i_size","i_color","i_units","i_manager_id"] + PartitionCols:_col0, _col1 + Select Operator [SEL_14] (rows=57591150 width=77) + Output:["_col0","_col1"] + Filter Operator [FIL_136] (rows=57591150 width=77) + predicate:(sr_item_sk is not null and sr_ticket_number is not null) + TableScan [TS_12] (rows=57591150 width=77) + default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_item_sk","sr_ticket_number"] <-Reducer 11 [SIMPLE_EDGE] SHUFFLE [RS_70] - PartitionCols:_col0 + PartitionCols:_col0, _col3 Merge Join Operator [MERGEJOIN_151] (rows=766650239 width=88) - Conds:RS_67._col1=RS_68._col0(Inner),Output:["_col0","_col4","_col8","_col10","_col11","_col13","_col14","_col15"] - <-Map 19 [SIMPLE_EDGE] + Conds:RS_67._col0=RS_68._col0(Inner),Output:["_col0","_col3","_col4","_col6","_col8","_col9","_col11","_col12","_col13","_col15","_col16","_col17","_col18","_col19"] + <-Map 16 [SIMPLE_EDGE] SHUFFLE [RS_68] PartitionCols:_col0 - Select Operator [SEL_14] (rows=80000000 width=860) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_136] (rows=80000000 width=860) - predicate:(c_customer_sk is not null and c_birth_country is not null) - TableScan [TS_12] (rows=80000000 width=860) - default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_first_name","c_last_name","c_birth_country"] + Select Operator [SEL_54] (rows=462000 width=1436) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_141] (rows=462000 width=1436) + predicate:i_item_sk is not null + TableScan [TS_3] (rows=462000 width=1436) + default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_current_price","i_size","i_color","i_units","i_manager_id"] <-Reducer 10 [SIMPLE_EDGE] SHUFFLE [RS_67] - PartitionCols:_col1 + PartitionCols:_col0 Merge Join Operator [MERGEJOIN_150] (rows=696954748 width=88) - Conds:RS_64._col2=RS_65._col0(Inner),Output:["_col0","_col1","_col4","_col8","_col10","_col11"] + Conds:RS_64._col1=RS_65._col0(Inner),Output:["_col0","_col3","_col4","_col6","_col8","_col9","_col11","_col12","_col13"] <-Map 18 [SIMPLE_EDGE] SHUFFLE [RS_65] PartitionCols:_col0 - Select Operator [SEL_11] (rows=852 width=1910) - Output:["_col0","_col1","_col3","_col4"] - Filter Operator [FIL_135] (rows=852 width=1910) - predicate:((s_market_id = 7) and s_store_sk is not null and s_zip is not null) - TableScan [TS_9] (rows=1704 width=1910) - default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name","s_market_id","s_state","s_zip"] + Select Operator [SEL_11] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_135] (rows=80000000 width=860) + predicate:(c_customer_sk is not null and c_birth_country is not null) + TableScan [TS_9] (rows=80000000 width=860) + default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_first_name","c_last_name","c_birth_country"] <-Reducer 9 [SIMPLE_EDGE] SHUFFLE [RS_64] - PartitionCols:_col2 + PartitionCols:_col1 Merge Join Operator [MERGEJOIN_149] (rows=633595212 width=88) - Conds:RS_61._col0, _col3=RS_62._col0, _col1(Inner),Output:["_col0","_col1","_col2","_col4"] + Conds:RS_61._col2=RS_62._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col6","_col8","_col9"] <-Map 1 [SIMPLE_EDGE] SHUFFLE [RS_61] - PartitionCols:_col0, _col3 + PartitionCols:_col2 Select Operator [SEL_2] (rows=575995635 width=88) Output:["_col0","_col1","_col2","_col3","_col4"] Filter Operator [FIL_132] (rows=575995635 width=88) predicate:(ss_item_sk is not null and ss_ticket_number is not null and ss_store_sk is not null and ss_customer_sk is not null) TableScan [TS_0] (rows=575995635 width=88) default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_sales_price"] - <-Map 16 [SIMPLE_EDGE] + <-Map 17 [SIMPLE_EDGE] SHUFFLE [RS_62] - PartitionCols:_col0, _col1 - Select Operator [SEL_5] (rows=57591150 width=77) - Output:["_col0","_col1"] - Filter Operator [FIL_133] (rows=57591150 width=77) - predicate:(sr_item_sk is not null and sr_ticket_number is not null) - TableScan [TS_3] (rows=57591150 width=77) - default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_item_sk","sr_ticket_number"] + PartitionCols:_col0 + Select Operator [SEL_8] (rows=852 width=1910) + Output:["_col0","_col1","_col3","_col4"] + Filter Operator [FIL_134] (rows=852 width=1910) + predicate:((s_market_id = 7) and s_store_sk is not null and s_zip is not null) + TableScan [TS_6] (rows=1704 width=1910) + default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name","s_market_id","s_state","s_zip"] <-Reducer 7 [CUSTOM_SIMPLE_EDGE] PARTITION_ONLY_SHUFFLE [RS_86] Select Operator [SEL_42] (rows=231911707 width=88) @@ -236,55 +236,55 @@ Stage-0 SHUFFLE [RS_35] PartitionCols:_col0, _col1, _col2 Group By Operator [GBY_34] (rows=927646829 width=88) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"],aggregations:["sum(_col4)"],keys:_col19, _col20, _col14, _col22, _col8, _col9, _col11, _col12, _col16 + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"],aggregations:["sum(_col4)"],keys:_col17, _col18, _col12, _col22, _col6, _col7, _col9, _col10, _col14 Merge Join Operator [MERGEJOIN_148] (rows=927646829 width=88) - Conds:RS_30._col17, _col21=RS_31._col1, upper(_col2)(Inner),Output:["_col4","_col8","_col9","_col11","_col12","_col14","_col16","_col19","_col20","_col22"] + Conds:RS_30._col15, _col19=RS_31._col1, upper(_col2)(Inner),Output:["_col4","_col6","_col7","_col9","_col10","_col12","_col14","_col17","_col18","_col22"] <-Map 20 [SIMPLE_EDGE] SHUFFLE [RS_31] PartitionCols:_col1, upper(_col2) Please refer to the previous Select Operator [SEL_17] <-Reducer 5 [SIMPLE_EDGE] SHUFFLE [RS_30] - PartitionCols:_col17, _col21 + PartitionCols:_col15, _col19 Merge Join Operator [MERGEJOIN_147] (rows=843315281 width=88) - Conds:RS_27._col1=RS_28._col0(Inner),Output:["_col4","_col8","_col9","_col11","_col12","_col14","_col16","_col17","_col19","_col20","_col21"] + Conds:RS_27._col0, _col3=RS_28._col0, _col1(Inner),Output:["_col4","_col6","_col7","_col9","_col10","_col12","_col14","_col15","_col17","_col18","_col19"] <-Map 19 [SIMPLE_EDGE] SHUFFLE [RS_28] - PartitionCols:_col0 + PartitionCols:_col0, _col1 Please refer to the previous Select Operator [SEL_14] <-Reducer 4 [SIMPLE_EDGE] SHUFFLE [RS_27] - PartitionCols:_col1 + PartitionCols:_col0, _col3 Merge Join Operator [MERGEJOIN_146] (rows=766650239 width=88) - Conds:RS_24._col2=RS_25._col0(Inner),Output:["_col1","_col4","_col8","_col9","_col11","_col12","_col14","_col16","_col17"] + Conds:RS_24._col1=RS_25._col0(Inner),Output:["_col0","_col3","_col4","_col6","_col7","_col9","_col10","_col12","_col14","_col15","_col17","_col18","_col19"] <-Map 18 [SIMPLE_EDGE] SHUFFLE [RS_25] PartitionCols:_col0 Please refer to the previous Select Operator [SEL_11] <-Reducer 3 [SIMPLE_EDGE] SHUFFLE [RS_24] - PartitionCols:_col2 + PartitionCols:_col1 Merge Join Operator [MERGEJOIN_145] (rows=696954748 width=88) - Conds:RS_21._col0=RS_22._col0(Inner),Output:["_col1","_col2","_col4","_col8","_col9","_col11","_col12"] + Conds:RS_21._col2=RS_22._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col6","_col7","_col9","_col10","_col12","_col14","_col15"] <-Map 17 [SIMPLE_EDGE] SHUFFLE [RS_22] PartitionCols:_col0 - Select Operator [SEL_8] (rows=231000 width=1436) - Output:["_col0","_col1","_col2","_col4","_col5"] - Filter Operator [FIL_134] (rows=231000 width=1436) - predicate:((i_color = 'orchid') and i_item_sk is not null) - Please refer to the previous TableScan [TS_6] + Please refer to the previous Select Operator [SEL_8] <-Reducer 2 [SIMPLE_EDGE] SHUFFLE [RS_21] - PartitionCols:_col0 + PartitionCols:_col2 Merge Join Operator [MERGEJOIN_144] (rows=633595212 width=88) - Conds:RS_18._col0, _col3=RS_19._col0, _col1(Inner),Output:["_col0","_col1","_col2","_col4"] + Conds:RS_18._col0=RS_19._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col6","_col7","_col9","_col10"] <-Map 1 [SIMPLE_EDGE] SHUFFLE [RS_18] - PartitionCols:_col0, _col3 + PartitionCols:_col0 Please refer to the previous Select Operator [SEL_2] <-Map 16 [SIMPLE_EDGE] SHUFFLE [RS_19] - PartitionCols:_col0, _col1 - Please refer to the previous Select Operator [SEL_5] + PartitionCols:_col0 + Select Operator [SEL_5] (rows=231000 width=1436) + Output:["_col0","_col1","_col2","_col4","_col5"] + Filter Operator [FIL_133] (rows=231000 width=1436) + predicate:((i_color = 'orchid') and i_item_sk is not null) + Please refer to the previous TableScan [TS_3] diff --git a/ql/src/test/results/clientpositive/perf/query25.q.out b/ql/src/test/results/clientpositive/perf/query25.q.out index 071e23ef8f..78db4e608f 100644 --- a/ql/src/test/results/clientpositive/perf/query25.q.out +++ b/ql/src/test/results/clientpositive/perf/query25.q.out @@ -95,137 +95,135 @@ POSTHOOK: type: QUERY Plan optimized by CBO. Vertex dependency in root stage -Reducer 10 <- Map 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) -Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 13 (SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE) +Reducer 10 <- Reducer 11 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) +Reducer 11 <- Map 13 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) Reducer 3 <- Reducer 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) -Reducer 4 <- Map 15 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) -Reducer 5 <- Reducer 4 (SIMPLE_EDGE) +Reducer 4 <- Map 14 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) +Reducer 5 <- Map 15 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) Reducer 6 <- Reducer 5 (SIMPLE_EDGE) -Reducer 8 <- Map 7 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) -Reducer 9 <- Map 7 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE) +Reducer 7 <- Reducer 6 (SIMPLE_EDGE) +Reducer 9 <- Map 12 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) Stage-0 Fetch Operator limit:100 Stage-1 - Reducer 6 - File Output Operator [FS_54] - Limit [LIM_53] (rows=100 width=88) + Reducer 7 + File Output Operator [FS_55] + Limit [LIM_54] (rows=100 width=88) Number of rows:100 - Select Operator [SEL_52] (rows=510205767 width=88) + Select Operator [SEL_53] (rows=421657640 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"] - <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_51] - Group By Operator [GBY_49] (rows=510205767 width=88) + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_52] + Group By Operator [GBY_50] (rows=421657640 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3 - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_48] + <-Reducer 5 [SIMPLE_EDGE] + SHUFFLE [RS_49] PartitionCols:_col0, _col1, _col2, _col3 - Group By Operator [GBY_47] (rows=1020411534 width=88) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col18)","sum(_col23)","sum(_col3)"],keys:_col28, _col29, _col8, _col9 - Merge Join Operator [MERGEJOIN_100] (rows=1020411534 width=88) - Conds:RS_43._col14=RS_44._col0(Inner),Output:["_col3","_col8","_col9","_col18","_col23","_col28","_col29"] + Group By Operator [GBY_48] (rows=843315281 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col5)","sum(_col20)","sum(_col12)"],keys:_col25, _col26, _col28, _col29 + Merge Join Operator [MERGEJOIN_101] (rows=843315281 width=88) + Conds:RS_44._col3=RS_45._col0(Inner),Output:["_col5","_col12","_col20","_col25","_col26","_col28","_col29"] <-Map 15 [SIMPLE_EDGE] - SHUFFLE [RS_44] + SHUFFLE [RS_45] PartitionCols:_col0 - Select Operator [SEL_36] (rows=462000 width=1436) + Select Operator [SEL_34] (rows=1704 width=1910) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_93] (rows=462000 width=1436) - predicate:i_item_sk is not null - TableScan [TS_34] (rows=462000 width=1436) - default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc"] - <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_43] - PartitionCols:_col14 - Merge Join Operator [MERGEJOIN_99] (rows=927646829 width=88) - Conds:RS_40._col1, _col2=RS_41._col14, _col13(Inner),Output:["_col3","_col8","_col9","_col14","_col18","_col23"] - <-Reducer 10 [SIMPLE_EDGE] + Filter Operator [FIL_94] (rows=1704 width=1910) + predicate:s_store_sk is not null + TableScan [TS_32] (rows=1704 width=1910) + default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_id","s_store_name"] + <-Reducer 4 [SIMPLE_EDGE] + SHUFFLE [RS_44] + PartitionCols:_col3 + Merge Join Operator [MERGEJOIN_100] (rows=766650239 width=88) + Conds:RS_41._col1=RS_42._col0(Inner),Output:["_col3","_col5","_col12","_col20","_col25","_col26"] + <-Map 14 [SIMPLE_EDGE] + SHUFFLE [RS_42] + PartitionCols:_col0 + Select Operator [SEL_31] (rows=462000 width=1436) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_93] (rows=462000 width=1436) + predicate:i_item_sk is not null + TableScan [TS_29] (rows=462000 width=1436) + default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc"] + <-Reducer 3 [SIMPLE_EDGE] SHUFFLE [RS_41] - PartitionCols:_col14, _col13 - Select Operator [SEL_33] (rows=843315281 width=88) - Output:["_col1","_col2","_col7","_col11","_col13","_col14","_col16"] - Merge Join Operator [MERGEJOIN_98] (rows=843315281 width=88) - Conds:RS_30._col3=RS_31._col0(Inner),Output:["_col1","_col5","_col7","_col8","_col10","_col18","_col19"] - <-Map 14 [SIMPLE_EDGE] - SHUFFLE [RS_31] - PartitionCols:_col0 - Select Operator [SEL_20] (rows=1704 width=1910) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_92] (rows=1704 width=1910) - predicate:s_store_sk is not null - TableScan [TS_18] (rows=1704 width=1910) - default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_id","s_store_name"] - <-Reducer 9 [SIMPLE_EDGE] - SHUFFLE [RS_30] - PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_97] (rows=766650239 width=88) - Conds:RS_27._col6=RS_28._col0(Inner),Output:["_col1","_col3","_col5","_col7","_col8","_col10"] - <-Map 7 [SIMPLE_EDGE] - SHUFFLE [RS_28] - PartitionCols:_col0 - Select Operator [SEL_17] (rows=4058 width=1119) - Output:["_col0"] - Filter Operator [FIL_91] (rows=4058 width=1119) - predicate:(d_moy BETWEEN 4 AND 10 and (d_year = 2000) and d_date_sk is not null) - TableScan [TS_3] (rows=73049 width=1119) - default@date_dim,d3,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"] - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_27] - PartitionCols:_col6 - Merge Join Operator [MERGEJOIN_96] (rows=696954748 width=88) - Conds:RS_24._col0=RS_25._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8","_col10"] - <-Map 7 [SIMPLE_EDGE] - SHUFFLE [RS_25] - PartitionCols:_col0 - Select Operator [SEL_14] (rows=18262 width=1119) - Output:["_col0"] - Filter Operator [FIL_90] (rows=18262 width=1119) - predicate:((d_moy = 4) and (d_year = 2000) and d_date_sk is not null) - Please refer to the previous TableScan [TS_3] - <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_24] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_95] (rows=633595212 width=88) - Conds:RS_21._col1, _col2, _col4=RS_22._col1, _col2, _col3(Inner),Output:["_col0","_col1","_col3","_col5","_col6","_col7","_col8","_col10"] - <-Map 11 [SIMPLE_EDGE] - SHUFFLE [RS_21] - PartitionCols:_col1, _col2, _col4 - Select Operator [SEL_8] (rows=575995635 width=88) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_88] (rows=575995635 width=88) - predicate:(ss_item_sk is not null and ss_customer_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null) - TableScan [TS_6] (rows=575995635 width=88) - default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_net_profit"] - <-Map 13 [SIMPLE_EDGE] - SHUFFLE [RS_22] - PartitionCols:_col1, _col2, _col3 - Select Operator [SEL_11] (rows=57591150 width=77) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_89] (rows=57591150 width=77) - predicate:(sr_item_sk is not null and sr_customer_sk is not null and sr_ticket_number is not null and sr_returned_date_sk is not null) - TableScan [TS_9] (rows=57591150 width=77) - default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_net_loss"] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_40] - PartitionCols:_col1, _col2 - Merge Join Operator [MERGEJOIN_94] (rows=316788826 width=135) - Conds:RS_37._col0=RS_38._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 7 [SIMPLE_EDGE] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_99] (rows=696954748 width=88) + Conds:RS_38._col1, _col2, _col4=RS_39._col8, _col9, _col10(Inner),Output:["_col1","_col3","_col5","_col12","_col20"] + <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_39] + PartitionCols:_col8, _col9, _col10 + Merge Join Operator [MERGEJOIN_98] (rows=348467716 width=135) + Conds:RS_25._col2, _col1=RS_26._col1, _col2(Inner),Output:["_col3","_col8","_col9","_col10","_col11"] + <-Reducer 11 [SIMPLE_EDGE] + SHUFFLE [RS_26] + PartitionCols:_col1, _col2 + Merge Join Operator [MERGEJOIN_97] (rows=63350266 width=77) + Conds:RS_18._col0=RS_19._col0(Inner),Output:["_col1","_col2","_col3","_col4"] + <-Map 8 [SIMPLE_EDGE] + SHUFFLE [RS_19] + PartitionCols:_col0 + Select Operator [SEL_17] (rows=4058 width=1119) + Output:["_col0"] + Filter Operator [FIL_92] (rows=4058 width=1119) + predicate:(d_moy BETWEEN 4 AND 10 and (d_year = 2000) and d_date_sk is not null) + TableScan [TS_3] (rows=73049 width=1119) + default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"] + <-Map 13 [SIMPLE_EDGE] + SHUFFLE [RS_18] + PartitionCols:_col0 + Select Operator [SEL_14] (rows=57591150 width=77) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_91] (rows=57591150 width=77) + predicate:(sr_item_sk is not null and sr_customer_sk is not null and sr_ticket_number is not null and sr_returned_date_sk is not null) + TableScan [TS_12] (rows=57591150 width=77) + default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_net_loss"] + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_25] + PartitionCols:_col2, _col1 + Merge Join Operator [MERGEJOIN_96] (rows=316788826 width=135) + Conds:RS_22._col0=RS_23._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 8 [SIMPLE_EDGE] + SHUFFLE [RS_23] + PartitionCols:_col0 + Select Operator [SEL_11] (rows=4058 width=1119) + Output:["_col0"] + Filter Operator [FIL_90] (rows=4058 width=1119) + predicate:(d_moy BETWEEN 4 AND 10 and (d_year = 2000) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 12 [SIMPLE_EDGE] + SHUFFLE [RS_22] + PartitionCols:_col0 + Select Operator [SEL_8] (rows=287989836 width=135) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_89] (rows=287989836 width=135) + predicate:(cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) + TableScan [TS_6] (rows=287989836 width=135) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_net_profit"] + <-Reducer 2 [SIMPLE_EDGE] SHUFFLE [RS_38] - PartitionCols:_col0 - Select Operator [SEL_5] (rows=4058 width=1119) - Output:["_col0"] - Filter Operator [FIL_87] (rows=4058 width=1119) - predicate:(d_moy BETWEEN 4 AND 10 and (d_year = 2000) and d_date_sk is not null) - Please refer to the previous TableScan [TS_3] - <-Map 1 [SIMPLE_EDGE] - SHUFFLE [RS_37] - PartitionCols:_col0 - Select Operator [SEL_2] (rows=287989836 width=135) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_86] (rows=287989836 width=135) - predicate:(cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) - TableScan [TS_0] (rows=287989836 width=135) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_net_profit"] + PartitionCols:_col1, _col2, _col4 + Merge Join Operator [MERGEJOIN_95] (rows=633595212 width=88) + Conds:RS_35._col0=RS_36._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"] + <-Map 8 [SIMPLE_EDGE] + SHUFFLE [RS_36] + PartitionCols:_col0 + Select Operator [SEL_5] (rows=18262 width=1119) + Output:["_col0"] + Filter Operator [FIL_88] (rows=18262 width=1119) + predicate:((d_moy = 4) and (d_year = 2000) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_35] + PartitionCols:_col0 + Select Operator [SEL_2] (rows=575995635 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_87] (rows=575995635 width=88) + predicate:(ss_item_sk is not null and ss_customer_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null) + TableScan [TS_0] (rows=575995635 width=88) + default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_net_profit"] diff --git a/ql/src/test/results/clientpositive/perf/query29.q.out b/ql/src/test/results/clientpositive/perf/query29.q.out index 07306c094e..986a0256bc 100644 --- a/ql/src/test/results/clientpositive/perf/query29.q.out +++ b/ql/src/test/results/clientpositive/perf/query29.q.out @@ -93,138 +93,138 @@ POSTHOOK: type: QUERY Plan optimized by CBO. Vertex dependency in root stage -Reducer 10 <- Map 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) -Reducer 11 <- Map 14 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE) -Reducer 12 <- Map 15 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE) -Reducer 3 <- Reducer 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) -Reducer 4 <- Map 16 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) +Reducer 10 <- Map 15 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) +Reducer 11 <- Map 16 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE) +Reducer 13 <- Map 12 (SIMPLE_EDGE), Map 14 (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 6 <- Reducer 5 (SIMPLE_EDGE) -Reducer 9 <- Map 13 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) +Reducer 8 <- Map 12 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE) +Reducer 9 <- Reducer 13 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE) Stage-0 Fetch Operator limit:100 Stage-1 - Reducer 6 - File Output Operator [FS_54] - Limit [LIM_53] (rows=100 width=88) + Reducer 5 + File Output Operator [FS_55] + Limit [LIM_54] (rows=100 width=88) Number of rows:100 - Select Operator [SEL_52] (rows=510205767 width=88) + Select Operator [SEL_53] (rows=463823414 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"] - <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_51] - Group By Operator [GBY_49] (rows=510205767 width=88) + <-Reducer 4 [SIMPLE_EDGE] + SHUFFLE [RS_52] + Group By Operator [GBY_50] (rows=463823414 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3 - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_48] + <-Reducer 3 [SIMPLE_EDGE] + SHUFFLE [RS_49] PartitionCols:_col0, _col1, _col2, _col3 - Group By Operator [GBY_47] (rows=1020411534 width=88) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col17)","sum(_col22)","sum(_col3)"],keys:_col27, _col28, _col7, _col8 - Merge Join Operator [MERGEJOIN_100] (rows=1020411534 width=88) - Conds:RS_43._col13=RS_44._col0(Inner),Output:["_col3","_col7","_col8","_col17","_col22","_col27","_col28"] - <-Map 16 [SIMPLE_EDGE] - SHUFFLE [RS_44] - PartitionCols:_col0 - Select Operator [SEL_36] (rows=462000 width=1436) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_93] (rows=462000 width=1436) - predicate:i_item_sk is not null - TableScan [TS_34] (rows=462000 width=1436) - default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc"] - <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_43] - PartitionCols:_col13 - Merge Join Operator [MERGEJOIN_99] (rows=927646829 width=88) - Conds:RS_40._col1, _col2=RS_41._col14, _col13(Inner),Output:["_col3","_col7","_col8","_col13","_col17","_col22"] - <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_41] - PartitionCols:_col14, _col13 - Select Operator [SEL_33] (rows=843315281 width=88) - Output:["_col1","_col2","_col7","_col11","_col13","_col14","_col16"] - Merge Join Operator [MERGEJOIN_98] (rows=843315281 width=88) - Conds:RS_30._col3=RS_31._col0(Inner),Output:["_col1","_col5","_col7","_col8","_col10","_col18","_col19"] + Group By Operator [GBY_48] (rows=927646829 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col14)","sum(_col22)","sum(_col3)"],keys:_col7, _col8, _col27, _col28 + Merge Join Operator [MERGEJOIN_99] (rows=927646829 width=88) + Conds:RS_44._col1, _col2=RS_45._col14, _col13(Inner),Output:["_col3","_col7","_col8","_col14","_col22","_col27","_col28"] + <-Reducer 11 [SIMPLE_EDGE] + SHUFFLE [RS_45] + PartitionCols:_col14, _col13 + Select Operator [SEL_40] (rows=843315281 width=88) + Output:["_col1","_col2","_col8","_col13","_col14","_col16","_col21","_col22"] + Merge Join Operator [MERGEJOIN_98] (rows=843315281 width=88) + Conds:RS_37._col3=RS_38._col0(Inner),Output:["_col5","_col10","_col11","_col13","_col18","_col19","_col21","_col22"] + <-Map 16 [SIMPLE_EDGE] + SHUFFLE [RS_38] + PartitionCols:_col0 + Select Operator [SEL_27] (rows=1704 width=1910) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_92] (rows=1704 width=1910) + predicate:s_store_sk is not null + TableScan [TS_25] (rows=1704 width=1910) + default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_id","s_store_name"] + <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_37] + PartitionCols:_col3 + Merge Join Operator [MERGEJOIN_97] (rows=766650239 width=88) + Conds:RS_34._col1=RS_35._col0(Inner),Output:["_col3","_col5","_col10","_col11","_col13","_col18","_col19"] <-Map 15 [SIMPLE_EDGE] - SHUFFLE [RS_31] + SHUFFLE [RS_35] PartitionCols:_col0 - Select Operator [SEL_20] (rows=1704 width=1910) + Select Operator [SEL_24] (rows=462000 width=1436) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_92] (rows=1704 width=1910) - predicate:s_store_sk is not null - TableScan [TS_18] (rows=1704 width=1910) - default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_id","s_store_name"] - <-Reducer 11 [SIMPLE_EDGE] - SHUFFLE [RS_30] - PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_97] (rows=766650239 width=88) - Conds:RS_27._col6=RS_28._col0(Inner),Output:["_col1","_col3","_col5","_col7","_col8","_col10"] - <-Map 14 [SIMPLE_EDGE] - SHUFFLE [RS_28] - PartitionCols:_col0 - Select Operator [SEL_17] (rows=4058 width=1119) - Output:["_col0"] - Filter Operator [FIL_91] (rows=4058 width=1119) - predicate:(d_moy BETWEEN 4 AND 7 and (d_year = 1999) and d_date_sk is not null) - TableScan [TS_12] (rows=73049 width=1119) - default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"] - <-Reducer 10 [SIMPLE_EDGE] - SHUFFLE [RS_27] - PartitionCols:_col6 - Merge Join Operator [MERGEJOIN_96] (rows=696954748 width=88) - Conds:RS_24._col0=RS_25._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8","_col10"] + Filter Operator [FIL_91] (rows=462000 width=1436) + predicate:i_item_sk is not null + TableScan [TS_22] (rows=462000 width=1436) + default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc"] + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_34] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_96] (rows=696954748 width=88) + Conds:RS_31._col1, _col2, _col4=RS_32._col1, _col2, _col3(Inner),Output:["_col1","_col3","_col5","_col10","_col11","_col13"] + <-Reducer 13 [SIMPLE_EDGE] + SHUFFLE [RS_32] + PartitionCols:_col1, _col2, _col3 + Merge Join Operator [MERGEJOIN_95] (rows=63350266 width=77) + Conds:RS_18._col0=RS_19._col0(Inner),Output:["_col1","_col2","_col3","_col4"] + <-Map 12 [SIMPLE_EDGE] + SHUFFLE [RS_19] + PartitionCols:_col0 + Select Operator [SEL_17] (rows=4058 width=1119) + Output:["_col0"] + Filter Operator [FIL_90] (rows=4058 width=1119) + predicate:(d_moy BETWEEN 4 AND 7 and (d_year = 1999) and d_date_sk is not null) + TableScan [TS_9] (rows=73049 width=1119) + default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"] <-Map 14 [SIMPLE_EDGE] - SHUFFLE [RS_25] + SHUFFLE [RS_18] PartitionCols:_col0 - Select Operator [SEL_14] (rows=18262 width=1119) + Select Operator [SEL_14] (rows=57591150 width=77) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_89] (rows=57591150 width=77) + predicate:(sr_item_sk is not null and sr_customer_sk is not null and sr_ticket_number is not null and sr_returned_date_sk is not null) + TableScan [TS_12] (rows=57591150 width=77) + default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_return_quantity"] + <-Reducer 8 [SIMPLE_EDGE] + SHUFFLE [RS_31] + PartitionCols:_col1, _col2, _col4 + Merge Join Operator [MERGEJOIN_94] (rows=633595212 width=88) + Conds:RS_28._col0=RS_29._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"] + <-Map 12 [SIMPLE_EDGE] + SHUFFLE [RS_29] + PartitionCols:_col0 + Select Operator [SEL_11] (rows=18262 width=1119) Output:["_col0"] - Filter Operator [FIL_90] (rows=18262 width=1119) + Filter Operator [FIL_88] (rows=18262 width=1119) predicate:((d_moy = 4) and (d_year = 1999) and d_date_sk is not null) - Please refer to the previous TableScan [TS_12] - <-Reducer 9 [SIMPLE_EDGE] - SHUFFLE [RS_24] + Please refer to the previous TableScan [TS_9] + <-Map 7 [SIMPLE_EDGE] + SHUFFLE [RS_28] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_95] (rows=633595212 width=88) - Conds:RS_21._col1, _col2, _col4=RS_22._col1, _col2, _col3(Inner),Output:["_col0","_col1","_col3","_col5","_col6","_col7","_col8","_col10"] - <-Map 13 [SIMPLE_EDGE] - SHUFFLE [RS_22] - PartitionCols:_col1, _col2, _col3 - Select Operator [SEL_11] (rows=57591150 width=77) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_89] (rows=57591150 width=77) - predicate:(sr_item_sk is not null and sr_customer_sk is not null and sr_ticket_number is not null and sr_returned_date_sk is not null) - TableScan [TS_9] (rows=57591150 width=77) - default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_return_quantity"] - <-Map 8 [SIMPLE_EDGE] - SHUFFLE [RS_21] - PartitionCols:_col1, _col2, _col4 - Select Operator [SEL_8] (rows=575995635 width=88) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_88] (rows=575995635 width=88) - predicate:(ss_item_sk is not null and ss_customer_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null) - TableScan [TS_6] (rows=575995635 width=88) - default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_quantity"] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_40] - PartitionCols:_col1, _col2 - Merge Join Operator [MERGEJOIN_94] (rows=316788826 width=135) - Conds:RS_37._col0=RS_38._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 1 [SIMPLE_EDGE] - SHUFFLE [RS_37] - PartitionCols:_col0 - Select Operator [SEL_2] (rows=287989836 width=135) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_86] (rows=287989836 width=135) - predicate:(cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) - TableScan [TS_0] (rows=287989836 width=135) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity"] - <-Map 7 [SIMPLE_EDGE] - SHUFFLE [RS_38] - PartitionCols:_col0 - Select Operator [SEL_5] (rows=36525 width=1119) - Output:["_col0"] - Filter Operator [FIL_87] (rows=36525 width=1119) - predicate:((d_year) IN (1999, 2000, 2001) and d_date_sk is not null) - TableScan [TS_3] (rows=73049 width=1119) - default@date_dim,d3,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"] + Select Operator [SEL_8] (rows=575995635 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_87] (rows=575995635 width=88) + predicate:(ss_item_sk is not null and ss_customer_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null) + TableScan [TS_6] (rows=575995635 width=88) + default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_quantity"] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_44] + PartitionCols:_col1, _col2 + Merge Join Operator [MERGEJOIN_93] (rows=316788826 width=135) + Conds:RS_41._col0=RS_42._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_41] + PartitionCols:_col0 + Select Operator [SEL_2] (rows=287989836 width=135) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_85] (rows=287989836 width=135) + predicate:(cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) + TableScan [TS_0] (rows=287989836 width=135) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity"] + <-Map 6 [SIMPLE_EDGE] + SHUFFLE [RS_42] + PartitionCols:_col0 + Select Operator [SEL_5] (rows=36525 width=1119) + Output:["_col0"] + Filter Operator [FIL_86] (rows=36525 width=1119) + predicate:((d_year) IN (1999, 2000, 2001) and d_date_sk is not null) + TableScan [TS_3] (rows=73049 width=1119) + default@date_dim,d3,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"] diff --git a/ql/src/test/results/clientpositive/perf/query50.q.out b/ql/src/test/results/clientpositive/perf/query50.q.out index 149dc98cbf..b99b7190f9 100644 --- a/ql/src/test/results/clientpositive/perf/query50.q.out +++ b/ql/src/test/results/clientpositive/perf/query50.q.out @@ -132,21 +132,21 @@ Stage-0 File Output Operator [FS_36] Limit [LIM_35] (rows=100 width=88) Number of rows:100 - Select Operator [SEL_34] (rows=421657640 width=88) + Select Operator [SEL_34] (rows=383325119 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"] <-Reducer 6 [SIMPLE_EDGE] SHUFFLE [RS_33] - Group By Operator [GBY_31] (rows=421657640 width=88) + Group By Operator [GBY_31] (rows=383325119 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","sum(VALUE._col4)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9 <-Reducer 5 [SIMPLE_EDGE] SHUFFLE [RS_30] PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 - Group By Operator [GBY_29] (rows=843315281 width=88) + Group By Operator [GBY_29] (rows=766650239 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"],aggregations:["sum(_col10)","sum(_col11)","sum(_col12)","sum(_col13)","sum(_col14)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 - Select Operator [SEL_27] (rows=843315281 width=88) + Select Operator [SEL_27] (rows=766650239 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"] - Merge Join Operator [MERGEJOIN_59] (rows=843315281 width=88) - Conds:RS_24._col3=RS_25._col0(Inner),Output:["_col0","_col5","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"] + Merge Join Operator [MERGEJOIN_59] (rows=766650239 width=88) + Conds:RS_24._col10=RS_25._col0(Inner),Output:["_col0","_col7","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"] <-Map 11 [SIMPLE_EDGE] SHUFFLE [RS_25] PartitionCols:_col0 @@ -158,9 +158,9 @@ Stage-0 default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name","s_company_id","s_street_number","s_street_name","s_street_type","s_suite_number","s_city","s_county","s_state","s_zip"] <-Reducer 4 [SIMPLE_EDGE] SHUFFLE [RS_24] - PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_58] (rows=766650239 width=88) - Conds:RS_21._col0=RS_22._col0(Inner),Output:["_col0","_col3","_col5"] + PartitionCols:_col10 + Merge Join Operator [MERGEJOIN_58] (rows=696954748 width=88) + Conds:RS_21._col7=RS_22._col0(Inner),Output:["_col0","_col7","_col10"] <-Map 10 [SIMPLE_EDGE] SHUFFLE [RS_22] PartitionCols:_col0 @@ -172,39 +172,39 @@ Stage-0 default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk"] <-Reducer 3 [SIMPLE_EDGE] SHUFFLE [RS_21] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_57] (rows=696954748 width=88) - Conds:RS_18._col5=RS_19._col0(Inner),Output:["_col0","_col3","_col5"] + PartitionCols:_col7 + Merge Join Operator [MERGEJOIN_57] (rows=633595212 width=88) + Conds:RS_18._col1, _col2, _col3=RS_19._col1, _col2, _col4(Inner),Output:["_col0","_col7","_col10"] <-Map 9 [SIMPLE_EDGE] SHUFFLE [RS_19] - PartitionCols:_col0 - Select Operator [SEL_8] (rows=18262 width=1119) - Output:["_col0"] - Filter Operator [FIL_53] (rows=18262 width=1119) - predicate:((d_year = 2000) and (d_moy = 9) and d_date_sk is not null) - TableScan [TS_6] (rows=73049 width=1119) - default@date_dim,d2,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"] + PartitionCols:_col1, _col2, _col4 + Select Operator [SEL_8] (rows=575995635 width=88) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_53] (rows=575995635 width=88) + predicate:(ss_item_sk is not null and ss_customer_sk is not null and ss_ticket_number is not null and ss_store_sk is not null and ss_sold_date_sk is not null) + TableScan [TS_6] (rows=575995635 width=88) + default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number"] <-Reducer 2 [SIMPLE_EDGE] SHUFFLE [RS_18] - PartitionCols:_col5 - Merge Join Operator [MERGEJOIN_56] (rows=633595212 width=88) - Conds:RS_15._col1, _col2, _col4=RS_16._col1, _col2, _col3(Inner),Output:["_col0","_col3","_col5"] + PartitionCols:_col1, _col2, _col3 + Merge Join Operator [MERGEJOIN_56] (rows=63350266 width=77) + Conds:RS_15._col0=RS_16._col0(Inner),Output:["_col0","_col1","_col2","_col3"] <-Map 1 [SIMPLE_EDGE] SHUFFLE [RS_15] - PartitionCols:_col1, _col2, _col4 - Select Operator [SEL_2] (rows=575995635 width=88) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_51] (rows=575995635 width=88) - predicate:(ss_item_sk is not null and ss_customer_sk is not null and ss_ticket_number is not null and ss_store_sk is not null and ss_sold_date_sk is not null) - TableScan [TS_0] (rows=575995635 width=88) - default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number"] - <-Map 8 [SIMPLE_EDGE] - SHUFFLE [RS_16] - PartitionCols:_col1, _col2, _col3 - Select Operator [SEL_5] (rows=57591150 width=77) + PartitionCols:_col0 + Select Operator [SEL_2] (rows=57591150 width=77) Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_52] (rows=57591150 width=77) + Filter Operator [FIL_51] (rows=57591150 width=77) predicate:(sr_item_sk is not null and sr_customer_sk is not null and sr_ticket_number is not null and sr_returned_date_sk is not null) - TableScan [TS_3] (rows=57591150 width=77) + TableScan [TS_0] (rows=57591150 width=77) default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number"] + <-Map 8 [SIMPLE_EDGE] + SHUFFLE [RS_16] + PartitionCols:_col0 + Select Operator [SEL_5] (rows=18262 width=1119) + Output:["_col0"] + Filter Operator [FIL_52] (rows=18262 width=1119) + predicate:((d_year = 2000) and (d_moy = 9) and d_date_sk is not null) + TableScan [TS_3] (rows=73049 width=1119) + default@date_dim,d2,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"] diff --git a/ql/src/test/results/clientpositive/perf/query54.q.out b/ql/src/test/results/clientpositive/perf/query54.q.out index b9d0b8b376..fe0bbf9f63 100644 --- a/ql/src/test/results/clientpositive/perf/query54.q.out +++ b/ql/src/test/results/clientpositive/perf/query54.q.out @@ -1,7 +1,7 @@ -Warning: Shuffle Join MERGEJOIN[191][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product -Warning: Shuffle Join MERGEJOIN[188][tables = [$hdt$_1, $hdt$_2, $hdt$_3, $hdt$_0, $hdt$_4]] in Stage 'Reducer 12' is a cross product -Warning: Shuffle Join MERGEJOIN[190][tables = [$hdt$_1, $hdt$_2, $hdt$_3, $hdt$_0, $hdt$_4, $hdt$_5, $hdt$_6]] in Stage 'Reducer 14' is a cross product -Warning: Shuffle Join MERGEJOIN[192][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[183][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[184][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 12' is a cross product +Warning: Shuffle Join MERGEJOIN[185][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3, $hdt$_4]] in Stage 'Reducer 13' is a cross product +Warning: Shuffle Join MERGEJOIN[186][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 4' is a cross product PREHOOK: query: explain with my_customers as ( select distinct c_customer_sk @@ -115,24 +115,24 @@ POSTHOOK: type: QUERY Plan optimized by CBO. Vertex dependency in root stage -Map 21 <- Union 22 (CONTAINS) -Map 27 <- Union 22 (CONTAINS) +Map 23 <- Union 24 (CONTAINS) +Map 29 <- Union 24 (CONTAINS) Reducer 10 <- Map 1 (SIMPLE_EDGE) Reducer 11 <- Reducer 10 (CUSTOM_SIMPLE_EDGE) -Reducer 12 <- Reducer 11 (CUSTOM_SIMPLE_EDGE), Reducer 19 (CUSTOM_SIMPLE_EDGE) -Reducer 13 <- Map 32 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) -Reducer 14 <- Reducer 13 (CUSTOM_SIMPLE_EDGE), Reducer 15 (CUSTOM_SIMPLE_EDGE) -Reducer 15 <- Map 1 (SIMPLE_EDGE) -Reducer 17 <- Map 16 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE) -Reducer 18 <- Reducer 17 (SIMPLE_EDGE), Reducer 26 (SIMPLE_EDGE) -Reducer 19 <- Map 31 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE) +Reducer 12 <- Reducer 11 (CUSTOM_SIMPLE_EDGE), Reducer 17 (CUSTOM_SIMPLE_EDGE) +Reducer 13 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 14 (CUSTOM_SIMPLE_EDGE) +Reducer 14 <- Map 1 (SIMPLE_EDGE) +Reducer 16 <- Map 15 (SIMPLE_EDGE), Map 18 (SIMPLE_EDGE) +Reducer 17 <- Reducer 16 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE) Reducer 2 <- Map 1 (SIMPLE_EDGE) -Reducer 23 <- Map 28 (SIMPLE_EDGE), Union 22 (SIMPLE_EDGE) -Reducer 24 <- Map 29 (SIMPLE_EDGE), Reducer 23 (SIMPLE_EDGE) -Reducer 25 <- Map 30 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE) -Reducer 26 <- Reducer 25 (SIMPLE_EDGE) +Reducer 20 <- Map 19 (SIMPLE_EDGE), Map 22 (SIMPLE_EDGE) +Reducer 21 <- Reducer 20 (SIMPLE_EDGE), Reducer 28 (SIMPLE_EDGE) +Reducer 25 <- Map 30 (SIMPLE_EDGE), Union 24 (SIMPLE_EDGE) +Reducer 26 <- Map 31 (SIMPLE_EDGE), Reducer 25 (SIMPLE_EDGE) +Reducer 27 <- Map 32 (SIMPLE_EDGE), Reducer 26 (SIMPLE_EDGE) +Reducer 28 <- Reducer 27 (SIMPLE_EDGE) Reducer 3 <- Reducer 2 (CUSTOM_SIMPLE_EDGE), Reducer 9 (CUSTOM_SIMPLE_EDGE) -Reducer 4 <- Reducer 14 (CUSTOM_SIMPLE_EDGE), Reducer 3 (CUSTOM_SIMPLE_EDGE) +Reducer 4 <- Reducer 13 (CUSTOM_SIMPLE_EDGE), Reducer 3 (CUSTOM_SIMPLE_EDGE) Reducer 5 <- Reducer 4 (SIMPLE_EDGE) Reducer 6 <- Reducer 5 (SIMPLE_EDGE) Reducer 7 <- Reducer 6 (SIMPLE_EDGE) @@ -144,217 +144,217 @@ Stage-0 limit:100 Stage-1 Reducer 7 - File Output Operator [FS_129] - Limit [LIM_128] (rows=100 width=158) + File Output Operator [FS_130] + Limit [LIM_129] (rows=100 width=158) Number of rows:100 - Select Operator [SEL_127] (rows=1614130953450400 width=158) + Select Operator [SEL_128] (rows=1614130953450400 width=158) Output:["_col0","_col1","_col2"] <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_126] - Select Operator [SEL_125] (rows=1614130953450400 width=158) + SHUFFLE [RS_127] + Select Operator [SEL_126] (rows=1614130953450400 width=158) Output:["_col0","_col1","_col2"] - Group By Operator [GBY_124] (rows=1614130953450400 width=158) + Group By Operator [GBY_125] (rows=1614130953450400 width=158) Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0 <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_123] + SHUFFLE [RS_124] PartitionCols:_col0 - Group By Operator [GBY_122] (rows=3228261906900801 width=158) + Group By Operator [GBY_123] (rows=3228261906900801 width=158) Output:["_col0","_col1"],aggregations:["count()"],keys:_col0 - Select Operator [SEL_120] (rows=3228261906900801 width=158) + Select Operator [SEL_121] (rows=3228261906900801 width=158) Output:["_col0"] - Group By Operator [GBY_119] (rows=3228261906900801 width=158) + Group By Operator [GBY_120] (rows=3228261906900801 width=158) Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_118] + SHUFFLE [RS_119] PartitionCols:_col0 - Group By Operator [GBY_117] (rows=6456523813801603 width=158) + Group By Operator [GBY_118] (rows=6456523813801603 width=158) Output:["_col0","_col1"],aggregations:["sum(_col4)"],keys:_col0 - Select Operator [SEL_116] (rows=6456523813801603 width=158) + Select Operator [SEL_117] (rows=6456523813801603 width=158) Output:["_col0","_col4"] - Filter Operator [FIL_115] (rows=6456523813801603 width=158) + Filter Operator [FIL_116] (rows=6456523813801603 width=158) predicate:_col11 BETWEEN _col13 AND _col15 - Select Operator [SEL_114] (rows=58108714324214428 width=158) + Select Operator [SEL_115] (rows=58108714324214428 width=158) Output:["_col0","_col4","_col11","_col13","_col15"] - Merge Join Operator [MERGEJOIN_192] (rows=58108714324214428 width=158) + Merge Join Operator [MERGEJOIN_186] (rows=58108714324214428 width=158) Conds:(Inner),Output:["_col0","_col2","_col6","_col13","_col15"] - <-Reducer 14 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_112] - Select Operator [SEL_107] (rows=6363893803988 width=1217) + <-Reducer 13 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_113] + Select Operator [SEL_108] (rows=6363893803988 width=1217) Output:["_col0","_col4","_col11","_col13"] - Merge Join Operator [MERGEJOIN_190] (rows=6363893803988 width=1217) - Conds:(Left Outer),Output:["_col5","_col9","_col12","_col13"] - <-Reducer 13 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_104] - Merge Join Operator [MERGEJOIN_189] (rows=696954748 width=97) - Conds:RS_101._col7=RS_102._col0(Inner),Output:["_col5","_col9","_col12"] - <-Map 32 [SIMPLE_EDGE] - SHUFFLE [RS_102] - PartitionCols:_col0 - Select Operator [SEL_80] (rows=73049 width=1119) - Output:["_col0","_col1"] - Filter Operator [FIL_180] (rows=73049 width=1119) - predicate:d_date_sk is not null - TableScan [TS_78] (rows=73049 width=1119) - default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"] - <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_101] - PartitionCols:_col7 - Merge Join Operator [MERGEJOIN_188] (rows=633595212 width=97) - Conds:(Inner),Output:["_col5","_col7","_col9"] - <-Reducer 11 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_99] - Select Operator [SEL_77] (rows=1 width=8) - Filter Operator [FIL_76] (rows=1 width=8) - predicate:(sq_count_check(_col0) <= 1) - Group By Operator [GBY_74] (rows=1 width=8) - Output:["_col0"],aggregations:["count(VALUE._col0)"] - <-Reducer 10 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_73] - Group By Operator [GBY_72] (rows=1 width=8) - Output:["_col0"],aggregations:["count()"] - Select Operator [SEL_70] (rows=9131 width=1119) - Group By Operator [GBY_69] (rows=9131 width=1119) - Output:["_col0"],keys:KEY._col0 - <-Map 1 [SIMPLE_EDGE] - SHUFFLE [RS_68] - PartitionCols:_col0 - Group By Operator [GBY_67] (rows=18262 width=1119) - Output:["_col0"],keys:_col0 - Select Operator [SEL_65] (rows=18262 width=1119) - Output:["_col0"] - Filter Operator [FIL_169] (rows=18262 width=1119) - predicate:((d_year = 1999) and (d_moy = 3)) - TableScan [TS_0] (rows=73049 width=1119) - default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_month_seq","d_year","d_moy"] - <-Reducer 19 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_98] - Merge Join Operator [MERGEJOIN_187] (rows=633595212 width=88) - Conds:RS_95._col5=RS_96._col1(Inner),Output:["_col5","_col7","_col9"] - <-Map 31 [SIMPLE_EDGE] + Merge Join Operator [MERGEJOIN_185] (rows=6363893803988 width=1217) + Conds:(Left Outer),Output:["_col2","_col4","_col10","_col13"] + <-Reducer 12 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_105] + Merge Join Operator [MERGEJOIN_184] (rows=696954748 width=97) + Conds:(Inner),Output:["_col2","_col4","_col10"] + <-Reducer 11 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_103] + Select Operator [SEL_87] (rows=1 width=8) + Filter Operator [FIL_86] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_84] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Reducer 10 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_83] + Group By Operator [GBY_82] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_80] (rows=9131 width=1119) + Group By Operator [GBY_79] (rows=9131 width=1119) + Output:["_col0"],keys:KEY._col0 + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_78] + PartitionCols:_col0 + Group By Operator [GBY_77] (rows=18262 width=1119) + Output:["_col0"],keys:_col0 + Select Operator [SEL_75] (rows=18262 width=1119) + Output:["_col0"] + Filter Operator [FIL_163] (rows=18262 width=1119) + predicate:((d_year = 1999) and (d_moy = 3)) + TableScan [TS_0] (rows=73049 width=1119) + default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_month_seq","d_year","d_moy"] + <-Reducer 17 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_102] + Merge Join Operator [MERGEJOIN_182] (rows=696954748 width=88) + Conds:RS_99._col1=RS_100._col5(Inner),Output:["_col2","_col4","_col10"] + <-Reducer 16 [SIMPLE_EDGE] + SHUFFLE [RS_99] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_176] (rows=633595212 width=88) + Conds:RS_96._col0=RS_97._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 15 [SIMPLE_EDGE] SHUFFLE [RS_96] - PartitionCols:_col1 - Select Operator [SEL_62] (rows=575995635 width=88) + PartitionCols:_col0 + Select Operator [SEL_25] (rows=575995635 width=88) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_178] (rows=575995635 width=88) + Filter Operator [FIL_165] (rows=575995635 width=88) predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null) - TableScan [TS_60] (rows=575995635 width=88) + TableScan [TS_23] (rows=575995635 width=88) default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_ext_sales_price"] - <-Reducer 18 [SIMPLE_EDGE] - SHUFFLE [RS_95] - PartitionCols:_col5 - Merge Join Operator [MERGEJOIN_186] (rows=316240138 width=135) - Conds:RS_92._col0=RS_93._col1(Inner),Output:["_col5"] - <-Reducer 17 [SIMPLE_EDGE] - SHUFFLE [RS_92] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_182] (rows=44000000 width=1014) - Conds:RS_89._col1, _col2=RS_90._col0, _col1(Inner),Output:["_col0"] - <-Map 16 [SIMPLE_EDGE] - SHUFFLE [RS_89] - PartitionCols:_col1, _col2 - Select Operator [SEL_25] (rows=40000000 width=1014) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_171] (rows=40000000 width=1014) - predicate:(ca_address_sk is not null and ca_county is not null and ca_state is not null) - TableScan [TS_23] (rows=40000000 width=1014) - default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county","ca_state"] - <-Map 20 [SIMPLE_EDGE] - SHUFFLE [RS_90] - PartitionCols:_col0, _col1 - Select Operator [SEL_28] (rows=1704 width=1910) - Output:["_col0","_col1"] - Filter Operator [FIL_172] (rows=1704 width=1910) - predicate:(s_county is not null and s_state is not null) - TableScan [TS_26] (rows=1704 width=1910) - default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_county","s_state"] - <-Reducer 26 [SIMPLE_EDGE] - SHUFFLE [RS_93] - PartitionCols:_col1 - Select Operator [SEL_59] (rows=287491029 width=135) + <-Map 18 [SIMPLE_EDGE] + SHUFFLE [RS_97] + PartitionCols:_col0 + Select Operator [SEL_28] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_166] (rows=73049 width=1119) + predicate:d_date_sk is not null + TableScan [TS_26] (rows=73049 width=1119) + default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"] + <-Reducer 21 [SIMPLE_EDGE] + SHUFFLE [RS_100] + PartitionCols:_col5 + Merge Join Operator [MERGEJOIN_181] (rows=316240138 width=135) + Conds:RS_69._col0=RS_70._col1(Inner),Output:["_col5"] + <-Reducer 20 [SIMPLE_EDGE] + SHUFFLE [RS_69] + PartitionCols:_col0 + Merge Join Operator [MERGEJOIN_177] (rows=44000000 width=1014) + Conds:RS_66._col1, _col2=RS_67._col0, _col1(Inner),Output:["_col0"] + <-Map 19 [SIMPLE_EDGE] + SHUFFLE [RS_66] + PartitionCols:_col1, _col2 + Select Operator [SEL_31] (rows=40000000 width=1014) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_167] (rows=40000000 width=1014) + predicate:(ca_address_sk is not null and ca_county is not null and ca_state is not null) + TableScan [TS_29] (rows=40000000 width=1014) + default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county","ca_state"] + <-Map 22 [SIMPLE_EDGE] + SHUFFLE [RS_67] + PartitionCols:_col0, _col1 + Select Operator [SEL_34] (rows=1704 width=1910) Output:["_col0","_col1"] - Group By Operator [GBY_58] (rows=287491029 width=135) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Reducer 25 [SIMPLE_EDGE] - SHUFFLE [RS_57] - PartitionCols:_col0, _col1 - Group By Operator [GBY_56] (rows=574982058 width=135) - Output:["_col0","_col1"],keys:_col10, _col9 - Merge Join Operator [MERGEJOIN_185] (rows=574982058 width=135) - Conds:RS_52._col1=RS_53._col0(Inner),Output:["_col9","_col10"] - <-Map 30 [SIMPLE_EDGE] - SHUFFLE [RS_53] + Filter Operator [FIL_168] (rows=1704 width=1910) + predicate:(s_county is not null and s_state is not null) + TableScan [TS_32] (rows=1704 width=1910) + default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_county","s_state"] + <-Reducer 28 [SIMPLE_EDGE] + SHUFFLE [RS_70] + PartitionCols:_col1 + Select Operator [SEL_65] (rows=287491029 width=135) + Output:["_col0","_col1"] + Group By Operator [GBY_64] (rows=287491029 width=135) + Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 + <-Reducer 27 [SIMPLE_EDGE] + SHUFFLE [RS_63] + PartitionCols:_col0, _col1 + Group By Operator [GBY_62] (rows=574982058 width=135) + Output:["_col0","_col1"],keys:_col10, _col9 + Merge Join Operator [MERGEJOIN_180] (rows=574982058 width=135) + Conds:RS_58._col1=RS_59._col0(Inner),Output:["_col9","_col10"] + <-Map 32 [SIMPLE_EDGE] + SHUFFLE [RS_59] + PartitionCols:_col0 + Select Operator [SEL_51] (rows=80000000 width=860) + Output:["_col0","_col1"] + Filter Operator [FIL_173] (rows=80000000 width=860) + predicate:(c_customer_sk is not null and c_current_addr_sk is not null) + TableScan [TS_49] (rows=80000000 width=860) + default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk"] + <-Reducer 26 [SIMPLE_EDGE] + SHUFFLE [RS_58] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_179] (rows=522710951 width=135) + Conds:RS_55._col2=RS_56._col0(Inner),Output:["_col1"] + <-Map 31 [SIMPLE_EDGE] + SHUFFLE [RS_56] PartitionCols:_col0 - Select Operator [SEL_45] (rows=80000000 width=860) - Output:["_col0","_col1"] - Filter Operator [FIL_177] (rows=80000000 width=860) - predicate:(c_customer_sk is not null and c_current_addr_sk is not null) - TableScan [TS_43] (rows=80000000 width=860) - default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk"] - <-Reducer 24 [SIMPLE_EDGE] - SHUFFLE [RS_52] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_184] (rows=522710951 width=135) - Conds:RS_49._col2=RS_50._col0(Inner),Output:["_col1"] - <-Map 29 [SIMPLE_EDGE] - SHUFFLE [RS_50] + Select Operator [SEL_48] (rows=115500 width=1436) + Output:["_col0"] + Filter Operator [FIL_172] (rows=115500 width=1436) + predicate:((i_category = 'Jewelry') and (i_class = 'consignment') and i_item_sk is not null) + TableScan [TS_46] (rows=462000 width=1436) + default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_class","i_category"] + <-Reducer 25 [SIMPLE_EDGE] + SHUFFLE [RS_55] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_178] (rows=475191764 width=135) + Conds:Union 24._col0=RS_53._col0(Inner),Output:["_col1","_col2"] + <-Map 30 [SIMPLE_EDGE] + SHUFFLE [RS_53] PartitionCols:_col0 - Select Operator [SEL_42] (rows=115500 width=1436) + Select Operator [SEL_45] (rows=18262 width=1119) Output:["_col0"] - Filter Operator [FIL_176] (rows=115500 width=1436) - predicate:((i_category = 'Jewelry') and (i_class = 'consignment') and i_item_sk is not null) - TableScan [TS_40] (rows=462000 width=1436) - default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_class","i_category"] - <-Reducer 23 [SIMPLE_EDGE] - SHUFFLE [RS_49] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_183] (rows=475191764 width=135) - Conds:Union 22._col0=RS_47._col0(Inner),Output:["_col1","_col2"] - <-Map 28 [SIMPLE_EDGE] - SHUFFLE [RS_47] - PartitionCols:_col0 - Select Operator [SEL_39] (rows=18262 width=1119) - Output:["_col0"] - Filter Operator [FIL_175] (rows=18262 width=1119) - predicate:((d_moy = 3) and (d_year = 1999) and d_date_sk is not null) - TableScan [TS_37] (rows=73049 width=1119) - default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"] - <-Union 22 [SIMPLE_EDGE] - <-Map 21 [CONTAINS] - Reduce Output Operator [RS_46] - PartitionCols:_col0 - Select Operator [SEL_31] (rows=287989836 width=135) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_173] (rows=287989836 width=135) - predicate:(cs_item_sk is not null and cs_sold_date_sk is not null and cs_bill_customer_sk is not null) - TableScan [TS_29] (rows=287989836 width=135) - Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk"] - <-Map 27 [CONTAINS] - Reduce Output Operator [RS_46] - PartitionCols:_col0 - Select Operator [SEL_34] (rows=144002668 width=135) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_174] (rows=144002668 width=135) - predicate:(ws_item_sk is not null and ws_sold_date_sk is not null and ws_bill_customer_sk is not null) - TableScan [TS_32] (rows=144002668 width=135) - Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk"] - <-Reducer 15 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_105] - Group By Operator [GBY_87] (rows=9131 width=1119) + Filter Operator [FIL_171] (rows=18262 width=1119) + predicate:((d_moy = 3) and (d_year = 1999) and d_date_sk is not null) + TableScan [TS_43] (rows=73049 width=1119) + default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"] + <-Union 24 [SIMPLE_EDGE] + <-Map 23 [CONTAINS] + Reduce Output Operator [RS_52] + PartitionCols:_col0 + Select Operator [SEL_37] (rows=287989836 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_169] (rows=287989836 width=135) + predicate:(cs_item_sk is not null and cs_sold_date_sk is not null and cs_bill_customer_sk is not null) + TableScan [TS_35] (rows=287989836 width=135) + Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk"] + <-Map 29 [CONTAINS] + Reduce Output Operator [RS_52] + PartitionCols:_col0 + Select Operator [SEL_40] (rows=144002668 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_170] (rows=144002668 width=135) + predicate:(ws_item_sk is not null and ws_sold_date_sk is not null and ws_bill_customer_sk is not null) + TableScan [TS_38] (rows=144002668 width=135) + Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk"] + <-Reducer 14 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_106] + Group By Operator [GBY_94] (rows=9131 width=1119) Output:["_col0"],keys:KEY._col0 <-Map 1 [SIMPLE_EDGE] - SHUFFLE [RS_86] + SHUFFLE [RS_93] PartitionCols:_col0 - Group By Operator [GBY_85] (rows=18262 width=1119) + Group By Operator [GBY_92] (rows=18262 width=1119) Output:["_col0"],keys:_col0 - Select Operator [SEL_83] (rows=18262 width=1119) + Select Operator [SEL_90] (rows=18262 width=1119) Output:["_col0"] - Please refer to the previous Filter Operator [FIL_169] + Please refer to the previous Filter Operator [FIL_163] <-Reducer 3 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_111] - Merge Join Operator [MERGEJOIN_191] (rows=9131 width=1128) + PARTITION_ONLY_SHUFFLE [RS_112] + Merge Join Operator [MERGEJOIN_183] (rows=9131 width=1128) Conds:(Right Outer),Output:["_col0"] <-Reducer 2 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_108] + PARTITION_ONLY_SHUFFLE [RS_109] Group By Operator [GBY_6] (rows=9131 width=1119) Output:["_col0"],keys:KEY._col0 <-Map 1 [SIMPLE_EDGE] @@ -364,9 +364,9 @@ Stage-0 Output:["_col0"],keys:_col0 Select Operator [SEL_2] (rows=18262 width=1119) Output:["_col0"] - Please refer to the previous Filter Operator [FIL_169] + Please refer to the previous Filter Operator [FIL_163] <-Reducer 9 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_109] + PARTITION_ONLY_SHUFFLE [RS_110] Select Operator [SEL_22] (rows=1 width=8) Filter Operator [FIL_21] (rows=1 width=8) predicate:(sq_count_check(_col0) <= 1) diff --git a/ql/src/test/results/clientpositive/perf/query64.q.out b/ql/src/test/results/clientpositive/perf/query64.q.out index b31fd7fbc0..77828469c4 100644 --- a/ql/src/test/results/clientpositive/perf/query64.q.out +++ b/ql/src/test/results/clientpositive/perf/query64.q.out @@ -241,43 +241,43 @@ Reducer 10 <- Reducer 19 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) Reducer 11 <- Reducer 10 (SIMPLE_EDGE) Reducer 12 <- Map 1 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE) Reducer 13 <- Map 20 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) -Reducer 14 <- Reducer 13 (SIMPLE_EDGE), Reducer 36 (SIMPLE_EDGE) -Reducer 15 <- Map 39 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE) -Reducer 16 <- Map 40 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE) -Reducer 17 <- Reducer 16 (SIMPLE_EDGE), Reducer 32 (SIMPLE_EDGE) -Reducer 18 <- Map 40 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE) +Reducer 14 <- Reducer 13 (SIMPLE_EDGE), Reducer 38 (SIMPLE_EDGE) +Reducer 15 <- Map 41 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE) +Reducer 16 <- Map 42 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE) +Reducer 17 <- Reducer 16 (SIMPLE_EDGE), Reducer 34 (SIMPLE_EDGE) +Reducer 18 <- Map 42 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE) Reducer 19 <- Reducer 18 (SIMPLE_EDGE) Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE) -Reducer 21 <- Map 20 (SIMPLE_EDGE), Reducer 43 (SIMPLE_EDGE) -Reducer 22 <- Map 48 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE) -Reducer 23 <- Reducer 22 (SIMPLE_EDGE), Reducer 35 (SIMPLE_EDGE) -Reducer 24 <- Reducer 23 (SIMPLE_EDGE), Reducer 51 (ONE_TO_ONE_EDGE) -Reducer 25 <- Map 55 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE) -Reducer 26 <- Map 39 (SIMPLE_EDGE), Reducer 25 (SIMPLE_EDGE) -Reducer 27 <- Map 20 (SIMPLE_EDGE), Reducer 45 (SIMPLE_EDGE) -Reducer 28 <- Map 48 (SIMPLE_EDGE), Reducer 27 (SIMPLE_EDGE) -Reducer 29 <- Reducer 28 (SIMPLE_EDGE), Reducer 37 (SIMPLE_EDGE) +Reducer 21 <- Map 20 (SIMPLE_EDGE), Reducer 44 (SIMPLE_EDGE) +Reducer 22 <- Map 47 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE) +Reducer 23 <- Reducer 22 (SIMPLE_EDGE), Reducer 37 (SIMPLE_EDGE) +Reducer 24 <- Reducer 23 (SIMPLE_EDGE), Reducer 50 (ONE_TO_ONE_EDGE) +Reducer 25 <- Map 54 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE) +Reducer 26 <- Map 41 (SIMPLE_EDGE), Reducer 25 (SIMPLE_EDGE) +Reducer 27 <- Map 55 (SIMPLE_EDGE), Reducer 26 (SIMPLE_EDGE) +Reducer 28 <- Map 20 (SIMPLE_EDGE), Reducer 45 (SIMPLE_EDGE) +Reducer 29 <- Map 47 (SIMPLE_EDGE), Reducer 28 (SIMPLE_EDGE) Reducer 3 <- Map 20 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) -Reducer 30 <- Reducer 29 (SIMPLE_EDGE), Reducer 53 (ONE_TO_ONE_EDGE) -Reducer 31 <- Map 55 (SIMPLE_EDGE), Reducer 30 (SIMPLE_EDGE) -Reducer 32 <- Map 39 (SIMPLE_EDGE), Reducer 31 (SIMPLE_EDGE) -Reducer 34 <- Map 33 (SIMPLE_EDGE), Map 38 (SIMPLE_EDGE) -Reducer 35 <- Map 33 (SIMPLE_EDGE), Map 38 (SIMPLE_EDGE) -Reducer 36 <- Map 33 (SIMPLE_EDGE), Map 38 (SIMPLE_EDGE) -Reducer 37 <- Map 33 (SIMPLE_EDGE), Map 38 (SIMPLE_EDGE) -Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Reducer 34 (SIMPLE_EDGE) -Reducer 42 <- Map 41 (SIMPLE_EDGE), Map 46 (SIMPLE_EDGE) -Reducer 43 <- Map 47 (SIMPLE_EDGE), Reducer 42 (SIMPLE_EDGE) -Reducer 44 <- Map 41 (SIMPLE_EDGE), Map 46 (SIMPLE_EDGE) -Reducer 45 <- Map 47 (SIMPLE_EDGE), Reducer 44 (SIMPLE_EDGE) -Reducer 5 <- Map 39 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) -Reducer 50 <- Map 49 (SIMPLE_EDGE), Map 54 (SIMPLE_EDGE) -Reducer 51 <- Reducer 50 (SIMPLE_EDGE) -Reducer 52 <- Map 49 (SIMPLE_EDGE), Map 54 (SIMPLE_EDGE) -Reducer 53 <- Reducer 52 (SIMPLE_EDGE) -Reducer 6 <- Map 40 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE) -Reducer 7 <- Reducer 26 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE) -Reducer 8 <- Map 40 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE) +Reducer 30 <- Reducer 29 (SIMPLE_EDGE), Reducer 39 (SIMPLE_EDGE) +Reducer 31 <- Reducer 30 (SIMPLE_EDGE), Reducer 52 (ONE_TO_ONE_EDGE) +Reducer 32 <- Map 54 (SIMPLE_EDGE), Reducer 31 (SIMPLE_EDGE) +Reducer 33 <- Map 41 (SIMPLE_EDGE), Reducer 32 (SIMPLE_EDGE) +Reducer 34 <- Map 55 (SIMPLE_EDGE), Reducer 33 (SIMPLE_EDGE) +Reducer 36 <- Map 35 (SIMPLE_EDGE), Map 40 (SIMPLE_EDGE) +Reducer 37 <- Map 35 (SIMPLE_EDGE), Map 40 (SIMPLE_EDGE) +Reducer 38 <- Map 35 (SIMPLE_EDGE), Map 40 (SIMPLE_EDGE) +Reducer 39 <- Map 35 (SIMPLE_EDGE), Map 40 (SIMPLE_EDGE) +Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Reducer 36 (SIMPLE_EDGE) +Reducer 44 <- Map 43 (SIMPLE_EDGE), Map 46 (SIMPLE_EDGE) +Reducer 45 <- Map 43 (SIMPLE_EDGE), Map 46 (SIMPLE_EDGE) +Reducer 49 <- Map 48 (SIMPLE_EDGE), Map 53 (SIMPLE_EDGE) +Reducer 5 <- Map 41 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) +Reducer 50 <- Reducer 49 (SIMPLE_EDGE) +Reducer 51 <- Map 48 (SIMPLE_EDGE), Map 53 (SIMPLE_EDGE) +Reducer 52 <- Reducer 51 (SIMPLE_EDGE) +Reducer 6 <- Map 42 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE) +Reducer 7 <- Reducer 27 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE) +Reducer 8 <- Map 42 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE) Reducer 9 <- Reducer 8 (SIMPLE_EDGE) Stage-0 @@ -294,7 +294,7 @@ Stage-0 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18"] Filter Operator [FIL_259] (rows=273897192 width=88) predicate:(_col30 <= _col13) - Merge Join Operator [MERGEJOIN_611] (rows=821691577 width=88) + Merge Join Operator [MERGEJOIN_615] (rows=821691577 width=88) Conds:RS_256._col2, _col1, _col3=RS_257._col2, _col1, _col3(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col13","_col14","_col15","_col16","_col30","_col31","_col32","_col33"] <-Reducer 19 [SIMPLE_EDGE] SHUFFLE [RS_257] @@ -307,80 +307,80 @@ Stage-0 SHUFFLE [RS_252] PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13 Group By Operator [GBY_251] (rows=1493984654 width=88) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count()","sum(_col45)","sum(_col46)","sum(_col47)"],keys:_col26, _col48, _col27, _col7, _col9, _col14, _col15, _col16, _col17, _col21, _col22, _col23, _col24, _col51 + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count()","sum(_col43)","sum(_col44)","sum(_col45)"],keys:_col28, _col46, _col29, _col7, _col9, _col14, _col15, _col16, _col17, _col23, _col24, _col25, _col26, _col49 Select Operator [SEL_250] (rows=1493984654 width=88) - Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col21","_col22","_col23","_col24","_col26","_col27","_col45","_col46","_col47","_col48","_col51"] + Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col23","_col24","_col25","_col26","_col28","_col29","_col43","_col44","_col45","_col46","_col49"] Filter Operator [FIL_249] (rows=1493984654 width=88) predicate:(_col56 <> _col19) - Merge Join Operator [MERGEJOIN_610] (rows=1493984654 width=88) - Conds:RS_246._col39=RS_247._col0(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col21","_col22","_col23","_col24","_col26","_col27","_col45","_col46","_col47","_col48","_col51","_col56"] - <-Map 40 [SIMPLE_EDGE] + Merge Join Operator [MERGEJOIN_614] (rows=1493984654 width=88) + Conds:RS_246._col37=RS_247._col0(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col23","_col24","_col25","_col26","_col28","_col29","_col43","_col44","_col45","_col46","_col49","_col56"] + <-Map 42 [SIMPLE_EDGE] SHUFFLE [RS_247] PartitionCols:_col0 Select Operator [SEL_24] (rows=1861800 width=385) Output:["_col0","_col1"] - Filter Operator [FIL_543] (rows=1861800 width=385) + Filter Operator [FIL_547] (rows=1861800 width=385) predicate:cd_demo_sk is not null TableScan [TS_22] (rows=1861800 width=385) default@customer_demographics,cd2,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_marital_status"] <-Reducer 17 [SIMPLE_EDGE] SHUFFLE [RS_246] - PartitionCols:_col39 - Merge Join Operator [MERGEJOIN_609] (rows=1358167838 width=88) - Conds:RS_243._col0=RS_244._col18(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col21","_col22","_col23","_col24","_col26","_col27","_col39","_col45","_col46","_col47","_col48","_col51"] + PartitionCols:_col37 + Merge Join Operator [MERGEJOIN_613] (rows=1358167838 width=88) + Conds:RS_243._col0=RS_244._col16(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col23","_col24","_col25","_col26","_col28","_col29","_col37","_col43","_col44","_col45","_col46","_col49"] <-Reducer 16 [SIMPLE_EDGE] SHUFFLE [RS_243] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_598] (rows=128840811 width=860) + Merge Join Operator [MERGEJOIN_602] (rows=128840811 width=860) Conds:RS_240._col1=RS_241._col0(Inner),Output:["_col0","_col7","_col9","_col14","_col15","_col16","_col17","_col19"] - <-Map 40 [SIMPLE_EDGE] + <-Map 42 [SIMPLE_EDGE] SHUFFLE [RS_241] PartitionCols:_col0 Please refer to the previous Select Operator [SEL_24] <-Reducer 15 [SIMPLE_EDGE] SHUFFLE [RS_240] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_597] (rows=117128008 width=860) + Merge Join Operator [MERGEJOIN_601] (rows=117128008 width=860) Conds:RS_237._col3=RS_238._col0(Inner),Output:["_col0","_col1","_col7","_col9","_col14","_col15","_col16","_col17"] - <-Map 39 [SIMPLE_EDGE] + <-Map 41 [SIMPLE_EDGE] SHUFFLE [RS_238] PartitionCols:_col0 Select Operator [SEL_21] (rows=40000000 width=1014) Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_542] (rows=40000000 width=1014) + Filter Operator [FIL_546] (rows=40000000 width=1014) predicate:ca_address_sk is not null TableScan [TS_19] (rows=40000000 width=1014) default@customer_address,ad2,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_street_number","ca_street_name","ca_city","ca_zip"] <-Reducer 14 [SIMPLE_EDGE] SHUFFLE [RS_237] PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_596] (rows=106480005 width=860) + Merge Join Operator [MERGEJOIN_600] (rows=106480005 width=860) Conds:RS_234._col2=RS_235._col0(Inner),Output:["_col0","_col1","_col3","_col7","_col9"] <-Reducer 13 [SIMPLE_EDGE] SHUFFLE [RS_234] PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_594] (rows=96800003 width=860) + Merge Join Operator [MERGEJOIN_598] (rows=96800003 width=860) Conds:RS_231._col4=RS_232._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col7","_col9"] <-Map 20 [SIMPLE_EDGE] SHUFFLE [RS_232] PartitionCols:_col0 Select Operator [SEL_136] (rows=73049 width=1119) Output:["_col0","_col1"] - Filter Operator [FIL_558] (rows=73049 width=1119) + Filter Operator [FIL_562] (rows=73049 width=1119) predicate:d_date_sk is not null TableScan [TS_3] (rows=73049 width=1119) default@date_dim,d2,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"] <-Reducer 12 [SIMPLE_EDGE] SHUFFLE [RS_231] PartitionCols:_col4 - Merge Join Operator [MERGEJOIN_593] (rows=88000001 width=860) + Merge Join Operator [MERGEJOIN_597] (rows=88000001 width=860) Conds:RS_228._col5=RS_229._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col7"] <-Map 20 [SIMPLE_EDGE] SHUFFLE [RS_229] PartitionCols:_col0 Select Operator [SEL_133] (rows=73049 width=1119) Output:["_col0","_col1"] - Filter Operator [FIL_557] (rows=73049 width=1119) + Filter Operator [FIL_561] (rows=73049 width=1119) predicate:d_date_sk is not null Please refer to the previous TableScan [TS_3] <-Map 1 [SIMPLE_EDGE] @@ -388,183 +388,183 @@ Stage-0 PartitionCols:_col5 Select Operator [SEL_2] (rows=80000000 width=860) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_537] (rows=80000000 width=860) + Filter Operator [FIL_541] (rows=80000000 width=860) predicate:(c_customer_sk is not null and c_first_shipto_date_sk is not null and c_first_sales_date_sk is not null and c_current_cdemo_sk is not null and c_current_hdemo_sk is not null and c_current_addr_sk is not null) TableScan [TS_0] (rows=80000000 width=860) default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_hdemo_sk","c_current_addr_sk","c_first_shipto_date_sk","c_first_sales_date_sk"] - <-Reducer 36 [SIMPLE_EDGE] + <-Reducer 38 [SIMPLE_EDGE] SHUFFLE [RS_235] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_595] (rows=7920 width=107) + Merge Join Operator [MERGEJOIN_599] (rows=7920 width=107) Conds:RS_143._col1=RS_144._col0(Inner),Output:["_col0"] - <-Map 33 [SIMPLE_EDGE] + <-Map 35 [SIMPLE_EDGE] SHUFFLE [RS_143] PartitionCols:_col1 Select Operator [SEL_11] (rows=7200 width=107) Output:["_col0","_col1"] - Filter Operator [FIL_540] (rows=7200 width=107) + Filter Operator [FIL_544] (rows=7200 width=107) predicate:(hd_demo_sk is not null and hd_income_band_sk is not null) TableScan [TS_9] (rows=7200 width=107) default@household_demographics,hd2,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_income_band_sk"] - <-Map 38 [SIMPLE_EDGE] + <-Map 40 [SIMPLE_EDGE] SHUFFLE [RS_144] PartitionCols:_col0 Select Operator [SEL_14] (rows=20 width=12) Output:["_col0"] - Filter Operator [FIL_541] (rows=20 width=12) + Filter Operator [FIL_545] (rows=20 width=12) predicate:ib_income_band_sk is not null TableScan [TS_12] (rows=20 width=12) default@income_band,ib2,Tbl:COMPLETE,Col:NONE,Output:["ib_income_band_sk"] - <-Reducer 32 [SIMPLE_EDGE] + <-Reducer 34 [SIMPLE_EDGE] SHUFFLE [RS_244] - PartitionCols:_col18 + PartitionCols:_col16 Select Operator [SEL_224] (rows=1234698008 width=88) - Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col18","_col19","_col25","_col26","_col27","_col28","_col31"] - Merge Join Operator [MERGEJOIN_608] (rows=1234698008 width=88) - Conds:RS_221._col13=RS_222._col0(Inner),Output:["_col10","_col11","_col17","_col18","_col19","_col20","_col23","_col28","_col29","_col31","_col32","_col33","_col34"] - <-Map 39 [SIMPLE_EDGE] + Output:["_col3","_col4","_col5","_col6","_col8","_col9","_col16","_col17","_col23","_col24","_col25","_col26","_col29"] + Merge Join Operator [MERGEJOIN_612] (rows=1234698008 width=88) + Conds:RS_221._col5, _col12=RS_222._col0, _col1(Inner),Output:["_col6","_col7","_col13","_col14","_col15","_col16","_col19","_col26","_col27","_col29","_col30","_col31","_col32"] + <-Map 55 [SIMPLE_EDGE] SHUFFLE [RS_222] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_21] - <-Reducer 31 [SIMPLE_EDGE] + PartitionCols:_col0, _col1 + Select Operator [SEL_77] (rows=57591150 width=77) + Output:["_col0","_col1"] + Filter Operator [FIL_558] (rows=57591150 width=77) + predicate:(sr_item_sk is not null and sr_ticket_number is not null) + TableScan [TS_75] (rows=57591150 width=77) + default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_item_sk","sr_ticket_number"] + <-Reducer 33 [SIMPLE_EDGE] SHUFFLE [RS_221] - PartitionCols:_col13 - Merge Join Operator [MERGEJOIN_607] (rows=1122452711 width=88) - Conds:RS_218._col14=RS_219._col0(Inner),Output:["_col10","_col11","_col13","_col17","_col18","_col19","_col20","_col23","_col28","_col29"] - <-Map 55 [SIMPLE_EDGE] + PartitionCols:_col5, _col12 + Merge Join Operator [MERGEJOIN_611] (rows=1122452711 width=88) + Conds:RS_218._col9=RS_219._col0(Inner),Output:["_col5","_col6","_col7","_col12","_col13","_col14","_col15","_col16","_col19","_col26","_col27","_col29","_col30","_col31","_col32"] + <-Map 41 [SIMPLE_EDGE] SHUFFLE [RS_219] PartitionCols:_col0 - Select Operator [SEL_77] (rows=1704 width=1910) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_553] (rows=1704 width=1910) - predicate:(s_store_sk is not null and s_store_name is not null and s_zip is not null) - TableScan [TS_75] (rows=1704 width=1910) - default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name","s_zip"] - <-Reducer 30 [SIMPLE_EDGE] + Please refer to the previous Select Operator [SEL_21] + <-Reducer 32 [SIMPLE_EDGE] SHUFFLE [RS_218] - PartitionCols:_col14 - Merge Join Operator [MERGEJOIN_606] (rows=1020411534 width=88) - Conds:RS_215._col9=RS_216._col0(Inner),Output:["_col10","_col11","_col13","_col14","_col17","_col18","_col19","_col20","_col23"] - <-Reducer 29 [SIMPLE_EDGE] + PartitionCols:_col9 + Merge Join Operator [MERGEJOIN_610] (rows=1020411534 width=88) + Conds:RS_215._col10=RS_216._col0(Inner),Output:["_col5","_col6","_col7","_col9","_col12","_col13","_col14","_col15","_col16","_col19","_col26","_col27"] + <-Map 54 [SIMPLE_EDGE] + SHUFFLE [RS_216] + PartitionCols:_col0 + Select Operator [SEL_71] (rows=1704 width=1910) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_556] (rows=1704 width=1910) + predicate:(s_store_sk is not null and s_store_name is not null and s_zip is not null) + TableScan [TS_69] (rows=1704 width=1910) + default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name","s_zip"] + <-Reducer 31 [SIMPLE_EDGE] SHUFFLE [RS_215] - PartitionCols:_col9 - Merge Join Operator [MERGEJOIN_605] (rows=927646829 width=88) - Conds:RS_212._col0=RS_213._col9(Inner),Output:["_col9","_col10","_col11","_col13","_col14","_col17","_col18","_col19","_col20","_col23"] - <-Reducer 28 [SIMPLE_EDGE] - SHUFFLE [RS_213] - PartitionCols:_col9 - Select Operator [SEL_186] (rows=843315281 width=88) - Output:["_col6","_col7","_col8","_col9","_col10","_col11","_col14","_col15","_col16","_col17","_col20"] - Merge Join Operator [MERGEJOIN_603] (rows=843315281 width=88) - Conds:RS_183._col7=RS_184._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col9","_col10","_col11","_col12","_col15"] - <-Map 48 [SIMPLE_EDGE] - SHUFFLE [RS_184] - PartitionCols:_col0 - Select Operator [SEL_45] (rows=2300 width=1179) - Output:["_col0"] - Filter Operator [FIL_550] (rows=2300 width=1179) - predicate:p_promo_sk is not null - TableScan [TS_43] (rows=2300 width=1179) - default@promotion,promotion,Tbl:COMPLETE,Col:NONE,Output:["p_promo_sk"] - <-Reducer 27 [SIMPLE_EDGE] - SHUFFLE [RS_183] - PartitionCols:_col7 - Merge Join Operator [MERGEJOIN_602] (rows=766650239 width=88) - Conds:RS_180._col0=RS_181._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col15"] - <-Map 20 [SIMPLE_EDGE] - SHUFFLE [RS_181] + PartitionCols:_col10 + Merge Join Operator [MERGEJOIN_609] (rows=927646829 width=88) + Conds:RS_212._col5=RS_213._col0(Inner),Output:["_col5","_col6","_col7","_col9","_col10","_col12","_col13","_col14","_col15","_col16","_col19"] + <-Reducer 30 [SIMPLE_EDGE] + SHUFFLE [RS_212] + PartitionCols:_col5 + Merge Join Operator [MERGEJOIN_608] (rows=843315281 width=88) + Conds:RS_209._col0=RS_210._col5(Inner),Output:["_col5","_col6","_col7","_col9","_col10","_col12","_col13","_col14","_col15","_col16","_col19"] + <-Reducer 29 [SIMPLE_EDGE] + SHUFFLE [RS_210] + PartitionCols:_col5 + Select Operator [SEL_180] (rows=766650239 width=88) + Output:["_col2","_col3","_col4","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col13","_col16"] + Merge Join Operator [MERGEJOIN_606] (rows=766650239 width=88) + Conds:RS_177._col7=RS_178._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col8","_col9","_col10","_col11","_col12","_col15"] + <-Map 47 [SIMPLE_EDGE] + SHUFFLE [RS_178] PartitionCols:_col0 - Select Operator [SEL_170] (rows=36524 width=1119) + Select Operator [SEL_42] (rows=2300 width=1179) Output:["_col0"] - Filter Operator [FIL_568] (rows=36524 width=1119) - predicate:((d_year = 2001) and d_date_sk is not null) - Please refer to the previous TableScan [TS_3] - <-Reducer 45 [SIMPLE_EDGE] - SHUFFLE [RS_180] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_601] (rows=696954748 width=88) - Conds:RS_177._col1, _col8=RS_178._col0, _col1(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col15"] - <-Map 47 [SIMPLE_EDGE] - SHUFFLE [RS_178] - PartitionCols:_col0, _col1 - Select Operator [SEL_39] (rows=57591150 width=77) - Output:["_col0","_col1"] - Filter Operator [FIL_548] (rows=57591150 width=77) - predicate:(sr_item_sk is not null and sr_ticket_number is not null) - TableScan [TS_37] (rows=57591150 width=77) - default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_item_sk","sr_ticket_number"] - <-Reducer 44 [SIMPLE_EDGE] - SHUFFLE [RS_177] - PartitionCols:_col1, _col8 - Merge Join Operator [MERGEJOIN_600] (rows=633595212 width=88) - Conds:RS_174._col1=RS_175._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col15"] - <-Map 41 [SIMPLE_EDGE] - SHUFFLE [RS_174] + Filter Operator [FIL_553] (rows=2300 width=1179) + predicate:p_promo_sk is not null + TableScan [TS_40] (rows=2300 width=1179) + default@promotion,promotion,Tbl:COMPLETE,Col:NONE,Output:["p_promo_sk"] + <-Reducer 28 [SIMPLE_EDGE] + SHUFFLE [RS_177] + PartitionCols:_col7 + Merge Join Operator [MERGEJOIN_605] (rows=696954748 width=88) + Conds:RS_174._col0=RS_175._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col15"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_175] + PartitionCols:_col0 + Select Operator [SEL_167] (rows=36524 width=1119) + Output:["_col0"] + Filter Operator [FIL_571] (rows=36524 width=1119) + predicate:((d_year = 2001) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Reducer 45 [SIMPLE_EDGE] + SHUFFLE [RS_174] + PartitionCols:_col0 + Merge Join Operator [MERGEJOIN_604] (rows=633595212 width=88) + Conds:RS_171._col1=RS_172._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col15"] + <-Map 43 [SIMPLE_EDGE] + SHUFFLE [RS_171] PartitionCols:_col1 Select Operator [SEL_33] (rows=575995635 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"] - Filter Operator [FIL_546] (rows=575995635 width=88) + Filter Operator [FIL_550] (rows=575995635 width=88) predicate:(ss_item_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_customer_sk is not null and ss_cdemo_sk is not null and ss_promo_sk is not null and ss_hdemo_sk is not null and ss_addr_sk is not null) TableScan [TS_31] (rows=575995635 width=88) default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_cdemo_sk","ss_hdemo_sk","ss_addr_sk","ss_store_sk","ss_promo_sk","ss_ticket_number","ss_wholesale_cost","ss_list_price","ss_coupon_amt"] <-Map 46 [SIMPLE_EDGE] - SHUFFLE [RS_175] + SHUFFLE [RS_172] PartitionCols:_col0 Select Operator [SEL_36] (rows=2851 width=1436) Output:["_col0","_col3"] - Filter Operator [FIL_547] (rows=2851 width=1436) + Filter Operator [FIL_551] (rows=2851 width=1436) predicate:((i_color) IN ('maroon', 'burnished', 'dim', 'steel', 'navajo', 'chocolate') and i_current_price BETWEEN 35 AND 45 and i_current_price BETWEEN 36 AND 50 and i_item_sk is not null) TableScan [TS_34] (rows=462000 width=1436) default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_current_price","i_color","i_product_name"] - <-Reducer 37 [SIMPLE_EDGE] - SHUFFLE [RS_212] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_599] (rows=7920 width=107) - Conds:RS_209._col1=RS_210._col0(Inner),Output:["_col0"] - <-Map 33 [SIMPLE_EDGE] + <-Reducer 39 [SIMPLE_EDGE] SHUFFLE [RS_209] - PartitionCols:_col1 - Please refer to the previous Select Operator [SEL_11] - <-Map 38 [SIMPLE_EDGE] - SHUFFLE [RS_210] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_14] - <-Reducer 53 [ONE_TO_ONE_EDGE] - FORWARD [RS_216] - PartitionCols:_col0 - Select Operator [SEL_202] (rows=52798137 width=135) - Output:["_col0"] - Filter Operator [FIL_201] (rows=52798137 width=135) - predicate:(_col1 > (2 * _col2)) - Group By Operator [GBY_200] (rows=158394413 width=135) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 - <-Reducer 52 [SIMPLE_EDGE] - SHUFFLE [RS_199] PartitionCols:_col0 - Group By Operator [GBY_198] (rows=316788826 width=135) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","sum(_col2)"],keys:_col0 - Select Operator [SEL_196] (rows=316788826 width=135) - Output:["_col0","_col1","_col2"] - Merge Join Operator [MERGEJOIN_604] (rows=316788826 width=135) - Conds:RS_193._col0, _col1=RS_194._col0, _col1(Inner),Output:["_col0","_col2","_col5","_col6","_col7"] - <-Map 49 [SIMPLE_EDGE] - SHUFFLE [RS_193] - PartitionCols:_col0, _col1 - Select Operator [SEL_61] (rows=287989836 width=135) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_551] (rows=287989836 width=135) - predicate:(cs_order_number is not null and cs_item_sk is not null) - TableScan [TS_59] (rows=287989836 width=135) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_item_sk","cs_order_number","cs_ext_list_price"] - <-Map 54 [SIMPLE_EDGE] - SHUFFLE [RS_194] - PartitionCols:_col0, _col1 - Select Operator [SEL_64] (rows=28798881 width=106) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_552] (rows=28798881 width=106) - predicate:(cr_order_number is not null and cr_item_sk is not null) - TableScan [TS_62] (rows=28798881 width=106) - default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:NONE,Output:["cr_item_sk","cr_order_number","cr_refunded_cash","cr_reversed_charge","cr_store_credit"] + Merge Join Operator [MERGEJOIN_603] (rows=7920 width=107) + Conds:RS_206._col1=RS_207._col0(Inner),Output:["_col0"] + <-Map 35 [SIMPLE_EDGE] + SHUFFLE [RS_206] + PartitionCols:_col1 + Please refer to the previous Select Operator [SEL_11] + <-Map 40 [SIMPLE_EDGE] + SHUFFLE [RS_207] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_14] + <-Reducer 52 [ONE_TO_ONE_EDGE] + FORWARD [RS_213] + PartitionCols:_col0 + Select Operator [SEL_196] (rows=52798137 width=135) + Output:["_col0"] + Filter Operator [FIL_195] (rows=52798137 width=135) + predicate:(_col1 > (2 * _col2)) + Group By Operator [GBY_194] (rows=158394413 width=135) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 + <-Reducer 51 [SIMPLE_EDGE] + SHUFFLE [RS_193] + PartitionCols:_col0 + Group By Operator [GBY_192] (rows=316788826 width=135) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","sum(_col2)"],keys:_col0 + Select Operator [SEL_190] (rows=316788826 width=135) + Output:["_col0","_col1","_col2"] + Merge Join Operator [MERGEJOIN_607] (rows=316788826 width=135) + Conds:RS_187._col0, _col1=RS_188._col0, _col1(Inner),Output:["_col0","_col2","_col5","_col6","_col7"] + <-Map 48 [SIMPLE_EDGE] + SHUFFLE [RS_187] + PartitionCols:_col0, _col1 + Select Operator [SEL_55] (rows=287989836 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_554] (rows=287989836 width=135) + predicate:(cs_order_number is not null and cs_item_sk is not null) + TableScan [TS_53] (rows=287989836 width=135) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_item_sk","cs_order_number","cs_ext_list_price"] + <-Map 53 [SIMPLE_EDGE] + SHUFFLE [RS_188] + PartitionCols:_col0, _col1 + Select Operator [SEL_58] (rows=28798881 width=106) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_555] (rows=28798881 width=106) + predicate:(cr_order_number is not null and cr_item_sk is not null) + TableScan [TS_56] (rows=28798881 width=106) + default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:NONE,Output:["cr_item_sk","cr_order_number","cr_refunded_cash","cr_reversed_charge","cr_store_credit"] <-Reducer 9 [SIMPLE_EDGE] SHUFFLE [RS_256] PartitionCols:_col2, _col1, _col3 @@ -576,177 +576,177 @@ Stage-0 SHUFFLE [RS_124] PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13 Group By Operator [GBY_123] (rows=1493984654 width=88) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count()","sum(_col45)","sum(_col46)","sum(_col47)"],keys:_col26, _col48, _col27, _col7, _col9, _col14, _col15, _col16, _col17, _col21, _col22, _col23, _col24, _col51 + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count()","sum(_col43)","sum(_col44)","sum(_col45)"],keys:_col28, _col46, _col29, _col7, _col9, _col14, _col15, _col16, _col17, _col23, _col24, _col25, _col26, _col49 Select Operator [SEL_122] (rows=1493984654 width=88) - Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col21","_col22","_col23","_col24","_col26","_col27","_col45","_col46","_col47","_col48","_col51"] + Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col23","_col24","_col25","_col26","_col28","_col29","_col43","_col44","_col45","_col46","_col49"] Filter Operator [FIL_121] (rows=1493984654 width=88) predicate:(_col56 <> _col19) - Merge Join Operator [MERGEJOIN_592] (rows=1493984654 width=88) - Conds:RS_118._col39=RS_119._col0(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col21","_col22","_col23","_col24","_col26","_col27","_col45","_col46","_col47","_col48","_col51","_col56"] - <-Map 40 [SIMPLE_EDGE] + Merge Join Operator [MERGEJOIN_596] (rows=1493984654 width=88) + Conds:RS_118._col37=RS_119._col0(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col23","_col24","_col25","_col26","_col28","_col29","_col43","_col44","_col45","_col46","_col49","_col56"] + <-Map 42 [SIMPLE_EDGE] SHUFFLE [RS_119] PartitionCols:_col0 Please refer to the previous Select Operator [SEL_24] <-Reducer 7 [SIMPLE_EDGE] SHUFFLE [RS_118] - PartitionCols:_col39 - Merge Join Operator [MERGEJOIN_591] (rows=1358167838 width=88) - Conds:RS_115._col0=RS_116._col18(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col21","_col22","_col23","_col24","_col26","_col27","_col39","_col45","_col46","_col47","_col48","_col51"] - <-Reducer 26 [SIMPLE_EDGE] + PartitionCols:_col37 + Merge Join Operator [MERGEJOIN_595] (rows=1358167838 width=88) + Conds:RS_115._col0=RS_116._col16(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col23","_col24","_col25","_col26","_col28","_col29","_col37","_col43","_col44","_col45","_col46","_col49"] + <-Reducer 27 [SIMPLE_EDGE] SHUFFLE [RS_116] - PartitionCols:_col18 + PartitionCols:_col16 Select Operator [SEL_96] (rows=1234698008 width=88) - Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col18","_col19","_col25","_col26","_col27","_col28","_col31"] - Merge Join Operator [MERGEJOIN_590] (rows=1234698008 width=88) - Conds:RS_93._col13=RS_94._col0(Inner),Output:["_col10","_col11","_col17","_col18","_col19","_col20","_col23","_col28","_col29","_col31","_col32","_col33","_col34"] - <-Map 39 [SIMPLE_EDGE] + Output:["_col3","_col4","_col5","_col6","_col8","_col9","_col16","_col17","_col23","_col24","_col25","_col26","_col29"] + Merge Join Operator [MERGEJOIN_594] (rows=1234698008 width=88) + Conds:RS_93._col5, _col12=RS_94._col0, _col1(Inner),Output:["_col6","_col7","_col13","_col14","_col15","_col16","_col19","_col26","_col27","_col29","_col30","_col31","_col32"] + <-Map 55 [SIMPLE_EDGE] SHUFFLE [RS_94] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_21] - <-Reducer 25 [SIMPLE_EDGE] + PartitionCols:_col0, _col1 + Please refer to the previous Select Operator [SEL_77] + <-Reducer 26 [SIMPLE_EDGE] SHUFFLE [RS_93] - PartitionCols:_col13 - Merge Join Operator [MERGEJOIN_589] (rows=1122452711 width=88) - Conds:RS_90._col14=RS_91._col0(Inner),Output:["_col10","_col11","_col13","_col17","_col18","_col19","_col20","_col23","_col28","_col29"] - <-Map 55 [SIMPLE_EDGE] + PartitionCols:_col5, _col12 + Merge Join Operator [MERGEJOIN_593] (rows=1122452711 width=88) + Conds:RS_90._col9=RS_91._col0(Inner),Output:["_col5","_col6","_col7","_col12","_col13","_col14","_col15","_col16","_col19","_col26","_col27","_col29","_col30","_col31","_col32"] + <-Map 41 [SIMPLE_EDGE] SHUFFLE [RS_91] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_77] - <-Reducer 24 [SIMPLE_EDGE] + Please refer to the previous Select Operator [SEL_21] + <-Reducer 25 [SIMPLE_EDGE] SHUFFLE [RS_90] - PartitionCols:_col14 - Merge Join Operator [MERGEJOIN_588] (rows=1020411534 width=88) - Conds:RS_87._col9=RS_88._col0(Inner),Output:["_col10","_col11","_col13","_col14","_col17","_col18","_col19","_col20","_col23"] - <-Reducer 23 [SIMPLE_EDGE] + PartitionCols:_col9 + Merge Join Operator [MERGEJOIN_592] (rows=1020411534 width=88) + Conds:RS_87._col10=RS_88._col0(Inner),Output:["_col5","_col6","_col7","_col9","_col12","_col13","_col14","_col15","_col16","_col19","_col26","_col27"] + <-Map 54 [SIMPLE_EDGE] + SHUFFLE [RS_88] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_71] + <-Reducer 24 [SIMPLE_EDGE] SHUFFLE [RS_87] - PartitionCols:_col9 - Merge Join Operator [MERGEJOIN_587] (rows=927646829 width=88) - Conds:RS_84._col0=RS_85._col9(Inner),Output:["_col9","_col10","_col11","_col13","_col14","_col17","_col18","_col19","_col20","_col23"] - <-Reducer 22 [SIMPLE_EDGE] - SHUFFLE [RS_85] - PartitionCols:_col9 - Select Operator [SEL_58] (rows=843315281 width=88) - Output:["_col6","_col7","_col8","_col9","_col10","_col11","_col14","_col15","_col16","_col17","_col20"] - Merge Join Operator [MERGEJOIN_585] (rows=843315281 width=88) - Conds:RS_55._col7=RS_56._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col9","_col10","_col11","_col12","_col15"] - <-Map 48 [SIMPLE_EDGE] - SHUFFLE [RS_56] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_45] - <-Reducer 21 [SIMPLE_EDGE] - SHUFFLE [RS_55] - PartitionCols:_col7 - Merge Join Operator [MERGEJOIN_584] (rows=766650239 width=88) - Conds:RS_52._col0=RS_53._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col15"] - <-Map 20 [SIMPLE_EDGE] - SHUFFLE [RS_53] - PartitionCols:_col0 - Select Operator [SEL_42] (rows=36524 width=1119) - Output:["_col0"] - Filter Operator [FIL_549] (rows=36524 width=1119) - predicate:((d_year = 2000) and d_date_sk is not null) - Please refer to the previous TableScan [TS_3] - <-Reducer 43 [SIMPLE_EDGE] - SHUFFLE [RS_52] + PartitionCols:_col10 + Merge Join Operator [MERGEJOIN_591] (rows=927646829 width=88) + Conds:RS_84._col5=RS_85._col0(Inner),Output:["_col5","_col6","_col7","_col9","_col10","_col12","_col13","_col14","_col15","_col16","_col19"] + <-Reducer 23 [SIMPLE_EDGE] + SHUFFLE [RS_84] + PartitionCols:_col5 + Merge Join Operator [MERGEJOIN_590] (rows=843315281 width=88) + Conds:RS_81._col0=RS_82._col5(Inner),Output:["_col5","_col6","_col7","_col9","_col10","_col12","_col13","_col14","_col15","_col16","_col19"] + <-Reducer 22 [SIMPLE_EDGE] + SHUFFLE [RS_82] + PartitionCols:_col5 + Select Operator [SEL_52] (rows=766650239 width=88) + Output:["_col2","_col3","_col4","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col13","_col16"] + Merge Join Operator [MERGEJOIN_588] (rows=766650239 width=88) + Conds:RS_49._col7=RS_50._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col8","_col9","_col10","_col11","_col12","_col15"] + <-Map 47 [SIMPLE_EDGE] + SHUFFLE [RS_50] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_583] (rows=696954748 width=88) - Conds:RS_49._col1, _col8=RS_50._col0, _col1(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col15"] - <-Map 47 [SIMPLE_EDGE] - SHUFFLE [RS_50] - PartitionCols:_col0, _col1 - Please refer to the previous Select Operator [SEL_39] - <-Reducer 42 [SIMPLE_EDGE] - SHUFFLE [RS_49] - PartitionCols:_col1, _col8 - Merge Join Operator [MERGEJOIN_582] (rows=633595212 width=88) - Conds:RS_46._col1=RS_47._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col15"] - <-Map 41 [SIMPLE_EDGE] - SHUFFLE [RS_46] + Please refer to the previous Select Operator [SEL_42] + <-Reducer 21 [SIMPLE_EDGE] + SHUFFLE [RS_49] + PartitionCols:_col7 + Merge Join Operator [MERGEJOIN_587] (rows=696954748 width=88) + Conds:RS_46._col0=RS_47._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col15"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_47] + PartitionCols:_col0 + Select Operator [SEL_39] (rows=36524 width=1119) + Output:["_col0"] + Filter Operator [FIL_552] (rows=36524 width=1119) + predicate:((d_year = 2000) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Reducer 44 [SIMPLE_EDGE] + SHUFFLE [RS_46] + PartitionCols:_col0 + Merge Join Operator [MERGEJOIN_586] (rows=633595212 width=88) + Conds:RS_43._col1=RS_44._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col15"] + <-Map 43 [SIMPLE_EDGE] + SHUFFLE [RS_43] PartitionCols:_col1 Please refer to the previous Select Operator [SEL_33] <-Map 46 [SIMPLE_EDGE] - SHUFFLE [RS_47] + SHUFFLE [RS_44] PartitionCols:_col0 Please refer to the previous Select Operator [SEL_36] - <-Reducer 35 [SIMPLE_EDGE] - SHUFFLE [RS_84] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_581] (rows=7920 width=107) - Conds:RS_81._col1=RS_82._col0(Inner),Output:["_col0"] - <-Map 33 [SIMPLE_EDGE] + <-Reducer 37 [SIMPLE_EDGE] SHUFFLE [RS_81] - PartitionCols:_col1 - Please refer to the previous Select Operator [SEL_11] - <-Map 38 [SIMPLE_EDGE] - SHUFFLE [RS_82] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_14] - <-Reducer 51 [ONE_TO_ONE_EDGE] - FORWARD [RS_88] - PartitionCols:_col0 - Select Operator [SEL_74] (rows=52798137 width=135) - Output:["_col0"] - Filter Operator [FIL_73] (rows=52798137 width=135) - predicate:(_col1 > (2 * _col2)) - Group By Operator [GBY_72] (rows=158394413 width=135) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 - <-Reducer 50 [SIMPLE_EDGE] - SHUFFLE [RS_71] PartitionCols:_col0 - Group By Operator [GBY_70] (rows=316788826 width=135) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","sum(_col2)"],keys:_col0 - Select Operator [SEL_68] (rows=316788826 width=135) - Output:["_col0","_col1","_col2"] - Merge Join Operator [MERGEJOIN_586] (rows=316788826 width=135) - Conds:RS_65._col0, _col1=RS_66._col0, _col1(Inner),Output:["_col0","_col2","_col5","_col6","_col7"] - <-Map 49 [SIMPLE_EDGE] - SHUFFLE [RS_65] - PartitionCols:_col0, _col1 - Please refer to the previous Select Operator [SEL_61] - <-Map 54 [SIMPLE_EDGE] - SHUFFLE [RS_66] - PartitionCols:_col0, _col1 - Please refer to the previous Select Operator [SEL_64] + Merge Join Operator [MERGEJOIN_585] (rows=7920 width=107) + Conds:RS_78._col1=RS_79._col0(Inner),Output:["_col0"] + <-Map 35 [SIMPLE_EDGE] + SHUFFLE [RS_78] + PartitionCols:_col1 + Please refer to the previous Select Operator [SEL_11] + <-Map 40 [SIMPLE_EDGE] + SHUFFLE [RS_79] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_14] + <-Reducer 50 [ONE_TO_ONE_EDGE] + FORWARD [RS_85] + PartitionCols:_col0 + Select Operator [SEL_68] (rows=52798137 width=135) + Output:["_col0"] + Filter Operator [FIL_67] (rows=52798137 width=135) + predicate:(_col1 > (2 * _col2)) + Group By Operator [GBY_66] (rows=158394413 width=135) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 + <-Reducer 49 [SIMPLE_EDGE] + SHUFFLE [RS_65] + PartitionCols:_col0 + Group By Operator [GBY_64] (rows=316788826 width=135) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","sum(_col2)"],keys:_col0 + Select Operator [SEL_62] (rows=316788826 width=135) + Output:["_col0","_col1","_col2"] + Merge Join Operator [MERGEJOIN_589] (rows=316788826 width=135) + Conds:RS_59._col0, _col1=RS_60._col0, _col1(Inner),Output:["_col0","_col2","_col5","_col6","_col7"] + <-Map 48 [SIMPLE_EDGE] + SHUFFLE [RS_59] + PartitionCols:_col0, _col1 + Please refer to the previous Select Operator [SEL_55] + <-Map 53 [SIMPLE_EDGE] + SHUFFLE [RS_60] + PartitionCols:_col0, _col1 + Please refer to the previous Select Operator [SEL_58] <-Reducer 6 [SIMPLE_EDGE] SHUFFLE [RS_115] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_580] (rows=128840811 width=860) + Merge Join Operator [MERGEJOIN_584] (rows=128840811 width=860) Conds:RS_112._col1=RS_113._col0(Inner),Output:["_col0","_col7","_col9","_col14","_col15","_col16","_col17","_col19"] - <-Map 40 [SIMPLE_EDGE] + <-Map 42 [SIMPLE_EDGE] SHUFFLE [RS_113] PartitionCols:_col0 Please refer to the previous Select Operator [SEL_24] <-Reducer 5 [SIMPLE_EDGE] SHUFFLE [RS_112] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_579] (rows=117128008 width=860) + Merge Join Operator [MERGEJOIN_583] (rows=117128008 width=860) Conds:RS_109._col3=RS_110._col0(Inner),Output:["_col0","_col1","_col7","_col9","_col14","_col15","_col16","_col17"] - <-Map 39 [SIMPLE_EDGE] + <-Map 41 [SIMPLE_EDGE] SHUFFLE [RS_110] PartitionCols:_col0 Please refer to the previous Select Operator [SEL_21] <-Reducer 4 [SIMPLE_EDGE] SHUFFLE [RS_109] PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_578] (rows=106480005 width=860) + Merge Join Operator [MERGEJOIN_582] (rows=106480005 width=860) Conds:RS_106._col2=RS_107._col0(Inner),Output:["_col0","_col1","_col3","_col7","_col9"] <-Reducer 3 [SIMPLE_EDGE] SHUFFLE [RS_106] PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_576] (rows=96800003 width=860) + Merge Join Operator [MERGEJOIN_580] (rows=96800003 width=860) Conds:RS_103._col4=RS_104._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col7","_col9"] <-Map 20 [SIMPLE_EDGE] SHUFFLE [RS_104] PartitionCols:_col0 Select Operator [SEL_5] (rows=73049 width=1119) Output:["_col0","_col1"] - Filter Operator [FIL_538] (rows=73049 width=1119) + Filter Operator [FIL_542] (rows=73049 width=1119) predicate:d_date_sk is not null Please refer to the previous TableScan [TS_3] <-Reducer 2 [SIMPLE_EDGE] SHUFFLE [RS_103] PartitionCols:_col4 - Merge Join Operator [MERGEJOIN_575] (rows=88000001 width=860) + Merge Join Operator [MERGEJOIN_579] (rows=88000001 width=860) Conds:RS_100._col5=RS_101._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col7"] <-Map 20 [SIMPLE_EDGE] SHUFFLE [RS_101] @@ -756,16 +756,16 @@ Stage-0 SHUFFLE [RS_100] PartitionCols:_col5 Please refer to the previous Select Operator [SEL_2] - <-Reducer 34 [SIMPLE_EDGE] + <-Reducer 36 [SIMPLE_EDGE] SHUFFLE [RS_107] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_577] (rows=7920 width=107) + Merge Join Operator [MERGEJOIN_581] (rows=7920 width=107) Conds:RS_15._col1=RS_16._col0(Inner),Output:["_col0"] - <-Map 33 [SIMPLE_EDGE] + <-Map 35 [SIMPLE_EDGE] SHUFFLE [RS_15] PartitionCols:_col1 Please refer to the previous Select Operator [SEL_11] - <-Map 38 [SIMPLE_EDGE] + <-Map 40 [SIMPLE_EDGE] SHUFFLE [RS_16] PartitionCols:_col0 Please refer to the previous Select Operator [SEL_14] diff --git a/ql/src/test/results/clientpositive/perf/query72.q.out b/ql/src/test/results/clientpositive/perf/query72.q.out index 4d18fb3a4f..7b43cc3eb9 100644 --- a/ql/src/test/results/clientpositive/perf/query72.q.out +++ b/ql/src/test/results/clientpositive/perf/query72.q.out @@ -61,190 +61,190 @@ POSTHOOK: type: QUERY Plan optimized by CBO. Vertex dependency in root stage -Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE) -Reducer 13 <- Map 18 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) -Reducer 14 <- Map 19 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE) -Reducer 15 <- Map 20 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE) -Reducer 16 <- Map 21 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) -Reducer 3 <- Reducer 2 (SIMPLE_EDGE) -Reducer 4 <- Reducer 3 (SIMPLE_EDGE) -Reducer 6 <- Map 10 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) -Reducer 7 <- Reducer 16 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE) -Reducer 8 <- Map 22 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE) -Reducer 9 <- Map 23 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE) +Reducer 10 <- Map 16 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE) +Reducer 11 <- Map 17 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE) +Reducer 12 <- Map 18 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE) +Reducer 13 <- Map 19 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) +Reducer 14 <- Map 20 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE) +Reducer 15 <- Map 21 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) +Reducer 3 <- Reducer 15 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) +Reducer 4 <- Map 22 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) +Reducer 5 <- Map 23 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) +Reducer 6 <- Reducer 5 (SIMPLE_EDGE) +Reducer 7 <- Reducer 6 (SIMPLE_EDGE) Stage-0 Fetch Operator limit:100 Stage-1 - Reducer 4 + Reducer 7 File Output Operator [FS_75] Limit [LIM_74] (rows=100 width=135) Number of rows:100 Select Operator [SEL_73] (rows=37725837 width=135) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - <-Reducer 3 [SIMPLE_EDGE] + <-Reducer 6 [SIMPLE_EDGE] SHUFFLE [RS_72] Select Operator [SEL_70] (rows=37725837 width=135) Output:["_col0","_col1","_col2","_col5"] Group By Operator [GBY_69] (rows=37725837 width=135) Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 2 [SIMPLE_EDGE] + <-Reducer 5 [SIMPLE_EDGE] SHUFFLE [RS_68] PartitionCols:_col0, _col1, _col2 Group By Operator [GBY_67] (rows=75451675 width=135) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col17, _col15, _col24 - Merge Join Operator [MERGEJOIN_142] (rows=75451675 width=135) - Conds:RS_63._col0, _col1=RS_64._col4, _col6(Right Outer),Output:["_col15","_col17","_col24"] - <-Map 1 [SIMPLE_EDGE] - SHUFFLE [RS_63] + Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col15, _col13, _col22 + Merge Join Operator [MERGEJOIN_141] (rows=75451675 width=135) + Conds:RS_63._col4, _col6=RS_64._col0, _col1(Left Outer),Output:["_col13","_col15","_col22"] + <-Map 23 [SIMPLE_EDGE] + SHUFFLE [RS_64] PartitionCols:_col0, _col1 - Select Operator [SEL_2] (rows=28798881 width=106) + Select Operator [SEL_62] (rows=28798881 width=106) Output:["_col0","_col1"] - Filter Operator [FIL_122] (rows=28798881 width=106) + Filter Operator [FIL_131] (rows=28798881 width=106) predicate:cr_item_sk is not null - TableScan [TS_0] (rows=28798881 width=106) + TableScan [TS_60] (rows=28798881 width=106) default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:NONE,Output:["cr_item_sk","cr_order_number"] - <-Reducer 9 [SIMPLE_EDGE] - SHUFFLE [RS_64] + <-Reducer 4 [SIMPLE_EDGE] + SHUFFLE [RS_63] PartitionCols:_col4, _col6 - Select Operator [SEL_62] (rows=68592431 width=135) + Select Operator [SEL_59] (rows=68592431 width=135) Output:["_col4","_col6","_col13","_col15","_col22"] - Filter Operator [FIL_61] (rows=68592431 width=135) - predicate:(UDFToDouble(_col28) > (UDFToDouble(_col17) + 5.0)) - Merge Join Operator [MERGEJOIN_141] (rows=205777295 width=135) - Conds:RS_58._col9=RS_59._col0(Inner),Output:["_col5","_col7","_col12","_col14","_col17","_col18","_col28"] - <-Map 23 [SIMPLE_EDGE] - SHUFFLE [RS_59] - PartitionCols:_col0 - Select Operator [SEL_47] (rows=73049 width=1119) - Output:["_col0","_col1"] - Filter Operator [FIL_132] (rows=73049 width=1119) - predicate:d_date_sk is not null - TableScan [TS_45] (rows=73049 width=1119) - default@date_dim,d3,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"] - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_58] - PartitionCols:_col9 - Merge Join Operator [MERGEJOIN_140] (rows=187070265 width=135) - Conds:RS_55._col0, _col18=RS_56._col0, _col1(Inner),Output:["_col5","_col7","_col9","_col12","_col14","_col17","_col18"] - <-Map 22 [SIMPLE_EDGE] - SHUFFLE [RS_56] - PartitionCols:_col0, _col1 - Select Operator [SEL_44] (rows=73049 width=1119) - Output:["_col0","_col1"] - Filter Operator [FIL_131] (rows=73049 width=1119) - predicate:(d_date_sk is not null and d_week_seq is not null) - TableScan [TS_42] (rows=73049 width=1119) - default@date_dim,d2,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_week_seq"] - <-Reducer 7 [SIMPLE_EDGE] - SHUFFLE [RS_55] - PartitionCols:_col0, _col18 - Filter Operator [FIL_54] (rows=170063874 width=135) - predicate:(_col3 < _col15) - Merge Join Operator [MERGEJOIN_139] (rows=510191624 width=135) - Conds:RS_51._col1=RS_52._col6(Inner),Output:["_col0","_col3","_col5","_col7","_col9","_col12","_col14","_col15","_col17","_col18"] - <-Reducer 16 [SIMPLE_EDGE] - SHUFFLE [RS_52] - PartitionCols:_col6 - Select Operator [SEL_41] (rows=463810558 width=135) - Output:["_col1","_col3","_col6","_col8","_col9","_col11","_col12"] - Merge Join Operator [MERGEJOIN_138] (rows=463810558 width=135) + Merge Join Operator [MERGEJOIN_140] (rows=68592431 width=135) + Conds:RS_56._col0, _col20=RS_57._col0, _col1(Inner),Output:["_col5","_col9","_col14","_col16","_col20"] + <-Map 22 [SIMPLE_EDGE] + SHUFFLE [RS_57] + PartitionCols:_col0, _col1 + Select Operator [SEL_48] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_130] (rows=73049 width=1119) + predicate:(d_date_sk is not null and d_week_seq is not null) + TableScan [TS_46] (rows=73049 width=1119) + default@date_dim,d2,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_week_seq"] + <-Reducer 3 [SIMPLE_EDGE] + SHUFFLE [RS_56] + PartitionCols:_col0, _col20 + Filter Operator [FIL_55] (rows=62356755 width=135) + predicate:(_col3 < _col17) + Merge Join Operator [MERGEJOIN_139] (rows=187070265 width=135) + Conds:RS_52._col1=RS_53._col8(Inner),Output:["_col0","_col3","_col5","_col9","_col14","_col16","_col17","_col20"] + <-Reducer 15 [SIMPLE_EDGE] + SHUFFLE [RS_53] + PartitionCols:_col8 + Select Operator [SEL_45] (rows=170063874 width=135) + Output:["_col3","_col8","_col10","_col11","_col14"] + Filter Operator [FIL_44] (rows=170063874 width=135) + predicate:(UDFToDouble(_col20) > (UDFToDouble(_col9) + 5.0)) + Merge Join Operator [MERGEJOIN_138] (rows=510191624 width=135) + Conds:RS_41._col1=RS_42._col0(Inner),Output:["_col4","_col6","_col7","_col9","_col10","_col18","_col20"] + <-Map 21 [SIMPLE_EDGE] + SHUFFLE [RS_42] + PartitionCols:_col0 + Select Operator [SEL_25] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_129] (rows=73049 width=1119) + predicate:d_date_sk is not null + TableScan [TS_23] (rows=73049 width=1119) + default@date_dim,d3,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"] + <-Reducer 14 [SIMPLE_EDGE] + SHUFFLE [RS_41] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_137] (rows=463810558 width=135) Conds:RS_38._col4=RS_39._col0(Inner),Output:["_col1","_col4","_col6","_col7","_col9","_col10","_col18"] - <-Map 21 [SIMPLE_EDGE] + <-Map 20 [SIMPLE_EDGE] SHUFFLE [RS_39] PartitionCols:_col0 - Select Operator [SEL_25] (rows=462000 width=1436) + Select Operator [SEL_22] (rows=462000 width=1436) Output:["_col0","_col1"] - Filter Operator [FIL_130] (rows=462000 width=1436) + Filter Operator [FIL_128] (rows=462000 width=1436) predicate:i_item_sk is not null - TableScan [TS_23] (rows=462000 width=1436) + TableScan [TS_20] (rows=462000 width=1436) default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_desc"] - <-Reducer 15 [SIMPLE_EDGE] + <-Reducer 13 [SIMPLE_EDGE] SHUFFLE [RS_38] PartitionCols:_col4 - Merge Join Operator [MERGEJOIN_137] (rows=421645953 width=135) + Merge Join Operator [MERGEJOIN_136] (rows=421645953 width=135) Conds:RS_35._col5=RS_36._col0(Left Outer),Output:["_col1","_col4","_col6","_col7","_col9","_col10"] - <-Map 20 [SIMPLE_EDGE] + <-Map 19 [SIMPLE_EDGE] SHUFFLE [RS_36] PartitionCols:_col0 - Select Operator [SEL_22] (rows=2300 width=1179) + Select Operator [SEL_19] (rows=2300 width=1179) Output:["_col0"] - TableScan [TS_21] (rows=2300 width=1179) + TableScan [TS_18] (rows=2300 width=1179) default@promotion,promotion,Tbl:COMPLETE,Col:NONE,Output:["p_promo_sk"] - <-Reducer 14 [SIMPLE_EDGE] + <-Reducer 12 [SIMPLE_EDGE] SHUFFLE [RS_35] PartitionCols:_col5 - Merge Join Operator [MERGEJOIN_136] (rows=383314495 width=135) + Merge Join Operator [MERGEJOIN_135] (rows=383314495 width=135) Conds:RS_32._col3=RS_33._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col9","_col10"] - <-Map 19 [SIMPLE_EDGE] + <-Map 18 [SIMPLE_EDGE] SHUFFLE [RS_33] PartitionCols:_col0 - Select Operator [SEL_20] (rows=3600 width=107) + Select Operator [SEL_17] (rows=3600 width=107) Output:["_col0"] - Filter Operator [FIL_128] (rows=3600 width=107) + Filter Operator [FIL_126] (rows=3600 width=107) predicate:((hd_buy_potential = '1001-5000') and hd_demo_sk is not null) - TableScan [TS_18] (rows=7200 width=107) + TableScan [TS_15] (rows=7200 width=107) default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_buy_potential"] - <-Reducer 13 [SIMPLE_EDGE] + <-Reducer 11 [SIMPLE_EDGE] SHUFFLE [RS_32] PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_135] (rows=348467716 width=135) + Merge Join Operator [MERGEJOIN_134] (rows=348467716 width=135) Conds:RS_29._col2=RS_30._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col9","_col10"] - <-Map 18 [SIMPLE_EDGE] + <-Map 17 [SIMPLE_EDGE] SHUFFLE [RS_30] PartitionCols:_col0 - Select Operator [SEL_17] (rows=930900 width=385) + Select Operator [SEL_14] (rows=930900 width=385) Output:["_col0"] - Filter Operator [FIL_127] (rows=930900 width=385) + Filter Operator [FIL_125] (rows=930900 width=385) predicate:((cd_marital_status = 'M') and cd_demo_sk is not null) - TableScan [TS_15] (rows=1861800 width=385) + TableScan [TS_12] (rows=1861800 width=385) default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_marital_status"] - <-Reducer 12 [SIMPLE_EDGE] + <-Reducer 10 [SIMPLE_EDGE] SHUFFLE [RS_29] PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_134] (rows=316788826 width=135) + Merge Join Operator [MERGEJOIN_133] (rows=316788826 width=135) Conds:RS_26._col0=RS_27._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col9","_col10"] - <-Map 11 [SIMPLE_EDGE] - SHUFFLE [RS_26] - PartitionCols:_col0 - Select Operator [SEL_11] (rows=287989836 width=135) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] - Filter Operator [FIL_125] (rows=287989836 width=135) - predicate:(cs_item_sk is not null and cs_bill_cdemo_sk is not null and cs_bill_hdemo_sk is not null and cs_sold_date_sk is not null and cs_ship_date_sk is not null) - TableScan [TS_9] (rows=287989836 width=135) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_ship_date_sk","cs_bill_cdemo_sk","cs_bill_hdemo_sk","cs_item_sk","cs_promo_sk","cs_order_number","cs_quantity"] - <-Map 17 [SIMPLE_EDGE] + <-Map 16 [SIMPLE_EDGE] SHUFFLE [RS_27] PartitionCols:_col0 - Select Operator [SEL_14] (rows=36524 width=1119) + Select Operator [SEL_11] (rows=36524 width=1119) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_126] (rows=36524 width=1119) + Filter Operator [FIL_124] (rows=36524 width=1119) predicate:((d_year = 2001) and d_date_sk is not null and d_week_seq is not null) - TableScan [TS_12] (rows=73049 width=1119) + TableScan [TS_9] (rows=73049 width=1119) default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_week_seq","d_year"] - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_51] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_133] (rows=41342400 width=15) - Conds:RS_48._col2=RS_49._col0(Inner),Output:["_col0","_col1","_col3","_col5"] - <-Map 10 [SIMPLE_EDGE] - SHUFFLE [RS_49] - PartitionCols:_col0 - Select Operator [SEL_8] (rows=27 width=1029) - Output:["_col0","_col1"] - Filter Operator [FIL_124] (rows=27 width=1029) - predicate:w_warehouse_sk is not null - TableScan [TS_6] (rows=27 width=1029) - default@warehouse,warehouse,Tbl:COMPLETE,Col:NONE,Output:["w_warehouse_sk","w_warehouse_name"] - <-Map 5 [SIMPLE_EDGE] - SHUFFLE [RS_48] - PartitionCols:_col2 - Select Operator [SEL_5] (rows=37584000 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_123] (rows=37584000 width=15) - predicate:(inv_item_sk is not null and inv_warehouse_sk is not null and inv_date_sk is not null) - TableScan [TS_3] (rows=37584000 width=15) - default@inventory,inventory,Tbl:COMPLETE,Col:NONE,Output:["inv_date_sk","inv_item_sk","inv_warehouse_sk","inv_quantity_on_hand"] + <-Map 9 [SIMPLE_EDGE] + SHUFFLE [RS_26] + PartitionCols:_col0 + Select Operator [SEL_8] (rows=287989836 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_123] (rows=287989836 width=135) + predicate:(cs_item_sk is not null and cs_bill_cdemo_sk is not null and cs_bill_hdemo_sk is not null and cs_sold_date_sk is not null and cs_ship_date_sk is not null) + TableScan [TS_6] (rows=287989836 width=135) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_ship_date_sk","cs_bill_cdemo_sk","cs_bill_hdemo_sk","cs_item_sk","cs_promo_sk","cs_order_number","cs_quantity"] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_52] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_132] (rows=41342400 width=15) + Conds:RS_49._col2=RS_50._col0(Inner),Output:["_col0","_col1","_col3","_col5"] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_49] + PartitionCols:_col2 + Select Operator [SEL_2] (rows=37584000 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_121] (rows=37584000 width=15) + predicate:(inv_item_sk is not null and inv_warehouse_sk is not null and inv_date_sk is not null) + TableScan [TS_0] (rows=37584000 width=15) + default@inventory,inventory,Tbl:COMPLETE,Col:NONE,Output:["inv_date_sk","inv_item_sk","inv_warehouse_sk","inv_quantity_on_hand"] + <-Map 8 [SIMPLE_EDGE] + SHUFFLE [RS_50] + PartitionCols:_col0 + Select Operator [SEL_5] (rows=27 width=1029) + Output:["_col0","_col1"] + Filter Operator [FIL_122] (rows=27 width=1029) + predicate:w_warehouse_sk is not null + TableScan [TS_3] (rows=27 width=1029) + default@warehouse,warehouse,Tbl:COMPLETE,Col:NONE,Output:["w_warehouse_sk","w_warehouse_name"] diff --git a/ql/src/test/results/clientpositive/perf/query85.q.out b/ql/src/test/results/clientpositive/perf/query85.q.out index 07e2e48a03..69115282d7 100644 --- a/ql/src/test/results/clientpositive/perf/query85.q.out +++ b/ql/src/test/results/clientpositive/perf/query85.q.out @@ -197,9 +197,9 @@ Stage-0 SHUFFLE [RS_49] PartitionCols:_col0 Group By Operator [GBY_48] (rows=2047980 width=385) - Output:["_col0","_col1","_col2","_col3"],aggregations:["avg(_col5)","avg(_col17)","avg(_col16)"],keys:_col19 + Output:["_col0","_col1","_col2","_col3"],aggregations:["avg(_col12)","avg(_col7)","avg(_col6)"],keys:_col22 Merge Join Operator [MERGEJOIN_106] (rows=2047980 width=385) - Conds:RS_44._col13, _col24, _col25=RS_45._col0, _col1, _col2(Inner),Output:["_col5","_col16","_col17","_col19"] + Conds:RS_44._col3, _col24, _col25=RS_45._col0, _col1, _col2(Inner),Output:["_col6","_col7","_col12","_col22"] <-Map 16 [SIMPLE_EDGE] SHUFFLE [RS_45] PartitionCols:_col0, _col1, _col2 @@ -211,90 +211,90 @@ Stage-0 default@customer_demographics,cd1,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_marital_status","cd_education_status"] <-Reducer 7 [SIMPLE_EDGE] SHUFFLE [RS_44] - PartitionCols:_col13, _col24, _col25 + PartitionCols:_col3, _col24, _col25 Filter Operator [FIL_43] (rows=393687 width=135) - predicate:(((_col24 = 'M') and (_col25 = '4 yr Degree') and _col6 BETWEEN 100 AND 150) or ((_col24 = 'D') and (_col25 = 'Primary') and _col6 BETWEEN 50 AND 100) or ((_col24 = 'U') and (_col25 = 'Advanced Degree') and _col6 BETWEEN 150 AND 200)) - Merge Join Operator [MERGEJOIN_105] (rows=4724247 width=135) - Conds:RS_40._col11=RS_41._col0(Inner),Output:["_col5","_col6","_col13","_col16","_col17","_col19","_col24","_col25"] + predicate:(((_col24 = 'M') and (_col25 = '4 yr Degree') and _col13 BETWEEN 100 AND 150) or ((_col24 = 'D') and (_col25 = 'Primary') and _col13 BETWEEN 50 AND 100) or ((_col24 = 'U') and (_col25 = 'Advanced Degree') and _col13 BETWEEN 150 AND 200)) + Merge Join Operator [MERGEJOIN_105] (rows=4724246 width=135) + Conds:RS_40._col1=RS_41._col0(Inner),Output:["_col3","_col6","_col7","_col12","_col13","_col22","_col24","_col25"] <-Map 16 [SIMPLE_EDGE] SHUFFLE [RS_41] PartitionCols:_col0 Please refer to the previous Select Operator [SEL_20] <-Reducer 6 [SIMPLE_EDGE] SHUFFLE [RS_40] - PartitionCols:_col11 - Filter Operator [FIL_39] (rows=4294770 width=135) - predicate:(((_col21) IN ('KY', 'GA', 'NM') and _col7 BETWEEN 100 AND 200) or ((_col21) IN ('MT', 'OR', 'IN') and _col7 BETWEEN 150 AND 300) or ((_col21) IN ('WI', 'MO', 'WV') and _col7 BETWEEN 50 AND 250)) - Merge Join Operator [MERGEJOIN_104] (rows=25768635 width=135) - Conds:RS_36._col12=RS_37._col0(Inner),Output:["_col5","_col6","_col7","_col11","_col13","_col16","_col17","_col19","_col21"] - <-Map 15 [SIMPLE_EDGE] - SHUFFLE [RS_37] - PartitionCols:_col0 - Select Operator [SEL_17] (rows=10000000 width=1014) - Output:["_col0","_col1"] - Filter Operator [FIL_97] (rows=10000000 width=1014) - predicate:((ca_state) IN ('KY', 'GA', 'NM', 'MT', 'OR', 'IN', 'WI', 'MO', 'WV') and (ca_country = 'United States') and ca_address_sk is not null) - TableScan [TS_15] (rows=40000000 width=1014) - default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state","ca_country"] - <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_36] - PartitionCols:_col12 - Merge Join Operator [MERGEJOIN_103] (rows=23426032 width=135) - Conds:RS_33._col14=RS_34._col0(Inner),Output:["_col5","_col6","_col7","_col11","_col12","_col13","_col16","_col17","_col19"] - <-Map 14 [SIMPLE_EDGE] - SHUFFLE [RS_34] - PartitionCols:_col0 - Select Operator [SEL_14] (rows=72 width=200) - Output:["_col0","_col1"] - Filter Operator [FIL_96] (rows=72 width=200) - predicate:r_reason_sk is not null - TableScan [TS_12] (rows=72 width=200) - default@reason,reason,Tbl:COMPLETE,Col:NONE,Output:["r_reason_sk","r_reason_desc"] - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_33] - PartitionCols:_col14 - Merge Join Operator [MERGEJOIN_102] (rows=21296393 width=135) - Conds:RS_30._col2, _col4=RS_31._col0, _col5(Inner),Output:["_col5","_col6","_col7","_col11","_col12","_col13","_col14","_col16","_col17"] - <-Map 13 [SIMPLE_EDGE] - SHUFFLE [RS_31] - PartitionCols:_col0, _col5 - Select Operator [SEL_11] (rows=14398467 width=92) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] - Filter Operator [FIL_95] (rows=14398467 width=92) - predicate:(wr_item_sk is not null and wr_order_number is not null and wr_refunded_cdemo_sk is not null and wr_returning_cdemo_sk is not null and wr_refunded_addr_sk is not null and wr_reason_sk is not null) - TableScan [TS_9] (rows=14398467 width=92) - default@web_returns,web_returns,Tbl:COMPLETE,Col:NONE,Output:["wr_item_sk","wr_refunded_cdemo_sk","wr_refunded_addr_sk","wr_returning_cdemo_sk","wr_reason_sk","wr_order_number","wr_fee","wr_refunded_cash"] - <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_30] - PartitionCols:_col2, _col4 + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_104] (rows=4294769 width=135) + Conds:RS_37._col4=RS_38._col0(Inner),Output:["_col1","_col3","_col6","_col7","_col12","_col13","_col22"] + <-Map 15 [SIMPLE_EDGE] + SHUFFLE [RS_38] + PartitionCols:_col0 + Select Operator [SEL_17] (rows=72 width=200) + Output:["_col0","_col1"] + Filter Operator [FIL_97] (rows=72 width=200) + predicate:r_reason_sk is not null + TableScan [TS_15] (rows=72 width=200) + default@reason,reason,Tbl:COMPLETE,Col:NONE,Output:["r_reason_sk","r_reason_desc"] + <-Reducer 5 [SIMPLE_EDGE] + SHUFFLE [RS_37] + PartitionCols:_col4 + Merge Join Operator [MERGEJOIN_103] (rows=3904336 width=135) + Conds:RS_34._col8=RS_35._col0(Inner),Output:["_col1","_col3","_col4","_col6","_col7","_col12","_col13"] + <-Map 14 [SIMPLE_EDGE] + SHUFFLE [RS_35] + PartitionCols:_col0 + Select Operator [SEL_14] (rows=36524 width=1119) + Output:["_col0"] + Filter Operator [FIL_96] (rows=36524 width=1119) + predicate:((d_year = 1998) and d_date_sk is not null) + TableScan [TS_12] (rows=73049 width=1119) + default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"] + <-Reducer 4 [SIMPLE_EDGE] + SHUFFLE [RS_34] + PartitionCols:_col8 + Merge Join Operator [MERGEJOIN_102] (rows=3549397 width=135) + Conds:RS_31._col10=RS_32._col0(Inner),Output:["_col1","_col3","_col4","_col6","_col7","_col8","_col12","_col13"] + <-Map 13 [SIMPLE_EDGE] + SHUFFLE [RS_32] + PartitionCols:_col0 + Select Operator [SEL_11] (rows=4602 width=585) + Output:["_col0"] + Filter Operator [FIL_95] (rows=4602 width=585) + predicate:wp_web_page_sk is not null + TableScan [TS_9] (rows=4602 width=585) + default@web_page,web_page,Tbl:COMPLETE,Col:NONE,Output:["wp_web_page_sk"] + <-Reducer 3 [SIMPLE_EDGE] + SHUFFLE [RS_31] + PartitionCols:_col10 + Filter Operator [FIL_30] (rows=3226725 width=135) + predicate:(((_col16) IN ('KY', 'GA', 'NM') and _col14 BETWEEN 100 AND 200) or ((_col16) IN ('MT', 'OR', 'IN') and _col14 BETWEEN 150 AND 300) or ((_col16) IN ('WI', 'MO', 'WV') and _col14 BETWEEN 50 AND 250)) Merge Join Operator [MERGEJOIN_101] (rows=19360357 width=135) - Conds:RS_27._col1=RS_28._col0(Inner),Output:["_col2","_col4","_col5","_col6","_col7"] + Conds:RS_27._col2=RS_28._col0(Inner),Output:["_col1","_col3","_col4","_col6","_col7","_col8","_col10","_col12","_col13","_col14","_col16"] <-Map 12 [SIMPLE_EDGE] SHUFFLE [RS_28] PartitionCols:_col0 - Select Operator [SEL_8] (rows=36524 width=1119) - Output:["_col0"] - Filter Operator [FIL_94] (rows=36524 width=1119) - predicate:((d_year = 1998) and d_date_sk is not null) - TableScan [TS_6] (rows=73049 width=1119) - default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"] + Select Operator [SEL_8] (rows=10000000 width=1014) + Output:["_col0","_col1"] + Filter Operator [FIL_94] (rows=10000000 width=1014) + predicate:((ca_state) IN ('KY', 'GA', 'NM', 'MT', 'OR', 'IN', 'WI', 'MO', 'WV') and (ca_country = 'United States') and ca_address_sk is not null) + TableScan [TS_6] (rows=40000000 width=1014) + default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state","ca_country"] <-Reducer 2 [SIMPLE_EDGE] SHUFFLE [RS_27] - PartitionCols:_col1 + PartitionCols:_col2 Merge Join Operator [MERGEJOIN_100] (rows=17600325 width=135) - Conds:RS_24._col0=RS_25._col2(Inner),Output:["_col1","_col2","_col4","_col5","_col6","_col7"] + Conds:RS_24._col0, _col5=RS_25._col1, _col3(Inner),Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col8","_col10","_col12","_col13","_col14"] <-Map 1 [SIMPLE_EDGE] SHUFFLE [RS_24] - PartitionCols:_col0 - Select Operator [SEL_2] (rows=4602 width=585) - Output:["_col0"] - Filter Operator [FIL_92] (rows=4602 width=585) - predicate:wp_web_page_sk is not null - TableScan [TS_0] (rows=4602 width=585) - default@web_page,web_page,Tbl:COMPLETE,Col:NONE,Output:["wp_web_page_sk"] + PartitionCols:_col0, _col5 + Select Operator [SEL_2] (rows=14398467 width=92) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_92] (rows=14398467 width=92) + predicate:(wr_item_sk is not null and wr_order_number is not null and wr_refunded_cdemo_sk is not null and wr_returning_cdemo_sk is not null and wr_refunded_addr_sk is not null and wr_reason_sk is not null) + TableScan [TS_0] (rows=14398467 width=92) + default@web_returns,web_returns,Tbl:COMPLETE,Col:NONE,Output:["wr_item_sk","wr_refunded_cdemo_sk","wr_refunded_addr_sk","wr_returning_cdemo_sk","wr_reason_sk","wr_order_number","wr_fee","wr_refunded_cash"] <-Map 11 [SIMPLE_EDGE] SHUFFLE [RS_25] - PartitionCols:_col2 + PartitionCols:_col1, _col3 Select Operator [SEL_5] (rows=16000296 width=135) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"] Filter Operator [FIL_93] (rows=16000296 width=135)