diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java index b480fe63a9..9fed1fd4a4 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java @@ -491,6 +491,10 @@ public JoinLeafPredicateInfo( this.projsJoinKeysInJoinSchema = projsJoinKeysInJoinSchemaBuilder.build(); } + public SqlKind getComparisonType() { + return comparisonType; + } + public List getJoinExprs(int input) { return this.joinKeyExprs.get(input); } @@ -537,7 +541,7 @@ private static JoinLeafPredicateInfo constructJoinLeafPredicateInfo(List()); if (otherConditions.isAlwaysTrue()) { // 2. Collect child projection indexes used diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinAddNotNullRule.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinAddNotNullRule.java index 9711625016..b396fb4d27 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinAddNotNullRule.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinAddNotNullRule.java @@ -21,7 +21,6 @@ import java.util.List; import java.util.Set; -import org.apache.calcite.plan.RelOptCluster; import org.apache.calcite.plan.RelOptRule; import org.apache.calcite.plan.RelOptRuleCall; import org.apache.calcite.rel.RelNode; @@ -32,6 +31,7 @@ import org.apache.calcite.rex.RexBuilder; import org.apache.calcite.rex.RexNode; import org.apache.calcite.rex.RexUtil; +import org.apache.calcite.sql.SqlKind; import org.apache.calcite.sql.fun.SqlStdOperatorTable; import org.apache.hadoop.hive.ql.optimizer.calcite.CalciteSemanticException; import org.apache.hadoop.hive.ql.optimizer.calcite.HiveCalciteUtil; @@ -69,18 +69,8 @@ public HiveJoinAddNotNullRule(Class clazz, @Override public void onMatch(RelOptRuleCall call) { - final Join join = call.rel(0); - RelNode lChild = join.getLeft(); - RelNode rChild = join.getRight(); - - HiveRulesRegistry registry = call.getPlanner().getContext().unwrap(HiveRulesRegistry.class); - assert registry != null; - - if (join.getJoinType() != JoinRelType.INNER) { - return; - } - - if (join.getCondition().isAlwaysTrue()) { + Join join = call.rel(0); + if (join.getJoinType() != JoinRelType.INNER || join.getCondition().isAlwaysTrue()) { return; } @@ -90,45 +80,25 @@ public void onMatch(RelOptRuleCall call) { } catch (CalciteSemanticException e) { return; } - - List leftJoinExprsList = new ArrayList<>(); - List rightJoinExprsList = new ArrayList<>(); - for (JoinLeafPredicateInfo joinLeafPredicateInfo : joinPredInfo.getEquiJoinPredicateElements()) { - leftJoinExprsList.addAll(joinLeafPredicateInfo.getJoinExprs(0)); - rightJoinExprsList.addAll(joinLeafPredicateInfo.getJoinExprs(1)); - } - // Build not null conditions - final RelOptCluster cluster = join.getCluster(); - final RexBuilder rexBuilder = join.getCluster().getRexBuilder(); + HiveRulesRegistry registry = call.getPlanner().getContext().unwrap(HiveRulesRegistry.class); + assert registry != null; Set leftPushedPredicates = Sets.newHashSet(registry.getPushedPredicates(join, 0)); - final List newLeftConditions = getNotNullConditions(cluster, - rexBuilder, leftJoinExprsList, leftPushedPredicates); Set rightPushedPredicates = Sets.newHashSet(registry.getPushedPredicates(join, 1)); - final List newRightConditions = getNotNullConditions(cluster, - rexBuilder, rightJoinExprsList, rightPushedPredicates); - // Nothing will be added to the expression - RexNode newLeftPredicate = RexUtil.composeConjunction(rexBuilder, newLeftConditions, false); - RexNode newRightPredicate = RexUtil.composeConjunction(rexBuilder, newRightConditions, false); + RexNode newLeftPredicate = getNewPredicate(join, registry, joinPredInfo, leftPushedPredicates, 0); + RexNode newRightPredicate = getNewPredicate(join, registry, joinPredInfo, rightPushedPredicates, 1); + if (newLeftPredicate.isAlwaysTrue() && newRightPredicate.isAlwaysTrue()) { return; } - if (!newLeftPredicate.isAlwaysTrue()) { - RelNode curr = lChild; - lChild = filterFactory.createFilter(lChild, newLeftPredicate); - call.getPlanner().onCopy(curr, lChild); - } - if (!newRightPredicate.isAlwaysTrue()) { - RelNode curr = rChild; - rChild = filterFactory.createFilter(rChild, newRightPredicate); - call.getPlanner().onCopy(curr, rChild); - } + RelNode lChild = getNewChild(call, join, join.getLeft(), newLeftPredicate); + RelNode rChild = getNewChild(call, join, join.getRight(), newRightPredicate); - Join newJoin = join.copy(join.getTraitSet(), join.getCondition(), - lChild, rChild, join.getJoinType(), join.isSemiJoinDone()); + Join newJoin = join.copy(join.getTraitSet(), join.getCondition(), lChild, rChild, join.getJoinType(), + join.isSemiJoinDone()); call.getPlanner().onCopy(join, newJoin); // Register information about created predicates @@ -138,10 +108,28 @@ public void onMatch(RelOptRuleCall call) { call.transformTo(newJoin); } - private static List getNotNullConditions(RelOptCluster cluster, - RexBuilder rexBuilder, List inputJoinExprs, - Set pushedPredicates) { - final List newConditions = Lists.newArrayList(); + private RexNode getNewPredicate(Join join, HiveRulesRegistry registry, JoinPredicateInfo joinPredInfo, + Set pushedPredicates, int pos) { + List joinExprsList = new ArrayList<>(); + for (JoinLeafPredicateInfo joinLeafPredicateInfo : joinPredInfo.getEquiJoinPredicateElements()) { + joinExprsList.addAll(joinLeafPredicateInfo.getJoinExprs(pos)); + } + for (JoinLeafPredicateInfo joinLeafPredicateInfo : joinPredInfo.getNonEquiJoinPredicateElements()) { + if (SqlKind.COMPARISON.contains(joinLeafPredicateInfo.getComparisonType())) { + joinExprsList.addAll(joinLeafPredicateInfo.getJoinExprs(pos)); + } + } + + RexBuilder rexBuilder = join.getCluster().getRexBuilder(); + List newConditions = getNotNullConditions(rexBuilder, joinExprsList, pushedPredicates); + RexNode newPredicate = RexUtil.composeConjunction(rexBuilder, newConditions, false); + + return newPredicate; + } + + private List getNotNullConditions(RexBuilder rexBuilder, List inputJoinExprs, + Set pushedPredicates) { + List newConditions = Lists.newArrayList(); for (RexNode rexNode : inputJoinExprs) { RexNode cond = rexBuilder.makeCall(SqlStdOperatorTable.IS_NOT_NULL, rexNode); @@ -153,4 +141,13 @@ public void onMatch(RelOptRuleCall call) { return newConditions; } + private RelNode getNewChild(RelOptRuleCall call, Join join, RelNode child, RexNode newPredicate) { + if (!newPredicate.isAlwaysTrue()) { + RelNode newChild = filterFactory.createFilter(child, newPredicate); + call.getPlanner().onCopy(child, newChild); + return newChild; + } + + return child; + } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRulesRegistry.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRulesRegistry.java index 261507a374..6506dc5abe 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRulesRegistry.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRulesRegistry.java @@ -31,7 +31,7 @@ public class HiveRulesRegistry { private SetMultimap registryVisited; - private ListMultimap> registryPushedPredicates; + private ListMultimap> registryPushedPredicates; public HiveRulesRegistry() { this.registryVisited = HashMultimap.create(); diff --git a/ql/src/test/queries/clientpositive/join_by_range_rule_not_null.q b/ql/src/test/queries/clientpositive/join_by_range_rule_not_null.q new file mode 100644 index 0000000000..59bcf14d1a --- /dev/null +++ b/ql/src/test/queries/clientpositive/join_by_range_rule_not_null.q @@ -0,0 +1,10 @@ +--! qt:dataset:src1 +--! qt:dataset:src + +EXPLAIN SELECT * FROM src a JOIN src1 b ON a.key = b.key; +EXPLAIN SELECT * FROM src a JOIN src1 b ON a.key < b.key; +EXPLAIN SELECT * FROM src a JOIN src1 b ON a.key = b.key AND a.value >= b.value; +EXPLAIN SELECT * FROM src a JOIN src1 b ON a.key > b.value; +EXPLAIN SELECT * FROM src a JOIN src1 b ON a.key > b.key OR 1 = 1; +EXPLAIN SELECT * FROM src a JOIN src1 b ON a.key IS DISTINCT FROM b.key; + diff --git a/ql/src/test/results/clientnegative/subquery_scalar_multi_rows.q.out b/ql/src/test/results/clientnegative/subquery_scalar_multi_rows.q.out index 92f1365e23..7ca260cf27 100644 --- a/ql/src/test/results/clientnegative/subquery_scalar_multi_rows.q.out +++ b/ql/src/test/results/clientnegative/subquery_scalar_multi_rows.q.out @@ -1,5 +1,5 @@ -Warning: Shuffle Join JOIN[17][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Stage-2:MAPRED' is a cross product -Warning: Shuffle Join JOIN[14][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[19][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Stage-2:MAPRED' is a cross product +Warning: Shuffle Join JOIN[16][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: select p_name from part where p_size > (select p_size from part) PREHOOK: type: QUERY PREHOOK: Input: default@part diff --git a/ql/src/test/results/clientpositive/interval_3.q.out b/ql/src/test/results/clientpositive/interval_3.q.out index a549751c3a..d55eef1874 100644 --- a/ql/src/test/results/clientpositive/interval_3.q.out +++ b/ql/src/test/results/clientpositive/interval_3.q.out @@ -108,7 +108,7 @@ POSTHOOK: query: create table date_dim_d1( POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@date_dim_d1 -Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: EXPLAIN SELECT d1.d_week_seq FROM @@ -153,26 +153,34 @@ STAGE PLANS: Map Operator Tree: TableScan alias: d1 + filterExpr: d_date is not null (type: boolean) Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: d_week_seq (type: int), ((((((CAST( d_date AS DATE) + INTERVAL'1-0') + INTERVAL'0-2') + INTERVAL'5 00:00:00.000000000') + INTERVAL'0 04:00:00.000000000') + INTERVAL'0 00:10:00.000000000') + INTERVAL'0 00:00:09.000000000') (type: timestamp), (CAST( d_date AS DATE) + INTERVAL'1-2') (type: date) - outputColumnNames: _col0, _col1, _col2 + Filter Operator + predicate: d_date is not null (type: boolean) Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Select Operator + expressions: d_week_seq (type: int), ((((((CAST( d_date AS DATE) + INTERVAL'1-0') + INTERVAL'0-2') + INTERVAL'5 00:00:00.000000000') + INTERVAL'0 04:00:00.000000000') + INTERVAL'0 00:10:00.000000000') + INTERVAL'0 00:00:09.000000000') (type: timestamp), (CAST( d_date AS DATE) + INTERVAL'1-2') (type: date) + outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: timestamp), _col2 (type: date) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: timestamp), _col2 (type: date) TableScan alias: d3 + filterExpr: d_date is not null (type: boolean) Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: CAST( CAST( d_date AS DATE) AS TIMESTAMP) (type: timestamp), CAST( d_date AS DATE) (type: date) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: d_date is not null (type: boolean) Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Select Operator + expressions: CAST( CAST( d_date AS DATE) AS TIMESTAMP) (type: timestamp), CAST( d_date AS DATE) (type: date) + outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: timestamp), _col1 (type: date) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: timestamp), _col1 (type: date) Reduce Operator Tree: Join Operator condition map: diff --git a/ql/src/test/results/clientpositive/join43.q.out b/ql/src/test/results/clientpositive/join43.q.out index 7a40f0bf0a..08e5c9125a 100644 --- a/ql/src/test/results/clientpositive/join43.q.out +++ b/ql/src/test/results/clientpositive/join43.q.out @@ -260,10 +260,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: cart_history - filterExpr: s is not null (type: boolean) + filterExpr: (s is not null and time is not null) (type: boolean) Statistics: Num rows: 6 Data size: 534 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: s is not null (type: boolean) + predicate: (s is not null and time is not null) (type: boolean) Statistics: Num rows: 6 Data size: 534 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: s (type: string), time (type: int) @@ -277,10 +277,10 @@ STAGE PLANS: value expressions: _col1 (type: int) TableScan alias: purchase_history - filterExpr: s is not null (type: boolean) + filterExpr: (s is not null and time is not null) (type: boolean) Statistics: Num rows: 4 Data size: 356 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: s is not null (type: boolean) + predicate: (s is not null and time is not null) (type: boolean) Statistics: Num rows: 4 Data size: 356 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: s (type: string), time (type: int) @@ -495,10 +495,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: cart_history - filterExpr: s is not null (type: boolean) + filterExpr: (s is not null and time is not null) (type: boolean) Statistics: Num rows: 6 Data size: 534 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: s is not null (type: boolean) + predicate: (s is not null and time is not null) (type: boolean) Statistics: Num rows: 6 Data size: 534 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: s (type: string), time (type: int) @@ -512,10 +512,10 @@ STAGE PLANS: value expressions: _col1 (type: int) TableScan alias: purchase_history - filterExpr: s is not null (type: boolean) + filterExpr: (s is not null and time is not null) (type: boolean) Statistics: Num rows: 4 Data size: 356 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: s is not null (type: boolean) + predicate: (s is not null and time is not null) (type: boolean) Statistics: Num rows: 4 Data size: 356 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: s (type: string), time (type: int) diff --git a/ql/src/test/results/clientpositive/join_by_range_rule_not_null.q.out b/ql/src/test/results/clientpositive/join_by_range_rule_not_null.q.out new file mode 100644 index 0000000000..ae762385be --- /dev/null +++ b/ql/src/test/results/clientpositive/join_by_range_rule_not_null.q.out @@ -0,0 +1,303 @@ +PREHOOK: query: explain select * from src a join src1 b on a.key = b.key +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Input: default@src1 +#### A masked pattern was here #### +POSTHOOK: query: explain select * from src a join src1 b on a.key = b.key +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Input: default@src1 +#### A masked pattern was here #### +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Map Reduce + Map Operator Tree: + TableScan + alias: a + filterExpr: key is not null (type: boolean) + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: key is not null (type: boolean) + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: key (type: string), value (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col0 (type: string) + sort order: + + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: string) + TableScan + alias: b + filterExpr: key is not null (type: boolean) + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: key is not null (type: boolean) + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: key (type: string), value (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col0 (type: string) + sort order: + + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: string) + Reduce Operator Tree: + Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 _col0 (type: string) + 1 _col0 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 39 Data size: 13767 Basic stats: COMPLETE Column stats: COMPLETE + File Output Operator + compressed: false + Statistics: Num rows: 39 Data size: 13767 Basic stats: COMPLETE Column stats: COMPLETE + 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 + Processor Tree: + ListSink + +Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +PREHOOK: query: explain select * from src a join src1 b on a.key < b.key +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Input: default@src1 +#### A masked pattern was here #### +POSTHOOK: query: explain select * from src a join src1 b on a.key < b.key +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Input: default@src1 +#### A masked pattern was here #### +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Map Reduce + Map Operator Tree: + TableScan + alias: a + filterExpr: key is not null (type: boolean) + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: key is not null (type: boolean) + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: key (type: string), value (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string), _col1 (type: string) + TableScan + alias: b + filterExpr: key is not null (type: boolean) + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: key is not null (type: boolean) + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: key (type: string), value (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string), _col1 (type: string) + Reduce Operator Tree: + Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 + 1 + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 12500 Data size: 4412500 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: (_col0 < _col2) (type: boolean) + Statistics: Num rows: 4166 Data size: 1470598 Basic stats: COMPLETE Column stats: COMPLETE + File Output Operator + compressed: false + Statistics: Num rows: 4166 Data size: 1470598 Basic stats: COMPLETE Column stats: COMPLETE + 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 + Processor Tree: + ListSink + +PREHOOK: query: explain select * from src a join src1 b on a.key = b.key and a.value >= b.value +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Input: default@src1 +#### A masked pattern was here #### +POSTHOOK: query: explain select * from src a join src1 b on a.key = b.key and a.value >= b.value +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Input: default@src1 +#### A masked pattern was here #### +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Map Reduce + Map Operator Tree: + TableScan + alias: a + filterExpr: (key is not null and value is not null) (type: boolean) + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: (key is not null and value is not null) (type: boolean) + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: key (type: string), value (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col0 (type: string) + sort order: + + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: string) + TableScan + alias: b + filterExpr: (key is not null and value is not null) (type: boolean) + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: (key is not null and value is not null) (type: boolean) + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: key (type: string), value (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col0 (type: string) + sort order: + + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: string) + Reduce Operator Tree: + Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 _col0 (type: string) + 1 _col0 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 39 Data size: 13767 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: (_col1 >= _col3) (type: boolean) + Statistics: Num rows: 13 Data size: 4589 Basic stats: COMPLETE Column stats: COMPLETE + File Output Operator + compressed: false + Statistics: Num rows: 13 Data size: 4589 Basic stats: COMPLETE Column stats: COMPLETE + 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 + Processor Tree: + ListSink + +Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +PREHOOK: query: explain select * from src a join src1 b on a.key > b.value +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Input: default@src1 +#### A masked pattern was here #### +POSTHOOK: query: explain select * from src a join src1 b on a.key > b.value +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Input: default@src1 +#### A masked pattern was here #### +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Map Reduce + Map Operator Tree: + TableScan + alias: a + filterExpr: key is not null (type: boolean) + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: key is not null (type: boolean) + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: key (type: string), value (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string), _col1 (type: string) + TableScan + alias: b + filterExpr: value is not null (type: boolean) + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: value is not null (type: boolean) + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: key (type: string), value (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string), _col1 (type: string) + Reduce Operator Tree: + Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 + 1 + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 12500 Data size: 4412500 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: (_col0 > _col3) (type: boolean) + Statistics: Num rows: 4166 Data size: 1470598 Basic stats: COMPLETE Column stats: COMPLETE + File Output Operator + compressed: false + Statistics: Num rows: 4166 Data size: 1470598 Basic stats: COMPLETE Column stats: COMPLETE + 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 + Processor Tree: + ListSink + diff --git a/ql/src/test/results/clientpositive/join_merging.q.out b/ql/src/test/results/clientpositive/join_merging.q.out index 5b9c0630e6..ba243fcdfa 100644 --- a/ql/src/test/results/clientpositive/join_merging.q.out +++ b/ql/src/test/results/clientpositive/join_merging.q.out @@ -145,10 +145,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: p2 - filterExpr: p_partkey is not null (type: boolean) + filterExpr: (p_partkey is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: p_partkey is not null (type: boolean) + predicate: (p_partkey is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_partkey (type: int), p_size (type: int), (p_size + 10) (type: int) diff --git a/ql/src/test/results/clientpositive/llap/cross_prod_1.q.out b/ql/src/test/results/clientpositive/llap/cross_prod_1.q.out index d289837d7e..e34a6b44a6 100644 --- a/ql/src/test/results/clientpositive/llap/cross_prod_1.q.out +++ b/ql/src/test/results/clientpositive/llap/cross_prod_1.q.out @@ -210,7 +210,7 @@ POSTHOOK: Input: default@x_n0 114 val_114 111 val_111 114 val_114 113 val_113 114 val_114 114 val_114 -Warning: Shuffle Join MERGEJOIN[13][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product +Warning: Shuffle Join MERGEJOIN[15][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product PREHOOK: query: explain select * from X_n0 as A join X_n0 as B on A.key 200000) and (d_moy = 2) and (d_year = 2000) and d_month_seq is not null) - TableScan [TS_16] (rows=28 width=12) + TableScan [TS_17] (rows=28 width=12) default@x1_date_dim,x1_date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_month_seq","d_year","d_moy"] - <-Select Operator [SEL_124] (rows=28 width=8) + <-Select Operator [SEL_126] (rows=28 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_123] (rows=28 width=8) + Filter Operator [FIL_125] (rows=28 width=8) predicate:(d_date_sk is not null and d_month_seq is not null) - TableScan [TS_13] (rows=28 width=8) + TableScan [TS_14] (rows=28 width=8) default@x1_date_dim,d,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"] - Dynamic Partitioning Event Operator [EVENT_129] (rows=1 width=4) - Group By Operator [GBY_128] (rows=1 width=4) + Dynamic Partitioning Event Operator [EVENT_131] (rows=1 width=4) + Group By Operator [GBY_130] (rows=1 width=4) Output:["_col0"],keys:_col0 - Select Operator [SEL_127] (rows=28 width=8) + Select Operator [SEL_129] (rows=28 width=8) Output:["_col0"] - Please refer to the previous Map Join Operator [MAPJOIN_125] - <-Map Join Operator [MAPJOIN_132] (rows=370371 width=4) - Conds:RS_30._col0=SEL_131._col0(Inner),Output:["_col6"] + Please refer to the previous Map Join Operator [MAPJOIN_127] + <-Map Join Operator [MAPJOIN_134] (rows=370371 width=4) + Conds:RS_31._col0=SEL_133._col0(Inner),Output:["_col6"] <-Map 1 [BROADCAST_EDGE] llap - BROADCAST [RS_30] + BROADCAST [RS_31] PartitionCols:_col0 - Map Join Operator [MAPJOIN_101] (rows=6 width=228) - Conds:SEL_2._col1=RS_114._col1(Inner),Output:["_col0","_col2","_col3"],residual filter predicates:{(_col2 > _col3)} + Map Join Operator [MAPJOIN_102] (rows=6 width=228) + Conds:SEL_2._col1=RS_116._col1(Inner),Output:["_col0","_col2","_col3"],residual filter predicates:{(_col2 > _col3)} <-Reducer 3 [BROADCAST_EDGE] vectorized, llap - BROADCAST [RS_114] + BROADCAST [RS_116] PartitionCols:_col1 - Select Operator [SEL_113] (rows=1 width=197) + Select Operator [SEL_115] (rows=1 width=197) Output:["_col0","_col1"] - Group By Operator [GBY_112] (rows=1 width=197) - Output:["_col0","_col1"],aggregations:["min(VALUE._col0)"],keys:KEY._col0 - <-Map 2 [SIMPLE_EDGE] vectorized, llap - SHUFFLE [RS_111] - PartitionCols:_col0 - Group By Operator [GBY_110] (rows=1 width=197) - Output:["_col0","_col1"],aggregations:["min(i_current_price)"],keys:i_category - Filter Operator [FIL_109] (rows=18 width=197) - predicate:i_category is not null - TableScan [TS_3] (rows=18 width=197) - default@x1_item,j,Tbl:COMPLETE,Col:COMPLETE,Output:["i_category","i_current_price"] + Filter Operator [FIL_114] (rows=1 width=197) + predicate:_col1 is not null + Group By Operator [GBY_113] (rows=1 width=197) + Output:["_col0","_col1"],aggregations:["min(VALUE._col0)"],keys:KEY._col0 + <-Map 2 [SIMPLE_EDGE] vectorized, llap + SHUFFLE [RS_112] + PartitionCols:_col0 + Group By Operator [GBY_111] (rows=1 width=197) + Output:["_col0","_col1"],aggregations:["min(i_current_price)"],keys:i_category + Filter Operator [FIL_110] (rows=18 width=197) + predicate:i_category is not null + TableScan [TS_3] (rows=18 width=197) + default@x1_item,j,Tbl:COMPLETE,Col:COMPLETE,Output:["i_category","i_current_price"] <-Select Operator [SEL_2] (rows=18 width=201) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_57] (rows=18 width=201) - predicate:(i_category is not null and i_item_sk is not null) + Filter Operator [FIL_58] (rows=18 width=201) + predicate:(i_category is not null and i_current_price is not null and i_item_sk is not null) TableScan [TS_0] (rows=18 width=201) default@x1_item,i,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_category","i_current_price"] - <-Select Operator [SEL_131] (rows=123457 width=8) + <-Select Operator [SEL_133] (rows=123457 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_130] (rows=123457 width=8) + Filter Operator [FIL_132] (rows=123457 width=8) predicate:ss_item_sk is not null - TableScan [TS_10] (rows=123457 width=8) + TableScan [TS_11] (rows=123457 width=8) default@x1_store_sales,s,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk"] PREHOOK: query: select count(*) cnt diff --git a/ql/src/test/results/clientpositive/llap/semijoin.q.out b/ql/src/test/results/clientpositive/llap/semijoin.q.out index 985eeb7588..ca7a33d445 100644 --- a/ql/src/test/results/clientpositive/llap/semijoin.q.out +++ b/ql/src/test/results/clientpositive/llap/semijoin.q.out @@ -3148,7 +3148,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: outr - filterExpr: ((key is not null and value is not null) or key is not null) (type: boolean) + filterExpr: (key is not null and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (key is not null and value is not null) (type: boolean) @@ -3162,13 +3162,6 @@ STAGE PLANS: sort order: ++ Map-reduce partition columns: _col0 (type: string), _col1 (type: string) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE - Filter Operator - predicate: key is not null (type: boolean) - Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: key (type: string), value (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator sort order: Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE diff --git a/ql/src/test/results/clientpositive/llap/subquery_corr.q.out b/ql/src/test/results/clientpositive/llap/subquery_corr.q.out index f6d692ad0c..6c140ab171 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_corr.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_corr.q.out @@ -22,10 +22,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: b - filterExpr: key is not null (type: boolean) + filterExpr: (key is not null and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: key is not null (type: boolean) + predicate: (key is not null and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -128,10 +128,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: b - filterExpr: key is not null (type: boolean) + filterExpr: (key is not null and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: key is not null (type: boolean) + predicate: (key is not null and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -734,10 +734,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: b - filterExpr: key is not null (type: boolean) + filterExpr: (key is not null and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: key is not null (type: boolean) + predicate: (key is not null and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) diff --git a/ql/src/test/results/clientpositive/llap/subquery_in.q.out b/ql/src/test/results/clientpositive/llap/subquery_in.q.out index afcbddcef2..d2b9525605 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_in.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_in.q.out @@ -957,10 +957,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: b - filterExpr: (key is not null or (value is not null and key is not null)) (type: boolean) + filterExpr: (key is not null and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: key is not null (type: boolean) + predicate: (key is not null and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -972,9 +972,6 @@ STAGE PLANS: Map-reduce partition columns: _col0 (type: string) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: string) - Filter Operator - predicate: (key is not null and value is not null) (type: boolean) - Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator keys: key (type: string), value (type: string) minReductionHashAggr: 0.0 @@ -4758,7 +4755,7 @@ POSTHOOK: Input: default@part 85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull 86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully 90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl -Warning: Shuffle Join MERGEJOIN[52][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[53][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product PREHOOK: query: explain select * from part where p_size in (select min(pp.p_size) from part pp where pp.p_partkey > part.p_partkey) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -4807,15 +4804,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: pp + filterExpr: p_partkey is not null (type: boolean) Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: p_partkey (type: int), p_size (type: int) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: p_partkey is not null (type: boolean) Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Select Operator + expressions: p_partkey (type: int), p_size (type: int) + outputColumnNames: _col0, _col1 Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: int), _col1 (type: int) Execution mode: vectorized, llap LLAP IO: no inputs Map 6 @@ -4929,7 +4930,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[52][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[53][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product PREHOOK: query: select * from part where p_size in (select min(pp.p_size) from part pp where pp.p_partkey > part.p_partkey) PREHOOK: type: QUERY PREHOOK: Input: default@part diff --git a/ql/src/test/results/clientpositive/llap/subquery_notin.q.out b/ql/src/test/results/clientpositive/llap/subquery_notin.q.out index 37d9253f4e..7557ea2fc0 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_notin.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_notin.q.out @@ -7303,7 +7303,7 @@ PREHOOK: query: drop table t1_n0 PREHOOK: type: DROPTABLE POSTHOOK: query: drop table t1_n0 POSTHOOK: type: DROPTABLE -Warning: Shuffle Join MERGEJOIN[53][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[54][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product PREHOOK: query: explain select * from src b where b.key not in @@ -7357,7 +7357,7 @@ STAGE PLANS: Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: string) Filter Operator - predicate: (key > '9') (type: boolean) + predicate: ((key > '9') and value is not null) (type: boolean) Statistics: Num rows: 166 Data size: 29548 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -7387,18 +7387,22 @@ STAGE PLANS: Map Operator Tree: TableScan alias: b + filterExpr: value is not null (type: boolean) Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE - Group By Operator - keys: value (type: string) - minReductionHashAggr: 0.0 - mode: hash - outputColumnNames: _col0 - Statistics: Num rows: 250 Data size: 22750 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Map-reduce partition columns: _col0 (type: string) + Filter Operator + predicate: value is not null (type: boolean) + Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE + Group By Operator + keys: value (type: string) + minReductionHashAggr: 0.0 + mode: hash + outputColumnNames: _col0 Statistics: Num rows: 250 Data size: 22750 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col0 (type: string) + sort order: + + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 250 Data size: 22750 Basic stats: COMPLETE Column stats: COMPLETE Execution mode: vectorized, llap LLAP IO: no inputs Reducer 2 @@ -7525,7 +7529,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[53][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[54][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product PREHOOK: query: select * from src b where b.key not in diff --git a/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out b/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out index 1016a64525..1e79b47d1b 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out @@ -79,7 +79,7 @@ POSTHOOK: Lineage: part_null_n0.p_partkey SCRIPT [] POSTHOOK: Lineage: part_null_n0.p_retailprice SCRIPT [] POSTHOOK: Lineage: part_null_n0.p_size SCRIPT [] POSTHOOK: Lineage: part_null_n0.p_type SCRIPT [] -Warning: Shuffle Join MERGEJOIN[17][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product +Warning: Shuffle Join MERGEJOIN[20][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product PREHOOK: query: explain select * from part where p_size > (select avg(p_size) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -107,15 +107,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part + filterExpr: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE - 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), UDFToDouble(p_size) (type: double) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 - Statistics: Num rows: 26 Data size: 16302 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: p_size is not null (type: boolean) + Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE + 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), UDFToDouble(p_size) (type: double) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 Statistics: Num rows: 26 Data size: 16302 Basic stats: COMPLETE Column stats: COMPLETE - 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: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 16302 Basic stats: COMPLETE Column stats: COMPLETE + 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: double) Execution mode: vectorized, llap LLAP IO: no inputs Map 3 @@ -170,14 +174,17 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: (UDFToDouble(_col0) / _col1) (type: double) - outputColumnNames: _col0 + Filter Operator + predicate: (_col0 is not null and _col1 is not null) (type: boolean) Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Select Operator + expressions: (UDFToDouble(_col0) / _col1) (type: double) + outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: double) Stage: Stage-0 Fetch Operator @@ -185,7 +192,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[17][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product +Warning: Shuffle Join MERGEJOIN[20][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product PREHOOK: query: select * from part where p_size > (select avg(p_size) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -207,8 +214,8 @@ POSTHOOK: Input: default@part_null_n0 78486 almond azure blanched chiffon midnight Manufacturer#5 Brand#52 LARGE BRUSHED BRASS 23 MED BAG 1464.48 hely blith 85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull 86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully -Warning: Shuffle Join MERGEJOIN[20][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product -Warning: Shuffle Join MERGEJOIN[21][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[24][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 4' is a cross product PREHOOK: query: select * from part where p_size > (select * from tempty_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -219,8 +226,8 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@tempty_n0 #### A masked pattern was here #### -Warning: Shuffle Join MERGEJOIN[20][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product -Warning: Shuffle Join MERGEJOIN[21][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[24][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 4' is a cross product PREHOOK: query: explain select * from part where p_size > (select * from tempty_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -268,30 +275,38 @@ STAGE PLANS: Map Operator Tree: TableScan alias: tempty_n0 + filterExpr: c is not null (type: boolean) Statistics: Num rows: 1 Data size: 86 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: c (type: char(2)) - outputColumnNames: _col0 + Filter Operator + predicate: c is not null (type: boolean) Statistics: Num rows: 1 Data size: 86 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Select Operator + expressions: c (type: char(2)) + outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 86 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: char(2)) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 86 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: char(2)) Execution mode: vectorized, llap LLAP IO: no inputs Map 6 Map Operator Tree: TableScan alias: part + filterExpr: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE - 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 + Filter Operator + predicate: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + 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: 16094 Basic stats: COMPLETE Column stats: COMPLETE - 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) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE + 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) Execution mode: vectorized, llap LLAP IO: no inputs Reducer 2 @@ -847,8 +862,8 @@ POSTHOOK: Input: default@part_null_n0 85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull 86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully 90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl -Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product -Warning: Shuffle Join MERGEJOIN[31][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[35][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product +Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain select * from part where p_size between (select min(p_size) from part) and (select avg(p_size) from part) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -876,15 +891,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part + filterExpr: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE - 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), UDFToDouble(p_size) (type: double) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 - Statistics: Num rows: 26 Data size: 16302 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: p_size is not null (type: boolean) + Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE + 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), UDFToDouble(p_size) (type: double) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 Statistics: Num rows: 26 Data size: 16302 Basic stats: COMPLETE Column stats: COMPLETE - 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: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 16302 Basic stats: COMPLETE Column stats: COMPLETE + 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: double) Execution mode: vectorized, llap LLAP IO: no inputs Map 4 @@ -965,14 +984,17 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: UDFToDouble(_col0) (type: double) - outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: UDFToDouble(_col0) (type: double) + outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: double) Reducer 6 Execution mode: vectorized, llap Reduce Operator Tree: @@ -981,14 +1003,17 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: (UDFToDouble(_col0) / _col1) (type: double) - outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: (_col0 is not null and _col1 is not null) (type: boolean) + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: (UDFToDouble(_col0) / _col1) (type: double) + outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: double) Stage: Stage-0 Fetch Operator @@ -996,8 +1021,8 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product -Warning: Shuffle Join MERGEJOIN[31][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[35][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product +Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: select * from part where p_size between (select min(p_size) from part) and (select avg(p_size) from part) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -1021,8 +1046,8 @@ POSTHOOK: Input: default@part 42669 almond antique medium spring khaki Manufacturer#5 Brand#51 STANDARD BURNISHED TIN 6 MED CAN 1611.66 sits haggl 49671 almond antique gainsboro frosted violet Manufacturer#4 Brand#41 SMALL BRUSHED BRASS 10 SM BOX 1620.67 ccounts run quick 90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl -Warning: Shuffle Join MERGEJOIN[43][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 5' is a cross product -Warning: Shuffle Join MERGEJOIN[44][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[46][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 5' is a cross product +Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 6' is a cross product PREHOOK: query: explain select p_mfgr, p_name, p_size from part where part.p_size > (select first_value(p_size) over(partition by p_mfgr order by p_size) as fv from part order by fv limit 1) @@ -1068,15 +1093,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part + filterExpr: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 5798 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: p_name (type: string), p_mfgr (type: string), p_size (type: int) - outputColumnNames: _col0, _col1, _col2 + Filter Operator + predicate: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 5798 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Select Operator + expressions: p_name (type: string), p_mfgr (type: string), p_size (type: int) + outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 26 Data size: 5798 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 5798 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int) Execution mode: vectorized, llap LLAP IO: no inputs Reducer 2 @@ -1226,10 +1255,13 @@ STAGE PLANS: Limit Number of rows: 1 Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: int) Stage: Stage-0 Fetch Operator @@ -1237,8 +1269,8 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[43][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 5' is a cross product -Warning: Shuffle Join MERGEJOIN[44][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[46][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 5' is a cross product +Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 6' is a cross product PREHOOK: query: select p_mfgr, p_name, p_size from part where part.p_size > (select first_value(p_size) over(partition by p_mfgr order by p_size) as fv from part order by fv limit 1) @@ -1437,10 +1469,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: e - filterExpr: p_name is not null (type: boolean) + filterExpr: (p_name is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3250 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: p_name is not null (type: boolean) + predicate: (p_name is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3250 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_name (type: string), (p_size + 100) (type: int) @@ -1526,16 +1558,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 13 Data size: 1625 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: _col1 (type: int), _col0 (type: string) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 13 Data size: 1625 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Select Operator + expressions: _col1 (type: int), _col0 (type: string) + outputColumnNames: _col0, _col1 Statistics: Num rows: 13 Data size: 1625 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: int) + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 13 Data size: 1625 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: int) Stage: Stage-0 Fetch Operator @@ -1717,10 +1752,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part - filterExpr: p_type is not null (type: boolean) + filterExpr: (p_type is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: p_type is not null (type: boolean) + predicate: (p_size is not null and p_type is not null) (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE 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), UDFToDouble(p_size) (type: double) @@ -1790,16 +1825,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: (UDFToDouble(_col1) / _col2) (type: double), _col0 (type: string) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Select Operator + expressions: (UDFToDouble(_col1) / _col2) (type: double), _col0 (type: string) + outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: double) + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: double) Stage: Stage-0 Fetch Operator @@ -1818,7 +1856,7 @@ POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 #### A masked pattern was here #### 192697 almond antique blue firebrick mint Manufacturer#5 Brand#52 MEDIUM BURNISHED TIN 31 LG DRUM 1789.69 ickly ir -Warning: Shuffle Join MERGEJOIN[44][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain select * from part where p_size BETWEEN (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND (select max(p_size) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -1848,10 +1886,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part - filterExpr: p_type is not null (type: boolean) + filterExpr: (p_type is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: p_type is not null (type: boolean) + predicate: (p_size is not null and p_type is not null) (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE 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) @@ -1958,16 +1996,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: int), _col0 (type: string) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Select Operator + expressions: _col1 (type: int), _col0 (type: string) + outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int) + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int) Reducer 7 Execution mode: vectorized, llap Reduce Operator Tree: @@ -1976,10 +2017,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int) Stage: Stage-0 Fetch Operator @@ -1987,7 +2031,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[44][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: select * from part where p_size BETWEEN (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND (select max(p_size) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -2024,7 +2068,7 @@ POSTHOOK: Input: default@part_null_n0 85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull 86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully 90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl -Warning: Shuffle Join MERGEJOIN[44][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain select * from part where p_size >= (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND p_retailprice <= (select max(p_retailprice) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -2054,10 +2098,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part - filterExpr: p_type is not null (type: boolean) + filterExpr: (p_type is not null and p_size is not null and p_retailprice is not null) (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: p_type is not null (type: boolean) + predicate: (p_retailprice is not null and p_size is not null and p_type is not null) (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE 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) @@ -2164,16 +2208,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: int), _col0 (type: string) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Select Operator + expressions: _col1 (type: int), _col0 (type: string) + outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int) + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int) Reducer 7 Execution mode: vectorized, llap Reduce Operator Tree: @@ -2182,10 +2229,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: double) Stage: Stage-0 Fetch Operator @@ -2193,7 +2243,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[44][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: select * from part where p_size >= (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND p_retailprice <= (select max(p_retailprice) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -2550,8 +2600,9 @@ POSTHOOK: Input: default@part 85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull 86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully 90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl -Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product -Warning: Shuffle Join MERGEJOIN[37][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[59][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[58][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 8' is a cross product +Warning: Shuffle Join MERGEJOIN[60][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 5' is a cross product PREHOOK: query: explain select key, count(*) from src where value <> (select max(value) from src) group by key having count(*) > (select count(*) from src s1 where s1.key = '90' group by s1.key ) PREHOOK: type: QUERY PREHOOK: Input: default@src @@ -2569,29 +2620,54 @@ STAGE PLANS: Tez #### A masked pattern was here #### Edges: - Reducer 2 <- Map 1 (XPROD_EDGE), Reducer 6 (XPROD_EDGE) - Reducer 3 <- Reducer 2 (SIMPLE_EDGE) - Reducer 4 <- Reducer 3 (XPROD_EDGE), Reducer 8 (XPROD_EDGE) - Reducer 6 <- Map 5 (CUSTOM_SIMPLE_EDGE) - Reducer 8 <- Map 7 (SIMPLE_EDGE) + Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE) + Reducer 2 <- Map 1 (SIMPLE_EDGE) + Reducer 3 <- Reducer 2 (CUSTOM_SIMPLE_EDGE) + Reducer 4 <- Reducer 3 (XPROD_EDGE), Reducer 6 (XPROD_EDGE) + Reducer 5 <- Reducer 4 (XPROD_EDGE), Reducer 9 (XPROD_EDGE) + Reducer 6 <- Map 1 (SIMPLE_EDGE) + Reducer 8 <- Map 7 (XPROD_EDGE), Reducer 11 (XPROD_EDGE) + Reducer 9 <- Reducer 8 (SIMPLE_EDGE) #### A masked pattern was here #### Vertices: Map 1 Map Operator Tree: TableScan - alias: src - Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: key (type: string), value (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: - Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: string), _col1 (type: string) + alias: s1 + filterExpr: (key = '90') (type: boolean) + Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: (key = '90') (type: boolean) + Statistics: Num rows: 2 Data size: 174 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + Statistics: Num rows: 2 Data size: 174 Basic stats: COMPLETE Column stats: COMPLETE + Group By Operator + keys: true (type: boolean) + minReductionHashAggr: 0.0 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col0 (type: boolean) + sort order: + + Map-reduce partition columns: _col0 (type: boolean) + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE + Group By Operator + aggregations: count() + keys: true (type: boolean) + minReductionHashAggr: 0.0 + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col0 (type: boolean) + sort order: + + Map-reduce partition columns: _col0 (type: boolean) + Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: bigint) Execution mode: vectorized, llap LLAP IO: no inputs - Map 5 + Map 10 Map Operator Tree: TableScan alias: src @@ -2615,72 +2691,82 @@ STAGE PLANS: Map 7 Map Operator Tree: TableScan - alias: s1 - filterExpr: (key = '90') (type: boolean) - Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE - Filter Operator - predicate: (key = '90') (type: boolean) - Statistics: Num rows: 2 Data size: 174 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - Statistics: Num rows: 2 Data size: 174 Basic stats: COMPLETE Column stats: COMPLETE - Group By Operator - aggregations: count() - keys: true (type: boolean) - minReductionHashAggr: 0.0 - mode: hash - outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - key expressions: _col0 (type: boolean) - sort order: + - Map-reduce partition columns: _col0 (type: boolean) - Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col1 (type: bigint) + alias: src + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: key (type: string), value (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string), _col1 (type: string) Execution mode: vectorized, llap LLAP IO: no inputs + Reducer 11 + Execution mode: vectorized, llap + Reduce Operator Tree: + Group By Operator + aggregations: max(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string) Reducer 2 - Execution mode: llap + Execution mode: vectorized, llap Reduce Operator Tree: - Merge Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 - 1 - outputColumnNames: _col0, _col1, _col2 - residual filter predicates: {(_col1 <> _col2)} - Statistics: Num rows: 500 Data size: 181000 Basic stats: COMPLETE Column stats: COMPLETE + Group By Operator + keys: KEY._col0 (type: boolean) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col0 (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 500 Data size: 181000 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() - keys: _col0 (type: string) minReductionHashAggr: 0.0 mode: hash - outputColumnNames: _col0, _col1 - Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col1 (type: bigint) + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: bigint) Reducer 3 Execution mode: vectorized, llap Reduce Operator Tree: Group By Operator aggregations: count(VALUE._col0) - keys: KEY._col0 (type: string) mode: mergepartial - outputColumnNames: _col0, _col1 - Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: (sq_count_check(_col0) <= 1) (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reducer 4 + Execution mode: llap + Reduce Operator Tree: + Merge Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 + 1 + outputColumnNames: _col1 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator sort order: - Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: string), _col1 (type: bigint) - Reducer 4 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: bigint) + Reducer 5 Execution mode: llap Reduce Operator Tree: Merge Join Operator @@ -2689,11 +2775,11 @@ STAGE PLANS: keys: 0 1 - outputColumnNames: _col0, _col1, _col2 - residual filter predicates: {(_col1 > _col2)} + outputColumnNames: _col1, _col2, _col3 + residual filter predicates: {(_col3 > _col1)} Statistics: Num rows: 83 Data size: 8549 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col0 (type: string), _col1 (type: bigint) + expressions: _col2 (type: string), _col3 (type: bigint) outputColumnNames: _col0, _col1 Statistics: Num rows: 83 Data size: 7885 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -2704,18 +2790,6 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Reducer 6 - Execution mode: vectorized, llap - Reduce Operator Tree: - Group By Operator - aggregations: max(VALUE._col0) - mode: mergepartial - outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: string) - Reducer 8 Execution mode: vectorized, llap Reduce Operator Tree: Group By Operator @@ -2726,12 +2800,64 @@ STAGE PLANS: Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col1 (type: bigint) - outputColumnNames: _col0 + outputColumnNames: _col1 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: _col1 is not null (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: _col1 (type: bigint) + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: bigint) + Reducer 8 + Execution mode: llap + Reduce Operator Tree: + Merge Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 + 1 + outputColumnNames: _col0, _col1, _col2 + residual filter predicates: {(_col1 <> _col2)} + Statistics: Num rows: 500 Data size: 181000 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: _col0 (type: string) + outputColumnNames: _col0 + Statistics: Num rows: 500 Data size: 181000 Basic stats: COMPLETE Column stats: COMPLETE + Group By Operator + aggregations: count() + keys: _col0 (type: string) + minReductionHashAggr: 0.0 + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col0 (type: string) + sort order: + + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: bigint) + Reducer 9 + Execution mode: vectorized, llap + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + keys: KEY._col0 (type: string) + mode: mergepartial + outputColumnNames: _col0, _col1 + Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: _col1 is not null (type: boolean) + Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: bigint) + Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string), _col1 (type: bigint) Stage: Stage-0 Fetch Operator @@ -2739,8 +2865,9 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product -Warning: Shuffle Join MERGEJOIN[37][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[59][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[58][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 8' is a cross product +Warning: Shuffle Join MERGEJOIN[60][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 5' is a cross product PREHOOK: query: select key, count(*) from src where value <> (select max(value) from src) group by key having count(*) > (select count(*) from src s1 where s1.key = '90' group by s1.key ) PREHOOK: type: QUERY PREHOOK: Input: default@src @@ -2759,7 +2886,7 @@ POSTHOOK: Input: default@src 468 4 469 5 489 4 -Warning: Shuffle Join MERGEJOIN[22][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain select sum(p_retailprice) from part group by p_type having sum(p_retailprice) > (select max(pp.p_retailprice) from part pp) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -2840,10 +2967,13 @@ STAGE PLANS: expressions: _col1 (type: double) outputColumnNames: _col1 Statistics: Num rows: 13 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 13 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col1 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 13 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: double) Reducer 3 Execution mode: llap Reduce Operator Tree: @@ -2875,10 +3005,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: double) Stage: Stage-0 Fetch Operator @@ -2886,7 +3019,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[22][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product PREHOOK: query: select sum(p_retailprice) from part group by p_type having sum(p_retailprice) > (select max(pp.p_retailprice) from part pp) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -2897,8 +3030,8 @@ POSTHOOK: Input: default@part #### A masked pattern was here #### 2346.3 3461.37 -Warning: Shuffle Join MERGEJOIN[78][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 6' is a cross product -Warning: Shuffle Join MERGEJOIN[79][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 7' is a cross product +Warning: Shuffle Join MERGEJOIN[84][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[85][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 7' is a cross product PREHOOK: query: explain select * from part where p_size > (select count(p_name) from part INTERSECT select count(p_brand) from part) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -2975,15 +3108,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part + filterExpr: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE - 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 + Filter Operator + predicate: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + 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: 16094 Basic stats: COMPLETE Column stats: COMPLETE - 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) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE + 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) Execution mode: vectorized, llap LLAP IO: no inputs Reducer 10 @@ -3038,6 +3175,22 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: _col0 is not null (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Group By Operator + aggregations: count() + keys: _col0 (type: bigint) + minReductionHashAggr: 0.0 + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col0 (type: bigint) + sort order: + + Map-reduce partition columns: _col0 (type: bigint) + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: bigint) Group By Operator aggregations: count() keys: _col0 (type: bigint) @@ -3051,12 +3204,6 @@ STAGE PLANS: Map-reduce partition columns: _col0 (type: bigint) Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: bigint) - Reduce Output Operator - key expressions: _col0 (type: bigint) - sort order: + - Map-reduce partition columns: _col0 (type: bigint) - Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col1 (type: bigint) Reducer 14 Execution mode: vectorized, llap Reduce Operator Tree: @@ -3109,6 +3256,22 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: _col0 is not null (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Group By Operator + aggregations: count() + keys: _col0 (type: bigint) + minReductionHashAggr: 0.0 + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col0 (type: bigint) + sort order: + + Map-reduce partition columns: _col0 (type: bigint) + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: bigint) Group By Operator aggregations: count() keys: _col0 (type: bigint) @@ -3122,12 +3285,6 @@ STAGE PLANS: Map-reduce partition columns: _col0 (type: bigint) Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: bigint) - Reduce Output Operator - key expressions: _col0 (type: bigint) - sort order: + - Map-reduce partition columns: _col0 (type: bigint) - Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col1 (type: bigint) Reducer 3 Execution mode: vectorized, llap Reduce Operator Tree: @@ -3241,8 +3398,8 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[78][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 6' is a cross product -Warning: Shuffle Join MERGEJOIN[79][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 7' is a cross product +Warning: Shuffle Join MERGEJOIN[84][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[85][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 7' is a cross product PREHOOK: query: select * from part where p_size > (select count(p_name) from part INTERSECT select count(p_brand) from part) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -4391,10 +4548,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: lineitem - filterExpr: l_partkey is not null (type: boolean) + filterExpr: (l_partkey is not null and l_quantity is not null) (type: boolean) Statistics: Num rows: 100 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: l_partkey is not null (type: boolean) + predicate: (l_partkey is not null and l_quantity is not null) (type: boolean) Statistics: Num rows: 100 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: l_partkey (type: int), l_quantity (type: double), l_extendedprice (type: double) @@ -4519,16 +4676,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 50 Data size: 1000 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: _col0 (type: int), (_col1 / _col2) (type: double) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 50 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) + Statistics: Num rows: 50 Data size: 1000 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: _col0 (type: int), (_col1 / _col2) (type: double) + outputColumnNames: _col0, _col1 Statistics: Num rows: 50 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col1 (type: double) + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 50 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: double) Stage: Stage-0 Fetch Operator @@ -5036,10 +5196,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: emps_n4 - filterExpr: deptno is not null (type: boolean) + filterExpr: (deptno is not null and name is not null) (type: boolean) Statistics: Num rows: 5 Data size: 1650 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: deptno is not null (type: boolean) + predicate: (deptno is not null and name is not null) (type: boolean) Statistics: Num rows: 5 Data size: 1650 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: empno (type: int), name (type: string), deptno (type: int), gender (type: string), city (type: string), empid (type: int), age (type: int), slacker (type: boolean), manager (type: boolean), joinedat (type: date) @@ -5109,16 +5269,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: _col1 (type: string), _col0 (type: int) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - key expressions: _col1 (type: int) - sort order: + - Map-reduce partition columns: _col1 (type: int) + Select Operator + expressions: _col1 (type: string), _col0 (type: int) + outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: string) + Reduce Output Operator + key expressions: _col1 (type: int) + sort order: + + Map-reduce partition columns: _col1 (type: int) + Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string) Stage: Stage-0 Fetch Operator @@ -5328,7 +5491,7 @@ POSTHOOK: Input: default@emps_n4 110 John 40 M Vancouver 2 NULL false true 2002-05-03 120 Wilma 20 F NULL 1 5 NULL true 2005-09-07 130 Alice 40 F Vancouver 2 NULL false true 2007-01-01 -Warning: Shuffle Join MERGEJOIN[39][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain select * from emps_n4 where deptno <> (select sum(deptno) from depts_n3 where depts_n3.name = emps_n4.name) and empno > (select count(name) from depts_n3) PREHOOK: type: QUERY PREHOOK: Input: default@depts_n3 @@ -5358,10 +5521,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: emps_n4 - filterExpr: name is not null (type: boolean) + filterExpr: (name is not null and empno is not null) (type: boolean) Statistics: Num rows: 5 Data size: 1650 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: name is not null (type: boolean) + predicate: (empno is not null and name is not null) (type: boolean) Statistics: Num rows: 5 Data size: 1650 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: empno (type: int), name (type: string), deptno (type: int), gender (type: string), city (type: string), empid (type: int), age (type: int), slacker (type: boolean), manager (type: boolean), joinedat (type: date), UDFToLong(deptno) (type: bigint) @@ -5486,10 +5649,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: bigint) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: bigint) Stage: Stage-0 Fetch Operator @@ -5497,7 +5663,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[38][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product PREHOOK: query: select * from emps_n4 where deptno <> (select count(deptno) from depts_n3 where depts_n3.name = emps_n4.name) and empno > (select count(name) from depts_n3) PREHOOK: type: QUERY PREHOOK: Input: default@depts_n3 @@ -5529,7 +5695,7 @@ POSTHOOK: query: drop table EMPS_n4 POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@emps_n4 POSTHOOK: Output: default@emps_n4 -Warning: Shuffle Join MERGEJOIN[23][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain select key, count(*) from src @@ -5608,10 +5774,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: string), _col1 (type: bigint) + Reduce Output Operator + sort order: + Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string), _col1 (type: bigint) Reducer 3 Execution mode: llap Reduce Operator Tree: @@ -5643,10 +5812,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: bigint) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: bigint) Stage: Stage-0 Fetch Operator @@ -5654,7 +5826,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[23][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product PREHOOK: query: select key, count(*) from src group by key @@ -5679,7 +5851,7 @@ POSTHOOK: Input: default@src 468 4 469 5 489 4 -Warning: Shuffle Join MERGEJOIN[51][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 5' is a cross product +Warning: Shuffle Join MERGEJOIN[54][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 5' is a cross product PREHOOK: query: explain select key, value, count(*) from src b @@ -5818,10 +5990,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 41 Data size: 7626 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col2 is not null (type: boolean) Statistics: Num rows: 41 Data size: 7626 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) + Reduce Output Operator + sort order: + Statistics: Num rows: 41 Data size: 7626 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) Reducer 5 Execution mode: llap Reduce Operator Tree: @@ -5853,10 +6028,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: bigint) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: bigint) Stage: Stage-0 Fetch Operator @@ -5864,7 +6042,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[51][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 5' is a cross product +Warning: Shuffle Join MERGEJOIN[54][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 5' is a cross product PREHOOK: query: select key, value, count(*) from src b where b.key in (select key from src where src.key > '8') @@ -5881,8 +6059,8 @@ having count(*) > (select count(*) from src s1 where s1.key > '9' ) POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### -Warning: Shuffle Join MERGEJOIN[35][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product -Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[38][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[39][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 4' is a cross product PREHOOK: query: explain select * from part where p_size > (select max(p_size) from part group by p_type) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -5957,15 +6135,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part + filterExpr: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE - 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 + Filter Operator + predicate: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + 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: 16094 Basic stats: COMPLETE Column stats: COMPLETE - 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) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE + 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) Execution mode: vectorized, llap LLAP IO: no inputs Reducer 2 @@ -5979,12 +6161,19 @@ STAGE PLANS: Statistics: Num rows: 13 Data size: 1404 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col1 (type: int) - outputColumnNames: _col0 + outputColumnNames: _col1 Statistics: Num rows: 13 Data size: 52 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 13 Data size: 52 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: int) + Select Operator + expressions: _col1 (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 13 Data size: 52 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 13 Data size: 52 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: int) Reducer 3 Execution mode: llap Reduce Operator Tree: @@ -6093,10 +6282,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part - filterExpr: p_type is not null (type: boolean) + filterExpr: (p_type is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: p_type is not null (type: boolean) + predicate: (p_size is not null and p_type is not null) (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE 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) @@ -6232,15 +6421,22 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 13 Data size: 1404 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col1 (type: int), _col0 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 13 Data size: 1404 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 13 Data size: 1404 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: int) + expressions: _col0 (type: string), _col1 (type: int) + outputColumnNames: _col1, _col2 + Statistics: Num rows: 13 Data size: 2756 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: _col2 is not null (type: boolean) + Statistics: Num rows: 13 Data size: 2756 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: _col2 (type: int), _col1 (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 13 Data size: 1404 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 13 Data size: 1404 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: int) Stage: Stage-0 Fetch Operator @@ -7091,7 +7287,8 @@ POSTHOOK: query: drop table tempty_n0 POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@tempty_n0 POSTHOOK: Output: default@tempty_n0 -Warning: Shuffle Join MERGEJOIN[23][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[43][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[44][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 5' is a cross product PREHOOK: query: explain select key, count(*) from src group by key having count(*) > (select count(*) from src s1 group by 4) PREHOOK: type: QUERY @@ -7112,70 +7309,122 @@ STAGE PLANS: #### A masked pattern was here #### Edges: Reducer 2 <- Map 1 (SIMPLE_EDGE) - Reducer 3 <- Reducer 2 (XPROD_EDGE), Reducer 5 (XPROD_EDGE) - Reducer 5 <- Map 4 (SIMPLE_EDGE) + Reducer 3 <- Reducer 2 (CUSTOM_SIMPLE_EDGE) + Reducer 4 <- Reducer 3 (XPROD_EDGE), Reducer 6 (XPROD_EDGE) + Reducer 5 <- Reducer 4 (XPROD_EDGE), Reducer 8 (XPROD_EDGE) + Reducer 6 <- Map 1 (SIMPLE_EDGE) + Reducer 8 <- Map 7 (SIMPLE_EDGE) #### A masked pattern was here #### Vertices: Map 1 Map Operator Tree: TableScan - alias: src - Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE + alias: s1 + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: key (type: string) - outputColumnNames: key - Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE + Group By Operator + keys: true (type: boolean) + minReductionHashAggr: 0.0 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col0 (type: boolean) + sort order: + + Map-reduce partition columns: _col0 (type: boolean) + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() - keys: key (type: string) + keys: true (type: boolean) minReductionHashAggr: 0.0 mode: hash outputColumnNames: _col0, _col1 - Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator - key expressions: _col0 (type: string) + key expressions: _col0 (type: boolean) sort order: + - Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + Map-reduce partition columns: _col0 (type: boolean) + Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: bigint) Execution mode: vectorized, llap LLAP IO: no inputs - Map 4 + Map 7 Map Operator Tree: TableScan - alias: s1 - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE + alias: src + Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE + expressions: key (type: string) + outputColumnNames: key + Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() - keys: true (type: boolean) + keys: key (type: string) minReductionHashAggr: 0.0 mode: hash outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator - key expressions: _col0 (type: boolean) + key expressions: _col0 (type: string) sort order: + - Map-reduce partition columns: _col0 (type: boolean) - Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: bigint) Execution mode: vectorized, llap LLAP IO: no inputs Reducer 2 + Execution mode: vectorized, llap + Reduce Operator Tree: + Group By Operator + keys: KEY._col0 (type: boolean) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE + Group By Operator + aggregations: count() + minReductionHashAggr: 0.0 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: bigint) + Reducer 3 Execution mode: vectorized, llap Reduce Operator Tree: Group By Operator aggregations: count(VALUE._col0) - keys: KEY._col0 (type: string) mode: mergepartial - outputColumnNames: _col0, _col1 - Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: (sq_count_check(_col0) <= 1) (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reducer 4 + Execution mode: llap + Reduce Operator Tree: + Merge Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 + 1 + outputColumnNames: _col1 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator sort order: - Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: string), _col1 (type: bigint) - Reducer 3 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: bigint) + Reducer 5 Execution mode: llap Reduce Operator Tree: Merge Join Operator @@ -7184,11 +7433,11 @@ STAGE PLANS: keys: 0 1 - outputColumnNames: _col0, _col1, _col2 - residual filter predicates: {(_col1 > _col2)} + outputColumnNames: _col1, _col2, _col3 + residual filter predicates: {(_col3 > _col1)} Statistics: Num rows: 83 Data size: 8549 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col0 (type: string), _col1 (type: bigint) + expressions: _col2 (type: string), _col3 (type: bigint) outputColumnNames: _col0, _col1 Statistics: Num rows: 83 Data size: 7885 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -7198,7 +7447,7 @@ STAGE PLANS: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Reducer 5 + Reducer 6 Execution mode: vectorized, llap Reduce Operator Tree: Group By Operator @@ -7209,12 +7458,35 @@ STAGE PLANS: Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col1 (type: bigint) - outputColumnNames: _col0 + outputColumnNames: _col1 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: _col1 is not null (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: _col1 (type: bigint) + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: bigint) + Reducer 8 + Execution mode: vectorized, llap + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + keys: KEY._col0 (type: string) + mode: mergepartial + outputColumnNames: _col0, _col1 + Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: _col1 is not null (type: boolean) + Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: bigint) + Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string), _col1 (type: bigint) Stage: Stage-0 Fetch Operator @@ -7222,7 +7494,8 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[48][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain select key, count(*) from src group by key having count(*) > (select count(*) from src s1 where s1.key = '90' group by s1.key ) PREHOOK: type: QUERY @@ -7243,8 +7516,11 @@ STAGE PLANS: #### A masked pattern was here #### Edges: Reducer 2 <- Map 1 (SIMPLE_EDGE) - Reducer 3 <- Reducer 2 (XPROD_EDGE), Reducer 4 (XPROD_EDGE) + Reducer 3 <- Reducer 2 (XPROD_EDGE), Reducer 6 (XPROD_EDGE) Reducer 4 <- Map 1 (SIMPLE_EDGE) + Reducer 5 <- Reducer 4 (CUSTOM_SIMPLE_EDGE) + Reducer 6 <- Reducer 5 (XPROD_EDGE), Reducer 7 (XPROD_EDGE) + Reducer 7 <- Map 1 (SIMPLE_EDGE) #### A masked pattern was here #### Vertices: Map 1 @@ -7269,6 +7545,22 @@ STAGE PLANS: Map-reduce partition columns: _col0 (type: string) Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: bigint) + Filter Operator + predicate: (key = '90') (type: boolean) + Statistics: Num rows: 2 Data size: 174 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + Statistics: Num rows: 2 Data size: 174 Basic stats: COMPLETE Column stats: COMPLETE + Group By Operator + keys: true (type: boolean) + minReductionHashAggr: 0.0 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + key expressions: _col0 (type: boolean) + sort order: + + Map-reduce partition columns: _col0 (type: boolean) + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (key = '90') (type: boolean) Statistics: Num rows: 2 Data size: 174 Basic stats: COMPLETE Column stats: COMPLETE @@ -7298,10 +7590,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: string), _col1 (type: bigint) + Reduce Output Operator + sort order: + Statistics: Num rows: 250 Data size: 23750 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: string), _col1 (type: bigint) Reducer 3 Execution mode: llap Reduce Operator Tree: @@ -7311,11 +7606,11 @@ STAGE PLANS: keys: 0 1 - outputColumnNames: _col0, _col1, _col2 - residual filter predicates: {(_col1 > _col2)} + outputColumnNames: _col1, _col2, _col3 + residual filter predicates: {(_col3 > _col1)} Statistics: Num rows: 83 Data size: 8549 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col0 (type: string), _col1 (type: bigint) + expressions: _col2 (type: string), _col3 (type: bigint) outputColumnNames: _col0, _col1 Statistics: Num rows: 83 Data size: 7885 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -7326,6 +7621,57 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Reducer 4 + Execution mode: vectorized, llap + Reduce Operator Tree: + Group By Operator + keys: KEY._col0 (type: boolean) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE + Group By Operator + aggregations: count() + minReductionHashAggr: 0.0 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: bigint) + Reducer 5 + Execution mode: vectorized, llap + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: (sq_count_check(_col0) <= 1) (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reducer 6 + Execution mode: llap + Reduce Operator Tree: + Merge Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 + 1 + outputColumnNames: _col1 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col1 (type: bigint) + Reducer 7 Execution mode: vectorized, llap Reduce Operator Tree: Group By Operator @@ -7336,12 +7682,19 @@ STAGE PLANS: Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col1 (type: bigint) - outputColumnNames: _col0 + outputColumnNames: _col1 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: bigint) + Select Operator + expressions: _col1 (type: bigint) + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: bigint) Stage: Stage-0 Fetch Operator @@ -7375,7 +7728,8 @@ POSTHOOK: query: CREATE TABLE `date_dim`( POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@date_dim -Warning: Shuffle Join MERGEJOIN[42][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product +Warning: Shuffle Join MERGEJOIN[84][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product +Warning: Shuffle Join MERGEJOIN[86][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain cbo with avg_sales as (select avg(quantity*list_price) average_sales from (select ss_quantity quantity @@ -7404,22 +7758,40 @@ POSTHOOK: Input: default@store_sales #### A masked pattern was here #### CBO PLAN: HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) - HiveJoin(condition=[>($2, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) - HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) - HiveProject($f0=[*(CAST($1):DECIMAL(10, 0), $2)]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $1, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[>($2, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject($f0=[/($0, $1)]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[$0], $f1=[$1]) + HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) + HiveProject($f0=[*(CAST($1):DECIMAL(10, 0), $2)]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $1, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(cnt=[$0]) + HiveFilter(condition=[<=(sq_count_check($0), 1)]) + HiveProject(cnt=[$0]) + HiveAggregate(group=[{}], cnt=[COUNT()]) + HiveProject + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[count($0)]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $1, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) -Warning: Shuffle Join MERGEJOIN[74][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product -Warning: Shuffle Join MERGEJOIN[76][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product +Warning: Shuffle Join MERGEJOIN[77][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product +Warning: Shuffle Join MERGEJOIN[79][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain cbo with avg_sales as (select avg(quantity*list_price) over( partition by list_price) average_sales from (select ss_quantity quantity @@ -7451,15 +7823,18 @@ HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[>($2, $3)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(avg_window_0=[avg(*(CAST($1):DECIMAL(10, 0), $2)) OVER (PARTITION BY $2 ORDER BY $2 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $1, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(avg_window_0=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveProject(avg_window_0=[avg(*(CAST($1):DECIMAL(10, 0), $2)) OVER (PARTITION BY $2 ORDER BY $2 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $1, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) HiveProject(cnt=[$0]) HiveFilter(condition=[<=(sq_count_check($0), 1)]) HiveProject(cnt=[$0]) diff --git a/ql/src/test/results/clientpositive/llap/subquery_select.q.out b/ql/src/test/results/clientpositive/llap/subquery_select.q.out index ab56f905e0..d8b1a4492c 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_select.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_select.q.out @@ -4275,7 +4275,7 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### true -Warning: Shuffle Join MERGEJOIN[52][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[55][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product PREHOOK: query: explain select o.p_size, (select count(distinct p_type) from part p where p.p_partkey = o.p_partkey) tmp FROM part o right join (select * from part where p_size > (select avg(p_size) from part)) t on t.p_partkey = o.p_partkey PREHOOK: type: QUERY @@ -4317,14 +4317,17 @@ STAGE PLANS: Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: int) - Select Operator - expressions: p_partkey (type: int), UDFToDouble(p_size) (type: double) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 26 Data size: 312 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: p_size is not null (type: boolean) + Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: p_partkey (type: int), UDFToDouble(p_size) (type: double) + outputColumnNames: _col0, _col1 Statistics: Num rows: 26 Data size: 312 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: int), _col1 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 312 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: int), _col1 (type: double) Execution mode: vectorized, llap LLAP IO: no inputs Map 5 @@ -4438,14 +4441,17 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: (UDFToDouble(_col0) / _col1) (type: double) - outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - sort order: + Filter Operator + predicate: (_col0 is not null and _col1 is not null) (type: boolean) + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: (UDFToDouble(_col0) / _col1) (type: double) + outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: double) Reducer 8 Execution mode: vectorized, llap Reduce Operator Tree: @@ -4477,7 +4483,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join MERGEJOIN[52][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product +Warning: Shuffle Join MERGEJOIN[55][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product PREHOOK: query: select o.p_size, (select count(distinct p_type) from part p where p.p_partkey = o.p_partkey) tmp FROM part o right join (select * from part where p_size > (select avg(p_size) from part)) t on t.p_partkey = o.p_partkey PREHOOK: type: QUERY diff --git a/ql/src/test/results/clientpositive/perf/spark/query1.q.out b/ql/src/test/results/clientpositive/perf/spark/query1.q.out index b2ebbf6062..7da93fac4f 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query1.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query1.q.out @@ -66,7 +66,7 @@ STAGE PLANS: Spark #### A masked pattern was here #### Vertices: - Map 8 + Map 1 Map Operator Tree: TableScan alias: store @@ -81,8 +81,8 @@ STAGE PLANS: Statistics: Num rows: 852 Data size: 1628138 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator keys: - 0 _col1 (type: int) - 1 _col0 (type: int) + 0 _col0 (type: int) + 1 _col1 (type: int) Execution mode: vectorized Local Work: Map Reduce Local Work @@ -92,33 +92,13 @@ STAGE PLANS: Edges: Reducer 11 <- Map 10 (PARTITION-LEVEL SORT, 36), Map 13 (PARTITION-LEVEL SORT, 36) Reducer 12 <- Reducer 11 (GROUP PARTITION-LEVEL SORT, 39) - Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 36), Map 7 (PARTITION-LEVEL SORT, 36) - Reducer 3 <- Reducer 2 (GROUP, 39) - Reducer 4 <- Map 9 (PARTITION-LEVEL SORT, 559), Reducer 3 (PARTITION-LEVEL SORT, 559) - Reducer 5 <- Reducer 12 (PARTITION-LEVEL SORT, 601), Reducer 4 (PARTITION-LEVEL SORT, 601) - Reducer 6 <- Reducer 5 (SORT, 1) + Reducer 3 <- Map 2 (PARTITION-LEVEL SORT, 36), Map 8 (PARTITION-LEVEL SORT, 36) + Reducer 4 <- Reducer 3 (GROUP, 39) + Reducer 5 <- Map 9 (PARTITION-LEVEL SORT, 559), Reducer 4 (PARTITION-LEVEL SORT, 559) + Reducer 6 <- Reducer 12 (PARTITION-LEVEL SORT, 601), Reducer 5 (PARTITION-LEVEL SORT, 601) + Reducer 7 <- Reducer 6 (SORT, 1) #### A masked pattern was here #### Vertices: - Map 1 - Map Operator Tree: - TableScan - alias: store_returns - filterExpr: (sr_returned_date_sk is not null and sr_store_sk is not null and sr_customer_sk is not null) (type: boolean) - Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (sr_customer_sk is not null and sr_returned_date_sk is not null and sr_store_sk is not null) (type: boolean) - Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: sr_returned_date_sk (type: int), sr_customer_sk (type: int), sr_store_sk (type: int), sr_fee (type: decimal(7,2)) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 57591150 Data size: 4462194832 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: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: int), _col2 (type: int), _col3 (type: decimal(7,2)) - Execution mode: vectorized Map 10 Map Operator Tree: TableScan @@ -158,7 +138,27 @@ STAGE PLANS: Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 36524 Data size: 40870356 Basic stats: COMPLETE Column stats: NONE Execution mode: vectorized - Map 7 + Map 2 + Map Operator Tree: + TableScan + alias: store_returns + filterExpr: (sr_returned_date_sk is not null and sr_store_sk is not null and sr_customer_sk is not null) (type: boolean) + Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (sr_customer_sk is not null and sr_returned_date_sk is not null and sr_store_sk is not null) (type: boolean) + Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: sr_returned_date_sk (type: int), sr_customer_sk (type: int), sr_store_sk (type: int), sr_fee (type: decimal(7,2)) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 57591150 Data size: 4462194832 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: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: int), _col2 (type: int), _col3 (type: decimal(7,2)) + Execution mode: vectorized + Map 8 Map Operator Tree: TableScan alias: date_dim @@ -239,17 +239,20 @@ STAGE PLANS: mode: complete outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 15837566 Data size: 1227103566 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: ((_col1 / _col2) * 1.2) (type: decimal(38,11)), _col0 (type: int) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) Statistics: Num rows: 15837566 Data size: 1227103566 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: int) - sort order: + - Map-reduce partition columns: _col1 (type: int) + Select Operator + expressions: ((_col1 / _col2) * 1.2) (type: decimal(38,11)), _col0 (type: int) + outputColumnNames: _col0, _col1 Statistics: Num rows: 15837566 Data size: 1227103566 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: decimal(38,11)) - Reducer 2 + Reduce Output Operator + key expressions: _col1 (type: int) + sort order: + + Map-reduce partition columns: _col1 (type: int) + Statistics: Num rows: 15837566 Data size: 1227103566 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: decimal(38,11)) + Reducer 3 Reduce Operator Tree: Join Operator condition map: @@ -272,7 +275,7 @@ STAGE PLANS: Map-reduce partition columns: _col0 (type: int), _col1 (type: int) Statistics: Num rows: 63350266 Data size: 4908414421 Basic stats: COMPLETE Column stats: NONE value expressions: _col2 (type: decimal(17,2)) - Reducer 3 + Reducer 4 Execution mode: vectorized Local Work: Map Reduce Local Work @@ -283,54 +286,57 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 31675133 Data size: 2454207210 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: int), _col0 (type: int), _col2 (type: decimal(17,2)) - outputColumnNames: _col0, _col1, _col2 + Filter Operator + predicate: _col2 is not null (type: boolean) Statistics: Num rows: 31675133 Data size: 2454207210 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: int) - 1 _col0 (type: int) + Select Operator + expressions: _col1 (type: int), _col0 (type: int), _col2 (type: decimal(17,2)) outputColumnNames: _col0, _col1, _col2 - input vertices: - 1 Map 8 - Statistics: Num rows: 34842647 Data size: 2699627989 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: 31675133 Data size: 2454207210 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 _col0 (type: int) + 1 _col1 (type: int) + outputColumnNames: _col1, _col2, _col3 + input vertices: + 0 Map 1 Statistics: Num rows: 34842647 Data size: 2699627989 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: int), _col2 (type: decimal(17,2)) - Reducer 4 + Reduce Output Operator + key expressions: _col1 (type: int) + sort order: + + Map-reduce partition columns: _col1 (type: int) + Statistics: Num rows: 34842647 Data size: 2699627989 Basic stats: COMPLETE Column stats: NONE + value expressions: _col2 (type: int), _col3 (type: decimal(17,2)) + Reducer 5 Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 keys: - 0 _col0 (type: int) + 0 _col1 (type: int) 1 _col0 (type: int) - outputColumnNames: _col1, _col2, _col5 + outputColumnNames: _col2, _col3, _col5 Statistics: Num rows: 88000001 Data size: 75681779077 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col1 (type: int) + key expressions: _col2 (type: int) sort order: + - Map-reduce partition columns: _col1 (type: int) + Map-reduce partition columns: _col2 (type: int) Statistics: Num rows: 88000001 Data size: 75681779077 Basic stats: COMPLETE Column stats: NONE - value expressions: _col2 (type: decimal(17,2)), _col5 (type: string) - Reducer 5 + value expressions: _col3 (type: decimal(17,2)), _col5 (type: string) + Reducer 6 Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 keys: - 0 _col1 (type: int) + 0 _col2 (type: int) 1 _col1 (type: int) - outputColumnNames: _col2, _col5, _col6 + outputColumnNames: _col3, _col5, _col6 Statistics: Num rows: 96800003 Data size: 83249958789 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col2 > _col6) (type: boolean) + predicate: (_col3 > _col6) (type: boolean) Statistics: Num rows: 32266667 Data size: 27749985689 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col5 (type: string) @@ -341,7 +347,7 @@ STAGE PLANS: sort order: + Statistics: Num rows: 32266667 Data size: 27749985689 Basic stats: COMPLETE Column stats: NONE TopN Hash Memory Usage: 0.1 - Reducer 6 + Reducer 7 Execution mode: vectorized Reduce Operator Tree: Select Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query23.q.out b/ql/src/test/results/clientpositive/perf/spark/query23.q.out index d01b5ac5d1..bb3a9af3dc 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query23.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query23.q.out @@ -1,5 +1,5 @@ -Warning: Map Join MAPJOIN[274][bigTable=?] in task 'Stage-1:MAPRED' is a cross product -Warning: Map Join MAPJOIN[275][bigTable=?] in task 'Stage-1:MAPRED' is a cross product +Warning: Map Join MAPJOIN[284][bigTable=?] in task 'Stage-1:MAPRED' is a cross product +Warning: Map Join MAPJOIN[285][bigTable=?] in task 'Stage-1:MAPRED' is a cross product PREHOOK: query: explain with frequent_ss_items as (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt @@ -413,11 +413,18 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 224 Basic stats: COMPLETE Column stats: NONE - Spark HashTable Sink Operator - keys: - 0 - 1 - 2 + Filter Operator + predicate: _col0 is not null (type: boolean) + Statistics: Num rows: 1 Data size: 224 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: (0.95 * _col0) (type: decimal(31,4)) + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 224 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 + 1 + 2 Stage: Stage-3 Spark @@ -709,11 +716,18 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 224 Basic stats: COMPLETE Column stats: NONE - Spark HashTable Sink Operator - keys: - 0 - 1 - 2 + Filter Operator + predicate: _col0 is not null (type: boolean) + Statistics: Num rows: 1 Data size: 224 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: (0.95 * _col0) (type: decimal(31,4)) + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 224 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 + 1 + 2 Stage: Stage-1 Spark @@ -971,31 +985,40 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 316797606 Data size: 27947976754 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - Inner Join 0 to 2 - keys: - 0 - 1 - 2 - outputColumnNames: _col1, _col2, _col3 - input vertices: - 0 Reducer 17 - 1 Reducer 24 - Statistics: Num rows: 316797606 Data size: 137243150824 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col3 > (0.95 * _col1)) (type: boolean) - Statistics: Num rows: 105599202 Data size: 45747716941 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col2 (type: int) - outputColumnNames: _col0 + Filter Operator + predicate: _col1 is not null (type: boolean) + Statistics: Num rows: 316797606 Data size: 27947976754 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + Inner Join 0 to 2 + keys: + 0 + 1 + 2 + outputColumnNames: _col1, _col2, _col3 + input vertices: + 0 Reducer 17 + 1 Reducer 24 + Statistics: Num rows: 316797606 Data size: 137243150824 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (_col3 > _col1) (type: boolean) Statistics: Num rows: 105599202 Data size: 45747716941 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) + Select Operator + expressions: _col2 (type: int) + outputColumnNames: _col0 Statistics: Num rows: 105599202 Data size: 45747716941 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 105599202 Data size: 45747716941 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: 105599202 Data size: 45747716941 Basic stats: COMPLETE Column stats: NONE Reducer 3 Reduce Operator Tree: Join Operator @@ -1048,7 +1071,7 @@ STAGE PLANS: Reduce Operator Tree: Join Operator condition map: - Inner Join 0 to 1 + Left Semi Join 0 to 1 outputColumnNames: _col3, _col4 Statistics: Num rows: 191667562 Data size: 26061245514 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -1108,7 +1131,7 @@ STAGE PLANS: Reduce Operator Tree: Join Operator condition map: - Inner Join 0 to 1 + Left Semi Join 0 to 1 outputColumnNames: _col3, _col4 Statistics: Num rows: 383314495 Data size: 51908482889 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -1151,31 +1174,40 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 316797606 Data size: 27947976754 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - Inner Join 0 to 2 - keys: - 0 - 1 - 2 - outputColumnNames: _col1, _col2, _col3 - input vertices: - 0 Reducer 46 - 1 Reducer 53 - Statistics: Num rows: 316797606 Data size: 137243150824 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col3 > (0.95 * _col1)) (type: boolean) - Statistics: Num rows: 105599202 Data size: 45747716941 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col2 (type: int) - outputColumnNames: _col0 + Filter Operator + predicate: _col1 is not null (type: boolean) + Statistics: Num rows: 316797606 Data size: 27947976754 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + Inner Join 0 to 2 + keys: + 0 + 1 + 2 + outputColumnNames: _col1, _col2, _col3 + input vertices: + 0 Reducer 46 + 1 Reducer 53 + Statistics: Num rows: 316797606 Data size: 137243150824 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (_col3 > _col1) (type: boolean) Statistics: Num rows: 105599202 Data size: 45747716941 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) + Select Operator + expressions: _col2 (type: int) + outputColumnNames: _col0 Statistics: Num rows: 105599202 Data size: 45747716941 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 105599202 Data size: 45747716941 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: 105599202 Data size: 45747716941 Basic stats: COMPLETE Column stats: NONE Stage: Stage-0 Fetch Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query24.q.out b/ql/src/test/results/clientpositive/perf/spark/query24.q.out index 1bf3c75515..33f7adadbb 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query24.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query24.q.out @@ -1,4 +1,4 @@ -Warning: Map Join MAPJOIN[107][bigTable=?] in task 'Stage-1:MAPRED' is a cross product +Warning: Map Join MAPJOIN[111][bigTable=?] in task 'Stage-1:MAPRED' is a cross product PREHOOK: query: explain with ssales as (select c_last_name @@ -375,14 +375,17 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: (0.05 * (_col0 / _col1)) (type: decimal(38,12)) - outputColumnNames: _col0 + Filter Operator + predicate: (_col0 is not null and _col1 is not null) (type: boolean) Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE - Spark HashTable Sink Operator - keys: - 0 - 1 + Select Operator + expressions: (0.05 * (_col0 / _col1)) (type: decimal(38,12)) + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 + 1 Stage: Stage-4 Spark @@ -610,30 +613,33 @@ STAGE PLANS: expressions: _col1 (type: string), _col0 (type: string), _col2 (type: string), _col3 (type: decimal(27,2)) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 191662559 Data size: 16908526602 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 - 1 - outputColumnNames: _col0, _col1, _col2, _col3, _col4 - input vertices: - 1 Reducer 18 - Statistics: Num rows: 191662559 Data size: 61565902849 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col3 > _col4) (type: boolean) - Statistics: Num rows: 63887519 Data size: 20521967402 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: decimal(27,2)) - outputColumnNames: _col0, _col1, _col2, _col3 + Filter Operator + predicate: _col3 is not null (type: boolean) + Statistics: Num rows: 191662559 Data size: 16908526602 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 + 1 + outputColumnNames: _col0, _col1, _col2, _col3, _col4 + input vertices: + 1 Reducer 18 + Statistics: Num rows: 191662559 Data size: 61565902849 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (_col3 > _col4) (type: boolean) Statistics: Num rows: 63887519 Data size: 20521967402 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false + Select Operator + expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: decimal(27,2)) + outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 63887519 Data size: 20521967402 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 + File Output Operator + compressed: false + Statistics: Num rows: 63887519 Data size: 20521967402 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 Reducer 8 Reduce Operator Tree: Join Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query30.q.out b/ql/src/test/results/clientpositive/perf/spark/query30.q.out index 2a3a9a5d02..83e8c77d96 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query30.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query30.q.out @@ -326,16 +326,19 @@ STAGE PLANS: mode: complete outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: ((_col1 / _col2) * 1.2) (type: decimal(38,11)), _col0 (type: string) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Select Operator + expressions: ((_col1 / _col2) * 1.2) (type: decimal(38,11)), _col0 (type: string) + outputColumnNames: _col0, _col1 Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: decimal(38,11)) + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: decimal(38,11)) Reducer 2 Reduce Operator Tree: Join Operator @@ -440,12 +443,15 @@ STAGE PLANS: expressions: _col1 (type: int), _col0 (type: string), _col2 (type: decimal(17,2)) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 22000000 Data size: 22327357890 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Filter Operator + predicate: _col2 is not null (type: boolean) Statistics: Num rows: 22000000 Data size: 22327357890 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col2 (type: decimal(17,2)) + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 22000000 Data size: 22327357890 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col2 (type: decimal(17,2)) Stage: Stage-0 Fetch Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query32.q.out b/ql/src/test/results/clientpositive/perf/spark/query32.q.out index 5370e95336..7f313bffb9 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query32.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query32.q.out @@ -120,20 +120,19 @@ STAGE PLANS: Stage: Stage-1 Spark Edges: - Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 520), Reducer 7 (PARTITION-LEVEL SORT, 520) + Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 506), Map 5 (PARTITION-LEVEL SORT, 506), Reducer 7 (PARTITION-LEVEL SORT, 506) Reducer 3 <- Reducer 2 (GROUP, 1) - Reducer 6 <- Map 5 (GROUP, 336) - Reducer 7 <- Map 9 (PARTITION-LEVEL SORT, 171), Reducer 6 (PARTITION-LEVEL SORT, 171) + Reducer 7 <- Map 6 (GROUP, 336) #### A masked pattern was here #### Vertices: Map 1 Map Operator Tree: TableScan alias: catalog_sales - filterExpr: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean) + filterExpr: (cs_item_sk is not null and cs_sold_date_sk is not null and cs_ext_discount_amt is not null) (type: boolean) Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean) + predicate: (cs_ext_discount_amt is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean) Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: cs_sold_date_sk (type: int), cs_item_sk (type: int), cs_ext_discount_amt (type: decimal(7,2)) @@ -159,6 +158,25 @@ STAGE PLANS: Local Work: Map Reduce Local Work Map 5 + Map Operator Tree: + TableScan + alias: item + filterExpr: ((i_manufact_id = 269) and i_item_sk is not null) (type: boolean) + Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: ((i_manufact_id = 269) and i_item_sk is not null) (type: boolean) + Statistics: Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: i_item_sk (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 231000 Data size: 331780228 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: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE + Execution mode: vectorized + Map 6 Map Operator Tree: TableScan alias: catalog_sales @@ -197,42 +215,25 @@ STAGE PLANS: Execution mode: vectorized Local Work: Map Reduce Local Work - Map 9 - Map Operator Tree: - TableScan - alias: item - filterExpr: ((i_manufact_id = 269) and i_item_sk is not null) (type: boolean) - Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((i_manufact_id = 269) and i_item_sk is not null) (type: boolean) - Statistics: Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: i_item_sk (type: int) - outputColumnNames: _col0 - Statistics: Num rows: 231000 Data size: 331780228 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: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE - Execution mode: vectorized Reducer 2 Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 + Inner Join 1 to 2 keys: 0 _col1 (type: int) - 1 _col2 (type: int) - outputColumnNames: _col2, _col5 - Statistics: Num rows: 348467716 Data size: 47189528877 Basic stats: COMPLETE Column stats: NONE + 1 _col0 (type: int) + 2 _col0 (type: int) + outputColumnNames: _col2, _col6 + Statistics: Num rows: 696935432 Data size: 94379057755 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col2 > _col5) (type: boolean) - Statistics: Num rows: 116155905 Data size: 15729842913 Basic stats: COMPLETE Column stats: NONE + predicate: (_col2 > _col6) (type: boolean) + Statistics: Num rows: 232311810 Data size: 31459685828 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col2 (type: decimal(7,2)) outputColumnNames: _col2 - Statistics: Num rows: 116155905 Data size: 15729842913 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 232311810 Data size: 31459685828 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: sum(_col2) minReductionHashAggr: 0.99 @@ -258,7 +259,7 @@ STAGE PLANS: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Reducer 6 + Reducer 7 Execution mode: vectorized Reduce Operator Tree: Group By Operator @@ -267,32 +268,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 158394413 Data size: 21449785388 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: int), CAST( (1.3 * (_col1 / _col2)) AS decimal(14,7)) (type: decimal(14,7)) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) Statistics: Num rows: 158394413 Data size: 21449785388 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) + Select Operator + expressions: _col0 (type: int), CAST( (1.3 * (_col1 / _col2)) AS decimal(14,7)) (type: decimal(14,7)) + outputColumnNames: _col0, _col1 Statistics: Num rows: 158394413 Data size: 21449785388 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: decimal(14,7)) - Reducer 7 - Reduce Operator Tree: - Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col0 (type: int) - 1 _col0 (type: int) - outputColumnNames: _col1, _col2 - Statistics: Num rows: 174233858 Data size: 23594764438 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col2 (type: int) - sort order: + - Map-reduce partition columns: _col2 (type: int) - Statistics: Num rows: 174233858 Data size: 23594764438 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: decimal(14,7)) + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 158394413 Data size: 21449785388 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: decimal(14,7)) Stage: Stage-0 Fetch Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query44.q.out b/ql/src/test/results/clientpositive/perf/spark/query44.q.out index 3a93a646b1..4bb6a80bff 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query44.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query44.q.out @@ -1,5 +1,5 @@ -Warning: Shuffle Join JOIN[20][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 7' is a cross product -Warning: Shuffle Join JOIN[49][tables = [$hdt$_3, $hdt$_4]] in Work 'Reducer 15' is a cross product +Warning: Shuffle Join JOIN[38][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Work 'Reducer 8' is a cross product +Warning: Shuffle Join JOIN[85][tables = [$hdt$_4, $hdt$_5, $hdt$_3]] in Work 'Reducer 19' is a cross product PREHOOK: query: explain select asceding.rnk, i1.i_product_name best_performing, i2.i_product_name worst_performing from(select * @@ -82,18 +82,20 @@ STAGE PLANS: Stage: Stage-1 Spark Edges: - Reducer 10 <- Map 17 (GROUP, 100) - Reducer 12 <- Map 11 (PARTITION-LEVEL SORT, 1009), Reducer 16 (PARTITION-LEVEL SORT, 1009) - Reducer 14 <- Map 13 (GROUP, 199) - Reducer 15 <- Reducer 14 (PARTITION-LEVEL SORT, 1), Reducer 18 (PARTITION-LEVEL SORT, 1) - Reducer 16 <- Reducer 15 (PARTITION-LEVEL SORT, 1009) - Reducer 18 <- Map 17 (GROUP, 100) - Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1009), Reducer 8 (PARTITION-LEVEL SORT, 1009) - Reducer 3 <- Reducer 12 (PARTITION-LEVEL SORT, 1009), Reducer 2 (PARTITION-LEVEL SORT, 1009) + Reducer 11 <- Map 10 (GROUP, 100) + Reducer 13 <- Map 12 (GROUP, 199) + Reducer 15 <- Map 14 (PARTITION-LEVEL SORT, 1009), Reducer 20 (PARTITION-LEVEL SORT, 1009) + Reducer 17 <- Map 16 (GROUP, 100) + Reducer 18 <- Reducer 17 (GROUP, 1) + Reducer 19 <- Reducer 18 (PARTITION-LEVEL SORT, 1), Reducer 22 (PARTITION-LEVEL SORT, 1), Reducer 24 (PARTITION-LEVEL SORT, 1) + Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1009), Reducer 9 (PARTITION-LEVEL SORT, 1009) + Reducer 20 <- Reducer 19 (PARTITION-LEVEL SORT, 1009) + Reducer 22 <- Map 10 (GROUP, 100) + Reducer 24 <- Map 12 (GROUP, 199) + Reducer 3 <- Reducer 15 (PARTITION-LEVEL SORT, 1009), Reducer 2 (PARTITION-LEVEL SORT, 1009) Reducer 4 <- Reducer 3 (SORT, 1) - Reducer 6 <- Map 13 (GROUP, 199) - Reducer 7 <- Reducer 10 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1) - Reducer 8 <- Reducer 7 (PARTITION-LEVEL SORT, 1009) + Reducer 8 <- Reducer 11 (PARTITION-LEVEL SORT, 1), Reducer 13 (PARTITION-LEVEL SORT, 1), Reducer 18 (PARTITION-LEVEL SORT, 1) + Reducer 9 <- Reducer 8 (PARTITION-LEVEL SORT, 1009) #### A masked pattern was here #### Vertices: Map 1 @@ -116,27 +118,34 @@ STAGE PLANS: Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Execution mode: vectorized - Map 11 + Map 10 Map Operator Tree: TableScan - alias: i2 - filterExpr: i_item_sk is not null (type: boolean) - Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE + alias: store_sales + filterExpr: ((ss_store_sk = 410) and ss_hdemo_sk is null) (type: boolean) + Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: i_item_sk is not null (type: boolean) - Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE + predicate: ((ss_store_sk = 410) and ss_hdemo_sk is null) (type: boolean) + Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: i_item_sk (type: int), i_product_name (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 462000 Data size: 663560457 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: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: string) + expressions: ss_net_profit (type: decimal(7,2)) + outputColumnNames: _col1 + Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: sum(_col1), count(_col1) + keys: true (type: boolean) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: boolean) + sort order: + + Map-reduce partition columns: _col0 (type: boolean) + Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: decimal(17,2)), _col2 (type: bigint) Execution mode: vectorized - Map 13 + Map 12 Map Operator Tree: TableScan alias: ss1 @@ -163,7 +172,27 @@ STAGE PLANS: Statistics: Num rows: 287997817 Data size: 25407250999 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: decimal(17,2)), _col2 (type: bigint) Execution mode: vectorized - Map 17 + Map 14 + Map Operator Tree: + TableScan + alias: i2 + filterExpr: i_item_sk is not null (type: boolean) + Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: i_item_sk is not null (type: boolean) + Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: i_item_sk (type: int), i_product_name (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 462000 Data size: 663560457 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: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: string) + Execution mode: vectorized + Map 16 Map Operator Tree: TableScan alias: store_sales @@ -173,24 +202,20 @@ STAGE PLANS: predicate: ((ss_store_sk = 410) and ss_hdemo_sk is null) (type: boolean) Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: ss_net_profit (type: decimal(7,2)) - outputColumnNames: _col1 Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE Group By Operator - aggregations: sum(_col1), count(_col1) keys: true (type: boolean) minReductionHashAggr: 0.99 mode: hash - outputColumnNames: _col0, _col1, _col2 + outputColumnNames: _col0 Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator key expressions: _col0 (type: boolean) sort order: + Map-reduce partition columns: _col0 (type: boolean) Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: decimal(17,2)), _col2 (type: bigint) Execution mode: vectorized - Reducer 10 + Reducer 11 Execution mode: vectorized Reduce Operator Tree: Group By Operator @@ -200,14 +225,41 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col1 / _col2) (type: decimal(37,22)) - outputColumnNames: _col0 + expressions: _col1 (type: decimal(17,2)), _col2 (type: bigint) + outputColumnNames: _col1, _col2 Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: decimal(37,22)) - Reducer 12 + Select Operator + expressions: (_col1 / _col2) (type: decimal(37,22)) + outputColumnNames: _col0 + Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: decimal(37,22)) + Reducer 13 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: sum(VALUE._col0), count(VALUE._col1) + keys: KEY._col0 (type: int) + mode: mergepartial + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) + Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col0 (type: int), (_col1 / _col2) (type: decimal(37,22)) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: decimal(37,22)) + Reducer 15 Reduce Operator Tree: Join Operator condition map: @@ -216,92 +268,129 @@ STAGE PLANS: 0 _col0 (type: int) 1 _col0 (type: int) outputColumnNames: _col1, _col3 - Statistics: Num rows: 1267180808338276 Data size: 224849298143006048 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1267180808338276 Data size: 234986744609712256 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator key expressions: _col3 (type: int) sort order: + Map-reduce partition columns: _col3 (type: int) - Statistics: Num rows: 1267180808338276 Data size: 224849298143006048 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1267180808338276 Data size: 234986744609712256 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) - Reducer 14 + Reducer 17 Execution mode: vectorized Reduce Operator Tree: Group By Operator - aggregations: sum(VALUE._col0), count(VALUE._col1) - keys: KEY._col0 (type: int) + keys: KEY._col0 (type: boolean) mode: mergepartial - outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE + outputColumnNames: _col0 + Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: int), (_col1 / _col2) (type: decimal(37,22)) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: decimal(37,22)) - Reducer 15 + Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Reducer 18 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (sq_count_check(_col0) <= 1) (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Select Operator + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reducer 19 Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 + Inner Join 0 to 2 keys: 0 1 - outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 10367842752596232 Data size: 1839676035841599918 Basic stats: COMPLETE Column stats: NONE + 2 + outputColumnNames: _col1, _col2, _col3 + Statistics: Num rows: 10367842752596232 Data size: 1922618777862369774 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 > (0.9 * _col2)) (type: boolean) - Statistics: Num rows: 3455947584198744 Data size: 613225345280533248 Basic stats: COMPLETE Column stats: NONE + predicate: (_col3 > (0.9 * _col1)) (type: boolean) + Statistics: Num rows: 3455947584198744 Data size: 640872925954123264 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: 0 (type: int), _col1 (type: decimal(37,22)) + key expressions: 0 (type: int), _col3 (type: decimal(37,22)) sort order: +- Map-reduce partition columns: 0 (type: int) - Statistics: Num rows: 3455947584198744 Data size: 613225345280533248 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 3455947584198744 Data size: 640872925954123264 Basic stats: COMPLETE Column stats: NONE TopN Hash Memory Usage: 0.1 - value expressions: _col0 (type: int) - Reducer 16 + value expressions: _col2 (type: int) + Reducer 2 + Reduce Operator Tree: + Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + outputColumnNames: _col1, _col3 + Statistics: Num rows: 1267180808338276 Data size: 234986744609712256 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col3 (type: int) + sort order: + + Map-reduce partition columns: _col3 (type: int) + Statistics: Num rows: 1267180808338276 Data size: 234986744609712256 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: string) + Reducer 20 Execution mode: vectorized Reduce Operator Tree: Select Operator - expressions: VALUE._col0 (type: int), KEY.reducesinkkey1 (type: decimal(37,22)) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 3455947584198744 Data size: 613225345280533248 Basic stats: COMPLETE Column stats: NONE + expressions: VALUE._col2 (type: int), KEY.reducesinkkey1 (type: decimal(37,22)) + outputColumnNames: _col2, _col3 + Statistics: Num rows: 3455947584198744 Data size: 640872925954123264 Basic stats: COMPLETE Column stats: NONE PTF Operator Function definitions: Input definition input alias: ptf_0 - output shape: _col0: int, _col1: decimal(37,22) + output shape: _col2: int, _col3: decimal(37,22) type: WINDOWING Windowing table definition input alias: ptf_1 name: windowingtablefunction - order by: _col1 DESC NULLS LAST + order by: _col3 DESC NULLS LAST partition by: 0 raw input shape: window functions: window function definition alias: rank_window_0 - arguments: _col1 + arguments: _col3 name: rank window function: GenericUDAFRankEvaluator window frame: ROWS PRECEDING(MAX)~FOLLOWING(MAX) isPivotResult: true - Statistics: Num rows: 3455947584198744 Data size: 613225345280533248 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 3455947584198744 Data size: 640872925954123264 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((rank_window_0 < 11) and _col0 is not null) (type: boolean) - Statistics: Num rows: 1151982528066248 Data size: 204408448426844416 Basic stats: COMPLETE Column stats: NONE + predicate: ((rank_window_0 < 11) and _col2 is not null) (type: boolean) + Statistics: Num rows: 1151982528066248 Data size: 213624308651374400 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: int), rank_window_0 (type: int) + expressions: _col2 (type: int), rank_window_0 (type: int) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1151982528066248 Data size: 204408448426844416 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1151982528066248 Data size: 213624308651374400 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: 1151982528066248 Data size: 204408448426844416 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1151982528066248 Data size: 213624308651374400 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: int) - Reducer 18 + Reducer 22 Execution mode: vectorized Reduce Operator Tree: Group By Operator @@ -311,29 +400,40 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col1 / _col2) (type: decimal(37,22)) - outputColumnNames: _col0 + expressions: _col1 (type: decimal(17,2)), _col2 (type: bigint) + outputColumnNames: _col1, _col2 Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: decimal(37,22)) - Reducer 2 + Select Operator + expressions: (_col1 / _col2) (type: decimal(37,22)) + outputColumnNames: _col0 + Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: decimal(37,22)) + Reducer 24 + Execution mode: vectorized Reduce Operator Tree: - Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col0 (type: int) - 1 _col0 (type: int) - outputColumnNames: _col1, _col3 - Statistics: Num rows: 1267180808338276 Data size: 224849298143006048 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col3 (type: int) - sort order: + - Map-reduce partition columns: _col3 (type: int) - Statistics: Num rows: 1267180808338276 Data size: 224849298143006048 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: string) + Group By Operator + aggregations: sum(VALUE._col0), count(VALUE._col1) + keys: KEY._col0 (type: int) + mode: mergepartial + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) + Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col0 (type: int), (_col1 / _col2) (type: decimal(37,22)) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: decimal(37,22)) Reducer 3 Reduce Operator Tree: Join Operator @@ -343,15 +443,15 @@ STAGE PLANS: 0 _col3 (type: int) 1 _col3 (type: int) outputColumnNames: _col1, _col3, _col5 - Statistics: Num rows: 1393898919384048 Data size: 247334233318131680 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1393898919384048 Data size: 258485424673204064 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col3 (type: int), _col1 (type: string), _col5 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1393898919384048 Data size: 247334233318131680 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1393898919384048 Data size: 258485424673204064 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) sort order: + - Statistics: Num rows: 1393898919384048 Data size: 247334233318131680 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1393898919384048 Data size: 258485424673204064 Basic stats: COMPLETE Column stats: NONE TopN Hash Memory Usage: 0.1 value expressions: _col1 (type: string), _col2 (type: string) Reducer 4 @@ -360,94 +460,79 @@ STAGE PLANS: Select Operator expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: string), VALUE._col1 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1393898919384048 Data size: 247334233318131680 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1393898919384048 Data size: 258485424673204064 Basic stats: COMPLETE Column stats: NONE Limit Number of rows: 100 - Statistics: Num rows: 100 Data size: 17700 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 100 Data size: 18500 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - Statistics: Num rows: 100 Data size: 17700 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 100 Data size: 18500 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 - Reducer 6 - Execution mode: vectorized - Reduce Operator Tree: - Group By Operator - aggregations: sum(VALUE._col0), count(VALUE._col1) - keys: KEY._col0 (type: int) - mode: mergepartial - outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: int), (_col1 / _col2) (type: decimal(37,22)) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: decimal(37,22)) - Reducer 7 + Reducer 8 Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 + Inner Join 0 to 2 keys: 0 1 - outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 10367842752596232 Data size: 1839676035841599918 Basic stats: COMPLETE Column stats: NONE + 2 + outputColumnNames: _col1, _col2, _col3 + Statistics: Num rows: 10367842752596232 Data size: 1922618777862369774 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 > (0.9 * _col2)) (type: boolean) - Statistics: Num rows: 3455947584198744 Data size: 613225345280533248 Basic stats: COMPLETE Column stats: NONE + predicate: (_col3 > (0.9 * _col1)) (type: boolean) + Statistics: Num rows: 3455947584198744 Data size: 640872925954123264 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: 0 (type: int), _col1 (type: decimal(37,22)) + key expressions: 0 (type: int), _col3 (type: decimal(37,22)) sort order: ++ Map-reduce partition columns: 0 (type: int) - Statistics: Num rows: 3455947584198744 Data size: 613225345280533248 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 3455947584198744 Data size: 640872925954123264 Basic stats: COMPLETE Column stats: NONE TopN Hash Memory Usage: 0.1 - value expressions: _col0 (type: int) - Reducer 8 + value expressions: _col2 (type: int) + Reducer 9 Execution mode: vectorized Reduce Operator Tree: Select Operator - expressions: VALUE._col0 (type: int), KEY.reducesinkkey1 (type: decimal(37,22)) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 3455947584198744 Data size: 613225345280533248 Basic stats: COMPLETE Column stats: NONE + expressions: VALUE._col2 (type: int), KEY.reducesinkkey1 (type: decimal(37,22)) + outputColumnNames: _col2, _col3 + Statistics: Num rows: 3455947584198744 Data size: 640872925954123264 Basic stats: COMPLETE Column stats: NONE PTF Operator Function definitions: Input definition input alias: ptf_0 - output shape: _col0: int, _col1: decimal(37,22) + output shape: _col2: int, _col3: decimal(37,22) type: WINDOWING Windowing table definition input alias: ptf_1 name: windowingtablefunction - order by: _col1 ASC NULLS FIRST + order by: _col3 ASC NULLS FIRST partition by: 0 raw input shape: window functions: window function definition alias: rank_window_0 - arguments: _col1 + arguments: _col3 name: rank window function: GenericUDAFRankEvaluator window frame: ROWS PRECEDING(MAX)~FOLLOWING(MAX) isPivotResult: true - Statistics: Num rows: 3455947584198744 Data size: 613225345280533248 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 3455947584198744 Data size: 640872925954123264 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((rank_window_0 < 11) and _col0 is not null) (type: boolean) - Statistics: Num rows: 1151982528066248 Data size: 204408448426844416 Basic stats: COMPLETE Column stats: NONE + predicate: ((rank_window_0 < 11) and _col2 is not null) (type: boolean) + Statistics: Num rows: 1151982528066248 Data size: 213624308651374400 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: int), rank_window_0 (type: int) + expressions: _col2 (type: int), rank_window_0 (type: int) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1151982528066248 Data size: 204408448426844416 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1151982528066248 Data size: 213624308651374400 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: 1151982528066248 Data size: 204408448426844416 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1151982528066248 Data size: 213624308651374400 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: int) Stage: Stage-0 diff --git a/ql/src/test/results/clientpositive/perf/spark/query54.q.out b/ql/src/test/results/clientpositive/perf/spark/query54.q.out index 10ba67a4c2..4e30b07218 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query54.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query54.q.out @@ -171,9 +171,9 @@ STAGE PLANS: Reducer 23 <- Reducer 22 (GROUP, 1) Reducer 25 <- Map 24 (GROUP, 2) Reducer 26 <- Reducer 25 (GROUP, 1) - Reducer 28 <- Map 24 (GROUP, 2) + Reducer 28 <- Map 27 (GROUP, 2) Reducer 3 <- Reducer 10 (PARTITION-LEVEL SORT, 772), Reducer 2 (PARTITION-LEVEL SORT, 772) - Reducer 30 <- Map 21 (GROUP, 2) + Reducer 30 <- Map 29 (GROUP, 2) Reducer 4 <- Reducer 23 (PARTITION-LEVEL SORT, 1), Reducer 26 (PARTITION-LEVEL SORT, 1), Reducer 28 (PARTITION-LEVEL SORT, 1), Reducer 3 (PARTITION-LEVEL SORT, 1), Reducer 30 (PARTITION-LEVEL SORT, 1) Reducer 5 <- Reducer 4 (GROUP, 1009) Reducer 6 <- Reducer 5 (GROUP, 1009) @@ -348,14 +348,64 @@ STAGE PLANS: Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE Execution mode: vectorized + Map 27 + Map Operator Tree: + TableScan + alias: date_dim + filterExpr: ((d_year = 1999) and (d_moy = 3) and d_month_seq is not null) (type: boolean) + Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: ((d_moy = 3) and (d_year = 1999) and d_month_seq is not null) (type: boolean) + Statistics: Num rows: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: (d_month_seq + 1) (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 18262 Data size: 20435178 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: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE + Execution mode: vectorized + Map 29 + Map Operator Tree: + TableScan + alias: date_dim + filterExpr: ((d_year = 1999) and (d_moy = 3) and d_month_seq is not null) (type: boolean) + Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: ((d_moy = 3) and (d_year = 1999) and d_month_seq is not null) (type: boolean) + Statistics: Num rows: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: (d_month_seq + 3) (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 18262 Data size: 20435178 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: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE + Execution mode: vectorized Map 8 Map Operator Tree: TableScan alias: date_dim - filterExpr: d_date_sk is not null (type: boolean) + filterExpr: (d_date_sk is not null and d_month_seq is not null) (type: boolean) Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: d_date_sk is not null (type: boolean) + predicate: (d_date_sk is not null and d_month_seq is not null) (type: boolean) Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: d_date_sk (type: int), d_month_seq (type: int) diff --git a/ql/src/test/results/clientpositive/perf/spark/query6.q.out b/ql/src/test/results/clientpositive/perf/spark/query6.q.out index 2573601224..2d6c7cf710 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query6.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query6.q.out @@ -1,4 +1,4 @@ -Warning: Map Join MAPJOIN[85][bigTable=?] in task 'Stage-1:MAPRED' is a cross product +Warning: Map Join MAPJOIN[86][bigTable=?] in task 'Stage-1:MAPRED' is a cross product PREHOOK: query: explain select a.ca_state state, count(*) cnt from customer_address a @@ -261,10 +261,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: i - filterExpr: (i_item_sk is not null and i_category is not null) (type: boolean) + filterExpr: (i_item_sk is not null and i_category is not null and i_current_price is not null) (type: boolean) Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (i_category is not null and i_item_sk is not null) (type: boolean) + predicate: (i_category is not null and i_current_price is not null and i_item_sk is not null) (type: boolean) Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: i_item_sk (type: int), i_current_price (type: decimal(7,2)), i_category (type: string) @@ -329,26 +329,29 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), (1.2 * CAST( (_col1 / _col2) AS decimal(16,6))) (type: decimal(19,7)) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) Statistics: Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 - 1 + Select Operator + expressions: _col0 (type: string), (1.2 * CAST( (_col1 / _col2) AS decimal(16,6))) (type: decimal(19,7)) outputColumnNames: _col0, _col1 - input vertices: - 1 Reducer 19 - Statistics: Num rows: 231000 Data size: 333859228 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 + 1 + outputColumnNames: _col0, _col1 + input vertices: + 1 Reducer 19 Statistics: Num rows: 231000 Data size: 333859228 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: decimal(19,7)) + Reduce Output Operator + key expressions: _col0 (type: string) + sort order: + + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 231000 Data size: 333859228 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: decimal(19,7)) Reducer 16 Reduce Operator Tree: Join Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query65.q.out b/ql/src/test/results/clientpositive/perf/spark/query65.q.out index 242b730e20..5aaf3beed5 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query65.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query65.q.out @@ -218,16 +218,19 @@ STAGE PLANS: mode: complete outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 158398803 Data size: 13973988377 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: int), (0.1 * (_col1 / _col2)) (type: decimal(38,12)) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) Statistics: Num rows: 158398803 Data size: 13973988377 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) + Select Operator + expressions: _col0 (type: int), (0.1 * (_col1 / _col2)) (type: decimal(38,12)) + outputColumnNames: _col0, _col1 Statistics: Num rows: 158398803 Data size: 13973988377 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: decimal(38,12)) + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 158398803 Data size: 13973988377 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: decimal(38,12)) Reducer 2 Reduce Operator Tree: Join Operator @@ -260,12 +263,15 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 316797606 Data size: 27947976754 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) + Filter Operator + predicate: _col2 is not null (type: boolean) Statistics: Num rows: 316797606 Data size: 27947976754 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: int), _col2 (type: decimal(17,2)) + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 316797606 Data size: 27947976754 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: int), _col2 (type: decimal(17,2)) Reducer 4 Reduce Operator Tree: Join Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query72.q.out b/ql/src/test/results/clientpositive/perf/spark/query72.q.out index 55b720a54c..2a417f4553 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query72.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query72.q.out @@ -169,10 +169,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: inventory - filterExpr: (inv_item_sk is not null and inv_warehouse_sk is not null and inv_date_sk is not null) (type: boolean) + filterExpr: (inv_item_sk is not null and inv_warehouse_sk is not null and inv_date_sk is not null and inv_quantity_on_hand is not null) (type: boolean) Statistics: Num rows: 37584000 Data size: 593821104 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (inv_date_sk is not null and inv_item_sk is not null and inv_warehouse_sk is not null) (type: boolean) + predicate: (inv_date_sk is not null and inv_item_sk is not null and inv_quantity_on_hand is not null and inv_warehouse_sk is not null) (type: boolean) Statistics: Num rows: 37584000 Data size: 593821104 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: inv_date_sk (type: int), inv_item_sk (type: int), inv_warehouse_sk (type: int), inv_quantity_on_hand (type: int) @@ -201,10 +201,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: d1 - filterExpr: ((d_year = 2001) and d_date_sk is not null and d_week_seq is not null) (type: boolean) + filterExpr: ((d_year = 2001) and d_date_sk is not null and d_week_seq is not null and d_date is not null) (type: boolean) Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((d_year = 2001) and d_date_sk is not null and d_week_seq is not null) (type: boolean) + predicate: ((d_year = 2001) and d_date is not null and d_date_sk is not null and d_week_seq is not null) (type: boolean) Statistics: Num rows: 36524 Data size: 40870356 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: d_date_sk (type: int), d_week_seq (type: int), (UDFToDouble(d_date) + 5.0D) (type: double) @@ -260,10 +260,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: d3 - filterExpr: d_date_sk is not null (type: boolean) + filterExpr: (d_date_sk is not null and d_date is not null) (type: boolean) Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: d_date_sk is not null (type: boolean) + predicate: (d_date is not null and d_date_sk is not null) (type: boolean) Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: d_date_sk (type: int), UDFToDouble(d_date) (type: double) @@ -318,10 +318,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: catalog_sales - filterExpr: (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) (type: boolean) + filterExpr: (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 and cs_quantity is not null) (type: boolean) Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (cs_bill_cdemo_sk is not null and cs_bill_hdemo_sk is not null and cs_item_sk is not null and cs_ship_date_sk is not null and cs_sold_date_sk is not null) (type: boolean) + predicate: (cs_bill_cdemo_sk is not null and cs_bill_hdemo_sk is not null and cs_item_sk is not null and cs_quantity is not null and cs_ship_date_sk is not null and cs_sold_date_sk is not null) (type: boolean) Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: cs_sold_date_sk (type: int), cs_ship_date_sk (type: int), cs_bill_cdemo_sk (type: int), cs_bill_hdemo_sk (type: int), cs_item_sk (type: int), cs_promo_sk (type: int), cs_order_number (type: int), cs_quantity (type: int) diff --git a/ql/src/test/results/clientpositive/perf/spark/query81.q.out b/ql/src/test/results/clientpositive/perf/spark/query81.q.out index 03ab97e1af..bcd1a5eace 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query81.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query81.q.out @@ -327,16 +327,19 @@ STAGE PLANS: mode: complete outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: ((_col1 / _col2) * 1.2) (type: decimal(38,11)), _col0 (type: string) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Select Operator + expressions: ((_col1 / _col2) * 1.2) (type: decimal(38,11)), _col0 (type: string) + outputColumnNames: _col0, _col1 Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: decimal(38,11)) + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: decimal(38,11)) Reducer 2 Reduce Operator Tree: Join Operator @@ -445,12 +448,15 @@ STAGE PLANS: expressions: _col1 (type: int), _col0 (type: string), _col2 (type: decimal(17,2)) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 22000000 Data size: 22327357890 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Filter Operator + predicate: _col2 is not null (type: boolean) Statistics: Num rows: 22000000 Data size: 22327357890 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col2 (type: decimal(17,2)) + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 22000000 Data size: 22327357890 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col2 (type: decimal(17,2)) Stage: Stage-0 Fetch Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query92.q.out b/ql/src/test/results/clientpositive/perf/spark/query92.q.out index 535775a1bf..eed10afd4f 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query92.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query92.q.out @@ -124,20 +124,19 @@ STAGE PLANS: Stage: Stage-1 Spark Edges: - Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 261), Reducer 7 (PARTITION-LEVEL SORT, 261) + Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 255), Map 5 (PARTITION-LEVEL SORT, 255), Reducer 7 (PARTITION-LEVEL SORT, 255) Reducer 3 <- Reducer 2 (GROUP, 1) - Reducer 6 <- Map 5 (GROUP, 169) - Reducer 7 <- Map 9 (PARTITION-LEVEL SORT, 87), Reducer 6 (PARTITION-LEVEL SORT, 87) + Reducer 7 <- Map 6 (GROUP, 169) #### A masked pattern was here #### Vertices: Map 1 Map Operator Tree: TableScan alias: web_sales - filterExpr: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean) + filterExpr: (ws_item_sk is not null and ws_sold_date_sk is not null and ws_ext_discount_amt is not null) (type: boolean) Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean) + predicate: (ws_ext_discount_amt is not null and ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean) Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: ws_sold_date_sk (type: int), ws_item_sk (type: int), ws_ext_discount_amt (type: decimal(7,2)) @@ -163,6 +162,25 @@ STAGE PLANS: Local Work: Map Reduce Local Work Map 5 + Map Operator Tree: + TableScan + alias: item + filterExpr: ((i_manufact_id = 269) and i_item_sk is not null) (type: boolean) + Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: ((i_manufact_id = 269) and i_item_sk is not null) (type: boolean) + Statistics: Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: i_item_sk (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 231000 Data size: 331780228 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: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE + Execution mode: vectorized + Map 6 Map Operator Tree: TableScan alias: web_sales @@ -201,42 +219,25 @@ STAGE PLANS: Execution mode: vectorized Local Work: Map Reduce Local Work - Map 9 - Map Operator Tree: - TableScan - alias: item - filterExpr: ((i_manufact_id = 269) and i_item_sk is not null) (type: boolean) - Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((i_manufact_id = 269) and i_item_sk is not null) (type: boolean) - Statistics: Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: i_item_sk (type: int) - outputColumnNames: _col0 - Statistics: Num rows: 231000 Data size: 331780228 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: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE - Execution mode: vectorized Reducer 2 Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 + Inner Join 1 to 2 keys: 0 _col1 (type: int) - 1 _col2 (type: int) - outputColumnNames: _col2, _col5 - Statistics: Num rows: 174243235 Data size: 23692040863 Basic stats: COMPLETE Column stats: NONE + 1 _col0 (type: int) + 2 _col0 (type: int) + outputColumnNames: _col2, _col6 + Statistics: Num rows: 348486471 Data size: 47384081727 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col2 > _col5) (type: boolean) - Statistics: Num rows: 58081078 Data size: 7897346909 Basic stats: COMPLETE Column stats: NONE + predicate: (_col2 > _col6) (type: boolean) + Statistics: Num rows: 116162157 Data size: 15794693909 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col2 (type: decimal(7,2)) outputColumnNames: _col2 - Statistics: Num rows: 58081078 Data size: 7897346909 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 116162157 Data size: 15794693909 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: sum(_col2) minReductionHashAggr: 0.99 @@ -262,7 +263,7 @@ STAGE PLANS: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Reducer 6 + Reducer 7 Execution mode: vectorized Reduce Operator Tree: Group By Operator @@ -271,32 +272,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 79201469 Data size: 10769109250 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: int), CAST( (1.3 * (_col1 / _col2)) AS decimal(14,7)) (type: decimal(14,7)) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) Statistics: Num rows: 79201469 Data size: 10769109250 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) + Select Operator + expressions: _col0 (type: int), CAST( (1.3 * (_col1 / _col2)) AS decimal(14,7)) (type: decimal(14,7)) + outputColumnNames: _col0, _col1 Statistics: Num rows: 79201469 Data size: 10769109250 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: decimal(14,7)) - Reducer 7 - Reduce Operator Tree: - Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col0 (type: int) - 1 _col0 (type: int) - outputColumnNames: _col1, _col2 - Statistics: Num rows: 87121617 Data size: 11846020431 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col2 (type: int) - sort order: + - Map-reduce partition columns: _col2 (type: int) - Statistics: Num rows: 87121617 Data size: 11846020431 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: decimal(14,7)) + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 79201469 Data size: 10769109250 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: decimal(14,7)) Stage: Stage-0 Fetch Operator diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_ext_query1.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_ext_query1.q.out index bcd1f8dd20..30fc4bb823 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_ext_query1.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_ext_query1.q.out @@ -59,35 +59,37 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[AND(=($3, $7), >($4, $6))], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[AND(=($4, $7), >($5, $6))], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(c_customer_sk=[$0], c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveFilter(condition=[IS NOT NULL($0)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, customer]], table:alias=[customer]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(s_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveFilter(condition=[AND(=($24, _UTF-16LE'NM'), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, store]], table:alias=[store]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[IS NOT NULL($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### PREHOOK: query: explain cbo joincost with customer_total_return as @@ -150,33 +152,35 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[AND(=($3, $7), >($4, $6))], joinType=[inner], algorithm=[none], cost=[{415687.382770037 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[{8.00093932086143E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[AND(=($4, $7), >($5, $6))], joinType=[inner], algorithm=[none], cost=[{374952.69636986067 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[{8.000928883962971E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(c_customer_sk=[$0], c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveFilter(condition=[IS NOT NULL($0)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, customer]], table:alias=[customer]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[{460301.9976112889 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[{5.175767820386722E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[{455187.9173657213 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(s_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveFilter(condition=[AND(=($24, _UTF-16LE'NM'), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, store]], table:alias=[store]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[{5.3635511784936875E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[IS NOT NULL($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[{5.175767820386722E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[{5.3635511784936875E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query1.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query1.q.out index 9d0fa3a109..8421bc0bb1 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query1.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query1.q.out @@ -59,33 +59,35 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]) HiveProject(c_customer_id=[$1]) - HiveJoin(condition=[AND(=($3, $7), >($4, $6))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(=($4, $7), >($5, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(c_customer_sk=[$0], c_customer_id=[$1]) HiveFilter(condition=[IS NOT NULL($0)]) HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]) - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3))]) - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(s_store_sk=[$0]) HiveFilter(condition=[AND(=($24, _UTF-16LE'NM'), IS NOT NULL($0))]) HiveTableScan(table=[[default, store]], table:alias=[store]) - HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]) - HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]) - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]) - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3))]) + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) + HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]) + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]) + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query14.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query14.q.out index c85f42c4fd..67f1d68b42 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query14.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query14.q.out @@ -1,6 +1,9 @@ -Warning: Shuffle Join MERGEJOIN[1164][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 6' is a cross product -Warning: Shuffle Join MERGEJOIN[1171][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 16' is a cross product -Warning: Shuffle Join MERGEJOIN[1178][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 22' is a cross product +Warning: Shuffle Join MERGEJOIN[1449][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 5' is a cross product +Warning: Shuffle Join MERGEJOIN[1461][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[1451][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 13' is a cross product +Warning: Shuffle Join MERGEJOIN[1474][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 14' is a cross product +Warning: Shuffle Join MERGEJOIN[1453][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 18' is a cross product +Warning: Shuffle Join MERGEJOIN[1487][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 19' is a cross product PREHOOK: query: explain cbo with cross_items as (select i_item_sk ss_item_sk @@ -226,285 +229,396 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[ HiveProject(channel=[$0], i_brand_id=[$1], i_class_id=[$2], i_category_id=[$3], sales=[$4], number_sales=[$5]) HiveUnion(all=[true]) HiveProject(channel=[_UTF-16LE'store'], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4]) - HiveJoin(condition=[>($3, $5)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[>($3, $6)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3], $f4=[$4]) - HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()]) - HiveProject(i_brand_id=[$1], i_class_id=[$2], i_category_id=[$3], $f3=[*(CAST($6):DECIMAL(10, 0), $7)]) - HiveSemiJoin(condition=[=($5, $9)], joinType=[inner]) - HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_quantity=[$10], ss_list_price=[$12]) - HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($0))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(=($6, 2000), =($8, 11), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(i_item_sk=[$0]) - HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()]) + HiveProject(i_brand_id=[$1], i_class_id=[$2], i_category_id=[$3], $f3=[*(CAST($6):DECIMAL(10, 0), $7)]) + HiveSemiJoin(condition=[=($5, $9)], joinType=[inner]) + HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($0))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject($f0=[$0], $f1=[$1], $f2=[$2]) - HiveFilter(condition=[=($3, 3)]) - HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveUnion(all=[true]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2]) - HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($0))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[iss]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15]) - HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[ics]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[iws]) - HiveProject($f0=[/($0, $1)]) - HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) - HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) - HiveUnion(all=[true]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($0))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(=($6, 2000), =($8, 11), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(i_item_sk=[$0]) + HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($0))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject($f0=[$0], $f1=[$1], $f2=[$2]) + HiveFilter(condition=[=($3, 3)]) + HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveUnion(all=[true]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2]) + HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($0))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[iss]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15]) + HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[ics]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[iws]) + HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cnt=[$0]) + HiveFilter(condition=[<=(sq_count_check($0), 1)]) + HiveProject(cnt=[$0]) + HiveAggregate(group=[{}], cnt=[COUNT()]) + HiveProject + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[count($0)]) + HiveProject(quantity=[$0], list_price=[$1]) + HiveUnion(all=[true]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject($f0=[/($0, $1)]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[$0], $f1=[$1]) + HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) + HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) + HiveUnion(all=[true]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) HiveProject(channel=[_UTF-16LE'catalog'], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4]) - HiveJoin(condition=[>($3, $5)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[>($3, $6)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3], $f4=[$4]) - HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()]) - HiveProject(i_brand_id=[$1], i_class_id=[$2], i_category_id=[$3], $f3=[*(CAST($6):DECIMAL(10, 0), $7)]) - HiveSemiJoin(condition=[=($5, $9)], joinType=[inner]) - HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_quantity=[$18], cs_list_price=[$20]) - HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(=($6, 2000), =($8, 11), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(i_item_sk=[$0]) - HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()]) + HiveProject(i_brand_id=[$1], i_class_id=[$2], i_category_id=[$3], $f3=[*(CAST($6):DECIMAL(10, 0), $7)]) + HiveSemiJoin(condition=[=($5, $9)], joinType=[inner]) + HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($0))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject($f0=[$0], $f1=[$1], $f2=[$2]) - HiveFilter(condition=[=($3, 3)]) - HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveUnion(all=[true]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2]) - HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($0))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[iss]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15]) - HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[ics]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[iws]) - HiveProject($f0=[/($0, $1)]) - HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) - HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) - HiveUnion(all=[true]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(=($6, 2000), =($8, 11), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(i_item_sk=[$0]) + HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($0))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject($f0=[$0], $f1=[$1], $f2=[$2]) + HiveFilter(condition=[=($3, 3)]) + HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveUnion(all=[true]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2]) + HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($0))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[iss]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15]) + HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[ics]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[iws]) + HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cnt=[$0]) + HiveFilter(condition=[<=(sq_count_check($0), 1)]) + HiveProject(cnt=[$0]) + HiveAggregate(group=[{}], cnt=[COUNT()]) + HiveProject + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[count($0)]) + HiveProject(quantity=[$0], list_price=[$1]) + HiveUnion(all=[true]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject($f0=[/($0, $1)]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[$0], $f1=[$1]) + HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) + HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) + HiveUnion(all=[true]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) HiveProject(channel=[_UTF-16LE'web'], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4]) - HiveJoin(condition=[>($3, $5)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[>($3, $6)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3], $f4=[$4]) - HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()]) - HiveProject(i_brand_id=[$1], i_class_id=[$2], i_category_id=[$3], $f3=[*(CAST($6):DECIMAL(10, 0), $7)]) - HiveSemiJoin(condition=[=($5, $9)], joinType=[inner]) - HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_quantity=[$18], ws_list_price=[$20]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(=($6, 2000), =($8, 11), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(i_item_sk=[$0]) - HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()]) + HiveProject(i_brand_id=[$1], i_class_id=[$2], i_category_id=[$3], $f3=[*(CAST($6):DECIMAL(10, 0), $7)]) + HiveSemiJoin(condition=[=($5, $9)], joinType=[inner]) + HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($0))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject($f0=[$0], $f1=[$1], $f2=[$2]) - HiveFilter(condition=[=($3, 3)]) - HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveUnion(all=[true]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2]) - HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($0))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[iss]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15]) - HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[ics]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[iws]) - HiveProject($f0=[/($0, $1)]) - HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) - HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) - HiveUnion(all=[true]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(=($6, 2000), =($8, 11), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(i_item_sk=[$0]) + HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($0))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject($f0=[$0], $f1=[$1], $f2=[$2]) + HiveFilter(condition=[=($3, 3)]) + HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveUnion(all=[true]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2]) + HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($0))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[iss]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15]) + HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[ics]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[iws]) + HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cnt=[$0]) + HiveFilter(condition=[<=(sq_count_check($0), 1)]) + HiveProject(cnt=[$0]) + HiveAggregate(group=[{}], cnt=[COUNT()]) + HiveProject + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[count($0)]) + HiveProject(quantity=[$0], list_price=[$1]) + HiveUnion(all=[true]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject($f0=[/($0, $1)]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[$0], $f1=[$1]) + HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) + HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) + HiveUnion(all=[true]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query23.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query23.q.out index 377b587654..51b8c3495f 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query23.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query23.q.out @@ -1,7 +1,7 @@ -Warning: Shuffle Join MERGEJOIN[582][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 27' is a cross product -Warning: Shuffle Join MERGEJOIN[583][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 28' is a cross product -Warning: Shuffle Join MERGEJOIN[585][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 31' is a cross product -Warning: Shuffle Join MERGEJOIN[586][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 32' is a cross product +Warning: Shuffle Join MERGEJOIN[592][tables = [$hdt$_3, $hdt$_4]] in Stage 'Reducer 27' is a cross product +Warning: Shuffle Join MERGEJOIN[593][tables = [$hdt$_3, $hdt$_4, $hdt$_5]] in Stage 'Reducer 28' is a cross product +Warning: Shuffle Join MERGEJOIN[595][tables = [$hdt$_3, $hdt$_4]] in Stage 'Reducer 31' is a cross product +Warning: Shuffle Join MERGEJOIN[596][tables = [$hdt$_3, $hdt$_4, $hdt$_5]] in Stage 'Reducer 32' is a cross product PREHOOK: query: explain cbo with frequent_ss_items as (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt @@ -122,55 +122,8 @@ CBO PLAN: HiveAggregate(group=[{}], agg#0=[sum($0)]) HiveProject(sales=[$0]) HiveUnion(all=[true]) - HiveProject(sales=[*(CAST($5):DECIMAL(10, 0), $6)]) - HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject($f0=[$0]) - HiveJoin(condition=[>($1, *(0.95, $3))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0], $f1=[$1]) - HiveAggregate(group=[{2}], agg#0=[sum($1)]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_customer_sk=[$3], *=[*(CAST($10):DECIMAL(10, 0), $13)]) - HiveFilter(condition=[IS NOT NULL($3)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(c_customer_sk=[$0]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cnt=[$0]) - HiveFilter(condition=[<=(sq_count_check($0), 1)]) - HiveProject(cnt=[$0]) - HiveAggregate(group=[{}], cnt=[COUNT()]) - HiveProject - HiveProject($f0=[$0]) - HiveAggregate(group=[{}], agg#0=[count($0)]) - HiveProject(c_customer_sk=[$0], $f1=[$1]) - HiveAggregate(group=[{0}], agg#0=[sum($3)]) - HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], *=[*(CAST($10):DECIMAL(10, 0), $13)]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(IN($6, 1999, 2000, 2001, 2002), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[$0]) - HiveAggregate(group=[{}], agg#0=[max($1)]) - HiveProject(c_customer_sk=[$0], $f1=[$1]) - HiveAggregate(group=[{0}], agg#0=[sum($3)]) - HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], *=[*(CAST($10):DECIMAL(10, 0), $13)]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(IN($6, 1999, 2000, 2001, 2002), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(sales=[*(CAST($4):DECIMAL(10, 0), $5)]) + HiveSemiJoin(condition=[=($2, $7)], joinType=[inner]) HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0]) HiveAggregate(group=[{1}]) @@ -195,19 +148,8 @@ HiveAggregate(group=[{}], agg#0=[sum($0)]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(=($6, 1999), =($8, 1), IS NOT NULL($0))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(sales=[*(CAST($5):DECIMAL(10, 0), $6)]) - HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject($f0=[$0]) - HiveJoin(condition=[>($1, *(0.95, $3))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0], $f1=[$1]) - HiveAggregate(group=[{2}], agg#0=[sum($1)]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_customer_sk=[$3], *=[*(CAST($10):DECIMAL(10, 0), $13)]) - HiveFilter(condition=[IS NOT NULL($3)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(c_customer_sk=[$0]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveProject(c_customer_sk=[$2]) + HiveJoin(condition=[>($3, $1)], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(cnt=[$0]) HiveFilter(condition=[<=(sq_count_check($0), 1)]) @@ -229,21 +171,35 @@ HiveAggregate(group=[{}], agg#0=[sum($0)]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(IN($6, 1999, 2000, 2001, 2002), IS NOT NULL($0))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[$0]) - HiveAggregate(group=[{}], agg#0=[max($1)]) - HiveProject(c_customer_sk=[$0], $f1=[$1]) - HiveAggregate(group=[{0}], agg#0=[sum($3)]) - HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], *=[*(CAST($10):DECIMAL(10, 0), $13)]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(IN($6, 1999, 2000, 2001, 2002), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(*=[*(0.95, $0)]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[max($1)]) + HiveProject(c_customer_sk=[$0], $f1=[$1]) + HiveAggregate(group=[{0}], agg#0=[sum($3)]) + HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(c_customer_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], *=[*(CAST($10):DECIMAL(10, 0), $13)]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(IN($6, 1999, 2000, 2001, 2002), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(c_customer_sk=[$0], $f1=[$1]) + HiveFilter(condition=[IS NOT NULL($1)]) + HiveAggregate(group=[{2}], agg#0=[sum($1)]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_customer_sk=[$3], *=[*(CAST($10):DECIMAL(10, 0), $13)]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(c_customer_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveProject(sales=[*(CAST($4):DECIMAL(10, 0), $5)]) + HiveSemiJoin(condition=[=($3, $7)], joinType=[inner]) HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0]) HiveAggregate(group=[{1}]) @@ -268,4 +224,54 @@ HiveAggregate(group=[{}], agg#0=[sum($0)]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(=($6, 1999), =($8, 1), IS NOT NULL($0))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(c_customer_sk=[$2]) + HiveJoin(condition=[>($3, $1)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cnt=[$0]) + HiveFilter(condition=[<=(sq_count_check($0), 1)]) + HiveProject(cnt=[$0]) + HiveAggregate(group=[{}], cnt=[COUNT()]) + HiveProject + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[count($0)]) + HiveProject(c_customer_sk=[$0], $f1=[$1]) + HiveAggregate(group=[{0}], agg#0=[sum($3)]) + HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(c_customer_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], *=[*(CAST($10):DECIMAL(10, 0), $13)]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(IN($6, 1999, 2000, 2001, 2002), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(*=[*(0.95, $0)]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[max($1)]) + HiveProject(c_customer_sk=[$0], $f1=[$1]) + HiveAggregate(group=[{0}], agg#0=[sum($3)]) + HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(c_customer_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], *=[*(CAST($10):DECIMAL(10, 0), $13)]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(IN($6, 1999, 2000, 2001, 2002), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(c_customer_sk=[$0], $f1=[$1]) + HiveFilter(condition=[IS NOT NULL($1)]) + HiveAggregate(group=[{2}], agg#0=[sum($1)]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_customer_sk=[$3], *=[*(CAST($10):DECIMAL(10, 0), $13)]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(c_customer_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query24.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query24.q.out index 3add88ad25..7930ace344 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query24.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query24.q.out @@ -1,4 +1,4 @@ -Warning: Shuffle Join MERGEJOIN[301][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[305][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 6' is a cross product PREHOOK: query: explain cbo with ssales as (select c_last_name @@ -116,59 +116,63 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3]) HiveJoin(condition=[>($3, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_last_name=[$1], c_first_name=[$0], s_store_name=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 7}], agg#0=[sum($9)]) - HiveProject(i_current_price=[$0], i_size=[$1], i_units=[$2], i_manager_id=[$3], c_first_name=[$4], c_last_name=[$5], ca_state=[$6], s_store_name=[$7], s_state=[$8], $f9=[$9]) - HiveAggregate(group=[{8, 9, 10, 11, 14, 15, 18, 22, 23}], agg#0=[sum($6)]) - HiveJoin(condition=[AND(=($5, $1), =($2, $0))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) - HiveFilter(condition=[AND(IS NOT NULL($9), IS NOT NULL($2))]) - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) - HiveJoin(condition=[AND(=($1, $10), =($2, $19))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_sales_price=[$13]) - HiveFilter(condition=[AND(IS NOT NULL($9), IS NOT NULL($2), IS NOT NULL($7), IS NOT NULL($3))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(i_item_sk=[$0], i_current_price=[$5], i_size=[$15], i_units=[$18], i_manager_id=[$20]) - HiveFilter(condition=[AND(=($17, _UTF-16LE'orchid'), IS NOT NULL($0))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$1], c_first_name=[$2], c_last_name=[$3], c_birth_country=[$4], ca_address_sk=[$5], ca_state=[$6], ca_zip=[$7], UPPER=[$8], s_store_sk=[$9], s_store_name=[$10], s_state=[$11], s_zip=[$12]) - HiveJoin(condition=[AND(=($1, $5), <>($4, $8))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4], c_first_name=[$8], c_last_name=[$9], c_birth_country=[$14]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($4))]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveJoin(condition=[=($7, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ca_address_sk=[$0], ca_state=[$8], ca_zip=[$9], UPPER=[UPPER($10)]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($9))]) - HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) - HiveProject(s_store_sk=[$0], s_store_name=[$5], s_state=[$24], s_zip=[$25]) - HiveFilter(condition=[AND(=($10, 7), IS NOT NULL($0), IS NOT NULL($25))]) - HiveTableScan(table=[[default, store]], table:alias=[store]) + HiveProject(c_last_name=[$0], c_first_name=[$1], s_store_name=[$2], $f3=[$3]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveProject(c_last_name=[$1], c_first_name=[$0], s_store_name=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 7}], agg#0=[sum($9)]) + HiveProject(i_current_price=[$0], i_size=[$1], i_units=[$2], i_manager_id=[$3], c_first_name=[$4], c_last_name=[$5], ca_state=[$6], s_store_name=[$7], s_state=[$8], $f9=[$9]) + HiveAggregate(group=[{8, 9, 10, 11, 14, 15, 18, 22, 23}], agg#0=[sum($6)]) + HiveJoin(condition=[AND(=($5, $1), =($2, $0))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) + HiveFilter(condition=[AND(IS NOT NULL($9), IS NOT NULL($2))]) + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) + HiveJoin(condition=[AND(=($1, $10), =($2, $19))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_sales_price=[$13]) + HiveFilter(condition=[AND(IS NOT NULL($9), IS NOT NULL($2), IS NOT NULL($7), IS NOT NULL($3))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(i_item_sk=[$0], i_current_price=[$5], i_size=[$15], i_units=[$18], i_manager_id=[$20]) + HiveFilter(condition=[AND(=($17, _UTF-16LE'orchid'), IS NOT NULL($0))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$1], c_first_name=[$2], c_last_name=[$3], c_birth_country=[$4], ca_address_sk=[$5], ca_state=[$6], ca_zip=[$7], UPPER=[$8], s_store_sk=[$9], s_store_name=[$10], s_state=[$11], s_zip=[$12]) + HiveJoin(condition=[AND(=($1, $5), <>($4, $8))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4], c_first_name=[$8], c_last_name=[$9], c_birth_country=[$14]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($4))]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveJoin(condition=[=($7, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ca_address_sk=[$0], ca_state=[$8], ca_zip=[$9], UPPER=[UPPER($10)]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($9))]) + HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) + HiveProject(s_store_sk=[$0], s_store_name=[$5], s_state=[$24], s_zip=[$25]) + HiveFilter(condition=[AND(=($10, 7), IS NOT NULL($0), IS NOT NULL($25))]) + HiveTableScan(table=[[default, store]], table:alias=[store]) HiveProject(_o__c0=[*(0.05, /($0, $1))]) - HiveAggregate(group=[{}], agg#0=[sum($10)], agg#1=[count($10)]) - HiveProject(c_first_name=[$0], c_last_name=[$1], ca_state=[$2], s_store_name=[$3], s_state=[$4], i_current_price=[$5], i_size=[$6], i_color=[$7], i_units=[$8], i_manager_id=[$9], $f10=[$10]) - HiveAggregate(group=[{7, 8, 11, 15, 16, 19, 20, 21, 22, 23}], agg#0=[sum($4)]) - HiveJoin(condition=[AND(=($3, $25), =($0, $24))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $18)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[AND(=($1, $5), =($2, $14))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_sales_price=[$13]) - HiveFilter(condition=[AND(IS NOT NULL($9), IS NOT NULL($2), IS NOT NULL($7), IS NOT NULL($3))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveJoin(condition=[AND(=($1, $5), <>($4, $8))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4], c_first_name=[$8], c_last_name=[$9], c_birth_country=[$14]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($4))]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveJoin(condition=[=($7, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ca_address_sk=[$0], ca_state=[$8], ca_zip=[$9], UPPER=[UPPER($10)]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($9))]) - HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) - HiveProject(s_store_sk=[$0], s_store_name=[$5], s_state=[$24], s_zip=[$25]) - HiveFilter(condition=[AND(=($10, 7), IS NOT NULL($0), IS NOT NULL($25))]) - HiveTableScan(table=[[default, store]], table:alias=[store]) - HiveProject(i_item_sk=[$0], i_current_price=[$5], i_size=[$15], i_color=[$17], i_units=[$18], i_manager_id=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) - HiveFilter(condition=[AND(IS NOT NULL($9), IS NOT NULL($2))]) - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[$0], $f1=[$1]) + HiveAggregate(group=[{}], agg#0=[sum($10)], agg#1=[count($10)]) + HiveProject(c_first_name=[$0], c_last_name=[$1], ca_state=[$2], s_store_name=[$3], s_state=[$4], i_current_price=[$5], i_size=[$6], i_color=[$7], i_units=[$8], i_manager_id=[$9], $f10=[$10]) + HiveAggregate(group=[{7, 8, 11, 15, 16, 19, 20, 21, 22, 23}], agg#0=[sum($4)]) + HiveJoin(condition=[AND(=($3, $25), =($0, $24))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $18)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(=($1, $5), =($2, $14))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_sales_price=[$13]) + HiveFilter(condition=[AND(IS NOT NULL($9), IS NOT NULL($2), IS NOT NULL($7), IS NOT NULL($3))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveJoin(condition=[AND(=($1, $5), <>($4, $8))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4], c_first_name=[$8], c_last_name=[$9], c_birth_country=[$14]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($4))]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveJoin(condition=[=($7, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ca_address_sk=[$0], ca_state=[$8], ca_zip=[$9], UPPER=[UPPER($10)]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($9))]) + HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) + HiveProject(s_store_sk=[$0], s_store_name=[$5], s_state=[$24], s_zip=[$25]) + HiveFilter(condition=[AND(=($10, 7), IS NOT NULL($0), IS NOT NULL($25))]) + HiveTableScan(table=[[default, store]], table:alias=[store]) + HiveProject(i_item_sk=[$0], i_current_price=[$5], i_size=[$15], i_color=[$17], i_units=[$18], i_manager_id=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) + HiveFilter(condition=[AND(IS NOT NULL($9), IS NOT NULL($2))]) + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query30.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query30.q.out index 02e26a7c10..8f1a30f517 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query30.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query30.q.out @@ -81,22 +81,9 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5= HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) HiveProject(wr_returning_customer_sk=[$0], ca_state=[$1], $f2=[$2], _o__c0=[$3], ctr_state=[$4]) HiveJoin(condition=[AND(=($1, $4), >($2, $3))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(wr_returning_customer_sk=[$1], ca_state=[$0], $f2=[$2]) - HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) - HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ca_address_sk=[$0], ca_state=[$8]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($8))]) - HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(wr_returned_date_sk=[$0], wr_returning_customer_sk=[$7], wr_returning_addr_sk=[$10], wr_return_amt=[$15]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10), IS NOT NULL($7))]) - HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(=($6, 2002), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_state=[$0]) - HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)]) - HiveProject(ca_state=[$0], wr_returning_customer_sk=[$1], $f2=[$2]) + HiveProject(wr_returning_customer_sk=[$0], ca_state=[$1], $f2=[$2]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveProject(wr_returning_customer_sk=[$1], ca_state=[$0], $f2=[$2]) HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(ca_address_sk=[$0], ca_state=[$8]) @@ -104,9 +91,25 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5= HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(wr_returned_date_sk=[$0], wr_returning_customer_sk=[$7], wr_returning_addr_sk=[$10], wr_return_amt=[$15]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10))]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10), IS NOT NULL($7))]) HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(=($6, 2002), IS NOT NULL($0))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_state=[$0]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)]) + HiveProject(ca_state=[$0], wr_returning_customer_sk=[$1], $f2=[$2]) + HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) + HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ca_address_sk=[$0], ca_state=[$8]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($8))]) + HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(wr_returned_date_sk=[$0], wr_returning_customer_sk=[$7], wr_returning_addr_sk=[$10], wr_return_amt=[$15]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10))]) + HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(=($6, 2002), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query32.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query32.q.out index fc353fb02b..6a454c6f45 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query32.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query32.q.out @@ -62,26 +62,26 @@ POSTHOOK: Input: default@item POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveAggregate(group=[{}], agg#0=[sum($2)]) - HiveJoin(condition=[AND(>($2, $5), =($6, $1))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_discount_amt=[$22]) - HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(cs_item_sk=[$0], CAST=[$1], i_item_sk=[$2]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_item_sk=[$0], CAST=[CAST(*(1.3, /($1, $2))):DECIMAL(14, 7)]) - HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) - HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_discount_amt=[$22]) - HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(i_item_sk=[$0]) - HiveFilter(condition=[AND(=($13, 269), IS NOT NULL($0))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveJoin(condition=[AND(=($5, $4), >($2, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($4, $1)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_discount_amt=[$22]) + HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0), IS NOT NULL($22))]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(i_item_sk=[$0]) + HiveFilter(condition=[AND(=($13, 269), IS NOT NULL($0))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject(cs_item_sk=[$0], CAST=[CAST(*(1.3, /($1, $2))):DECIMAL(14, 7)]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_discount_amt=[$22]) + HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query54.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query54.q.out index 39b6a6be15..f6df41c1fd 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query54.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query54.q.out @@ -146,7 +146,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100]) HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) HiveProject(d_date_sk=[$0], d_month_seq=[$3]) - HiveFilter(condition=[IS NOT NULL($0)]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($3))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) HiveProject(ca_address_sk=[$0], ca_county=[$1], ca_state=[$2], s_county=[$3], s_state=[$4], c_customer_sk=[$5], c_current_addr_sk=[$6]) HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available]) @@ -200,11 +200,11 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100]) HiveProject($f0=[$0]) HiveAggregate(group=[{0}]) HiveProject($f0=[+($3, 1)]) - HiveFilter(condition=[AND(=($6, 1999), =($8, 3))]) + HiveFilter(condition=[AND(=($6, 1999), =($8, 3), IS NOT NULL($3))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) HiveProject($f0=[$0]) HiveAggregate(group=[{0}]) HiveProject($f0=[+($3, 3)]) - HiveFilter(condition=[AND(=($6, 1999), =($8, 3))]) + HiveFilter(condition=[AND(=($6, 1999), =($8, 3), IS NOT NULL($3))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query6.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query6.q.out index f502c004cf..7c31774a80 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query6.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query6.q.out @@ -1,4 +1,4 @@ -Warning: Map Join MAPJOIN[171][bigTable=?] in task 'Reducer 15' is a cross product +Warning: Map Join MAPJOIN[172][bigTable=?] in task 'Reducer 15' is a cross product PREHOOK: query: explain cbo select a.ca_state state, count(*) cnt from customer_address a @@ -91,13 +91,14 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100]) HiveProject(i_item_sk=[$0], i_current_price=[$1], i_category=[$2], i_category0=[$3], *=[$4], cnt=[$5]) HiveJoin(condition=[AND(=($3, $2), >($1, $4))], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0], i_current_price=[$5], i_category=[$12]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($12))]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($12), IS NOT NULL($5))]) HiveTableScan(table=[[default, item]], table:alias=[i]) HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_category=[$0], *=[*(1.2, CAST(/($1, $2)):DECIMAL(16, 6))]) - HiveAggregate(group=[{12}], agg#0=[sum($5)], agg#1=[count($5)]) - HiveFilter(condition=[IS NOT NULL($12)]) - HiveTableScan(table=[[default, item]], table:alias=[j]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{12}], agg#0=[sum($5)], agg#1=[count($5)]) + HiveFilter(condition=[IS NOT NULL($12)]) + HiveTableScan(table=[[default, item]], table:alias=[j]) HiveProject(cnt=[$0]) HiveFilter(condition=[<=(sq_count_check($0), 1)]) HiveProject(cnt=[$0]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query64.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query64.q.out index 356778b4a7..4d60c19af1 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query64.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query64.q.out @@ -267,168 +267,172 @@ HiveProject(product_name=[$0], store_name=[$1], store_zip=[$2], b_street_number= HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$18], dir0=[ASC], dir1=[ASC], dir2=[ASC]) HiveProject(product_name=[$0], store_name=[$2], store_zip=[$3], b_street_number=[$4], b_streen_name=[$5], b_city=[$6], b_zip=[$7], c_street_number=[$8], c_street_name=[$9], c_city=[$10], c_zip=[$11], cnt=[$12], s1=[$13], s2=[$14], s3=[$15], s11=[$20], s21=[$21], s31=[$22], cnt1=[$19]) HiveJoin(condition=[AND(AND(AND(=($1, $16), <=($19, $12)), =($2, $17)), =($3, $18))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject($f0=[$13], $f1=[$12], $f2=[$10], $f3=[$11], $f4=[$6], $f5=[$7], $f6=[$8], $f7=[$9], $f8=[$2], $f9=[$3], $f10=[$4], $f11=[$5], $f15=[$14], $f16=[$15], $f17=[$16], $f18=[$17]) - HiveAggregate(group=[{9, 11, 16, 17, 18, 19, 25, 26, 27, 28, 30, 31, 47, 48}], agg#0=[count()], agg#1=[sum($44)], agg#2=[sum($45)], agg#3=[sum($46)]) - HiveJoin(condition=[=($33, $51)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[AND(<>($1, $21), =($38, $0))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd1]) - HiveJoin(condition=[=($35, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($1, $18)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($3, $13)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($2, $10)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($4, $8)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($5, $6)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0], c_current_cdemo_sk=[$2], c_current_hdemo_sk=[$3], c_current_addr_sk=[$4], c_first_shipto_date_sk=[$5], c_first_sales_date_sk=[$6]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($6), IS NOT NULL($5), IS NOT NULL($2), IS NOT NULL($3), IS NOT NULL($4))]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveProject(d_date_sk=[$0], d_year=[$6]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) - HiveProject(d_date_sk=[$0], d_year=[$6]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) - HiveProject(hd_demo_sk=[$0], hd_income_band_sk=[$1], ib_income_band_sk=[$2]) - HiveJoin(condition=[=($1, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(hd_demo_sk=[$0], hd_income_band_sk=[$1]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) - HiveTableScan(table=[[default, household_demographics]], table:alias=[hd2]) - HiveProject(ib_income_band_sk=[$0]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, income_band]], table:alias=[ib2]) - HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer_address]], table:alias=[ad2]) + HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7], $f8=[$8], $f9=[$9], $f10=[$10], $f11=[$11], $f15=[$14], $f16=[$15], $f17=[$16], $f18=[$17]) + HiveFilter(condition=[IS NOT NULL($14)]) + HiveProject(i_product_name=[$13], i_item_sk=[$12], s_store_name=[$10], s_zip=[$11], ca_street_number=[$6], ca_street_name=[$7], ca_city=[$8], ca_zip=[$9], ca_street_number0=[$2], ca_street_name0=[$3], ca_city0=[$4], ca_zip0=[$5], d_year=[$0], d_year0=[$1], $f14=[$14], $f15=[$15], $f16=[$16], $f17=[$17]) + HiveAggregate(group=[{9, 11, 16, 17, 18, 19, 25, 26, 27, 28, 30, 31, 47, 48}], agg#0=[count()], agg#1=[sum($44)], agg#2=[sum($45)], agg#3=[sum($46)]) + HiveJoin(condition=[=($33, $51)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(<>($1, $21), =($38, $0))], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd2]) - HiveProject(sr_item_sk=[$0], sr_ticket_number=[$1], ca_address_sk=[$2], ca_street_number=[$3], ca_street_name=[$4], ca_city=[$5], ca_zip=[$6], s_store_sk=[$7], s_store_name=[$8], s_zip=[$9], hd_demo_sk=[$10], hd_income_band_sk=[$11], p_promo_sk=[$12], ss_sold_date_sk=[$13], ss_item_sk=[$14], ss_customer_sk=[$15], ss_cdemo_sk=[$16], ss_hdemo_sk=[$17], ss_addr_sk=[$18], ss_store_sk=[$19], ss_promo_sk=[$20], ss_ticket_number=[$21], ss_wholesale_cost=[$22], ss_list_price=[$23], ss_coupon_amt=[$24], i_item_sk=[$25], i_product_name=[$26], d_date_sk=[$27], $f0=[$28]) - HiveJoin(condition=[AND(=($14, $0), =($21, $1))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) - HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($9))]) - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) - HiveJoin(condition=[=($16, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer_address]], table:alias=[ad1]) - HiveJoin(condition=[=($12, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(s_store_sk=[$0], s_store_name=[$5], s_zip=[$25]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($5), IS NOT NULL($25))]) - HiveTableScan(table=[[default, store]], table:alias=[store]) - HiveJoin(condition=[=($7, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(hd_demo_sk=[$0], hd_income_band_sk=[$1]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) - HiveTableScan(table=[[default, household_demographics]], table:alias=[hd1]) - HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(p_promo_sk=[$0]) + HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd1]) + HiveJoin(condition=[=($35, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($1, $18)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($3, $13)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($2, $10)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($4, $8)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($5, $6)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(c_customer_sk=[$0], c_current_cdemo_sk=[$2], c_current_hdemo_sk=[$3], c_current_addr_sk=[$4], c_first_shipto_date_sk=[$5], c_first_sales_date_sk=[$6]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($6), IS NOT NULL($5), IS NOT NULL($2), IS NOT NULL($3), IS NOT NULL($4))]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveProject(d_date_sk=[$0], d_year=[$6]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) + HiveProject(d_date_sk=[$0], d_year=[$6]) HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, promotion]], table:alias=[promotion]) - HiveJoin(condition=[=($1, $15)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $14)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($1, $12)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_promo_sk=[$8], ss_ticket_number=[$9], ss_wholesale_cost=[$11], ss_list_price=[$12], ss_coupon_amt=[$19]) - HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($9), IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3), IS NOT NULL($4), IS NOT NULL($8), IS NOT NULL($5), IS NOT NULL($6))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(i_item_sk=[$0], i_product_name=[$21]) - HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36, 45), IS NOT NULL($0))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) - HiveProject($f0=[$0]) - HiveFilter(condition=[>($1, *(2, $2))]) - HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[sum($5)]) - HiveJoin(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_item_sk=[$15], cs_order_number=[$17], cs_ext_list_price=[$25]) - HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($17))]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(cr_item_sk=[$2], cr_order_number=[$16], +=[+(+($23, $24), $25)]) - HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($16))]) - HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) - HiveProject(ib_income_band_sk=[$0]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, income_band]], table:alias=[ib1]) - HiveProject($f1=[$12], $f2=[$10], $f3=[$11], $f15=[$14], $f16=[$15], $f17=[$16], $f18=[$17]) - HiveAggregate(group=[{9, 11, 16, 17, 18, 19, 25, 26, 27, 28, 30, 31, 47, 48}], agg#0=[count()], agg#1=[sum($44)], agg#2=[sum($45)], agg#3=[sum($46)]) - HiveJoin(condition=[=($33, $51)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[AND(<>($1, $21), =($38, $0))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd1]) - HiveJoin(condition=[=($35, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($1, $18)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($3, $13)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($2, $10)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($4, $8)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($5, $6)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0], c_current_cdemo_sk=[$2], c_current_hdemo_sk=[$3], c_current_addr_sk=[$4], c_first_shipto_date_sk=[$5], c_first_sales_date_sk=[$6]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($6), IS NOT NULL($5), IS NOT NULL($2), IS NOT NULL($3), IS NOT NULL($4))]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveProject(d_date_sk=[$0], d_year=[$6]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) - HiveProject(d_date_sk=[$0], d_year=[$6]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) + HiveProject(hd_demo_sk=[$0], hd_income_band_sk=[$1], ib_income_band_sk=[$2]) + HiveJoin(condition=[=($1, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(hd_demo_sk=[$0], hd_income_band_sk=[$1]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveTableScan(table=[[default, household_demographics]], table:alias=[hd2]) + HiveProject(ib_income_band_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, income_band]], table:alias=[ib2]) + HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) - HiveProject(hd_demo_sk=[$0], hd_income_band_sk=[$1], ib_income_band_sk=[$2]) - HiveJoin(condition=[=($1, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(hd_demo_sk=[$0], hd_income_band_sk=[$1]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) - HiveTableScan(table=[[default, household_demographics]], table:alias=[hd2]) - HiveProject(ib_income_band_sk=[$0]) + HiveTableScan(table=[[default, customer_address]], table:alias=[ad2]) + HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd2]) + HiveProject(sr_item_sk=[$0], sr_ticket_number=[$1], ca_address_sk=[$2], ca_street_number=[$3], ca_street_name=[$4], ca_city=[$5], ca_zip=[$6], s_store_sk=[$7], s_store_name=[$8], s_zip=[$9], hd_demo_sk=[$10], hd_income_band_sk=[$11], p_promo_sk=[$12], ss_sold_date_sk=[$13], ss_item_sk=[$14], ss_customer_sk=[$15], ss_cdemo_sk=[$16], ss_hdemo_sk=[$17], ss_addr_sk=[$18], ss_store_sk=[$19], ss_promo_sk=[$20], ss_ticket_number=[$21], ss_wholesale_cost=[$22], ss_list_price=[$23], ss_coupon_amt=[$24], i_item_sk=[$25], i_product_name=[$26], d_date_sk=[$27], $f0=[$28]) + HiveJoin(condition=[AND(=($14, $0), =($21, $1))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) + HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($9))]) + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) + HiveJoin(condition=[=($16, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, income_band]], table:alias=[ib2]) - HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer_address]], table:alias=[ad2]) + HiveTableScan(table=[[default, customer_address]], table:alias=[ad1]) + HiveJoin(condition=[=($12, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(s_store_sk=[$0], s_store_name=[$5], s_zip=[$25]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($5), IS NOT NULL($25))]) + HiveTableScan(table=[[default, store]], table:alias=[store]) + HiveJoin(condition=[=($7, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(hd_demo_sk=[$0], hd_income_band_sk=[$1]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveTableScan(table=[[default, household_demographics]], table:alias=[hd1]) + HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(p_promo_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, promotion]], table:alias=[promotion]) + HiveJoin(condition=[=($1, $15)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $14)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($1, $12)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_promo_sk=[$8], ss_ticket_number=[$9], ss_wholesale_cost=[$11], ss_list_price=[$12], ss_coupon_amt=[$19]) + HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($9), IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3), IS NOT NULL($4), IS NOT NULL($8), IS NOT NULL($5), IS NOT NULL($6))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(i_item_sk=[$0], i_product_name=[$21]) + HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36, 45), IS NOT NULL($0))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) + HiveProject($f0=[$0]) + HiveFilter(condition=[>($1, *(2, $2))]) + HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[sum($5)]) + HiveJoin(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_item_sk=[$15], cs_order_number=[$17], cs_ext_list_price=[$25]) + HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($17))]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(cr_item_sk=[$2], cr_order_number=[$16], +=[+(+($23, $24), $25)]) + HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($16))]) + HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) + HiveProject(ib_income_band_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, income_band]], table:alias=[ib1]) + HiveProject($f1=[$1], $f2=[$2], $f3=[$3], $f15=[$14], $f16=[$15], $f17=[$16], $f18=[$17]) + HiveFilter(condition=[IS NOT NULL($14)]) + HiveProject(i_product_name=[$13], i_item_sk=[$12], s_store_name=[$10], s_zip=[$11], ca_street_number=[$6], ca_street_name=[$7], ca_city=[$8], ca_zip=[$9], ca_street_number0=[$2], ca_street_name0=[$3], ca_city0=[$4], ca_zip0=[$5], d_year=[$0], d_year0=[$1], $f14=[$14], $f15=[$15], $f16=[$16], $f17=[$17]) + HiveAggregate(group=[{9, 11, 16, 17, 18, 19, 25, 26, 27, 28, 30, 31, 47, 48}], agg#0=[count()], agg#1=[sum($44)], agg#2=[sum($45)], agg#3=[sum($46)]) + HiveJoin(condition=[=($33, $51)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(<>($1, $21), =($38, $0))], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd2]) - HiveProject(sr_item_sk=[$0], sr_ticket_number=[$1], ca_address_sk=[$2], ca_street_number=[$3], ca_street_name=[$4], ca_city=[$5], ca_zip=[$6], s_store_sk=[$7], s_store_name=[$8], s_zip=[$9], hd_demo_sk=[$10], hd_income_band_sk=[$11], p_promo_sk=[$12], ss_sold_date_sk=[$13], ss_item_sk=[$14], ss_customer_sk=[$15], ss_cdemo_sk=[$16], ss_hdemo_sk=[$17], ss_addr_sk=[$18], ss_store_sk=[$19], ss_promo_sk=[$20], ss_ticket_number=[$21], ss_wholesale_cost=[$22], ss_list_price=[$23], ss_coupon_amt=[$24], i_item_sk=[$25], i_product_name=[$26], d_date_sk=[$27], $f0=[$28]) - HiveJoin(condition=[AND(=($14, $0), =($21, $1))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) - HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($9))]) - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) - HiveJoin(condition=[=($16, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, customer_address]], table:alias=[ad1]) - HiveJoin(condition=[=($12, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(s_store_sk=[$0], s_store_name=[$5], s_zip=[$25]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($5), IS NOT NULL($25))]) - HiveTableScan(table=[[default, store]], table:alias=[store]) - HiveJoin(condition=[=($7, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(hd_demo_sk=[$0], hd_income_band_sk=[$1]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) - HiveTableScan(table=[[default, household_demographics]], table:alias=[hd1]) - HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(p_promo_sk=[$0]) + HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd1]) + HiveJoin(condition=[=($35, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($1, $18)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($3, $13)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($2, $10)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($4, $8)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($5, $6)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(c_customer_sk=[$0], c_current_cdemo_sk=[$2], c_current_hdemo_sk=[$3], c_current_addr_sk=[$4], c_first_shipto_date_sk=[$5], c_first_sales_date_sk=[$6]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($6), IS NOT NULL($5), IS NOT NULL($2), IS NOT NULL($3), IS NOT NULL($4))]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveProject(d_date_sk=[$0], d_year=[$6]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) + HiveProject(d_date_sk=[$0], d_year=[$6]) HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, promotion]], table:alias=[promotion]) - HiveJoin(condition=[=($1, $15)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $14)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($1, $12)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_promo_sk=[$8], ss_ticket_number=[$9], ss_wholesale_cost=[$11], ss_list_price=[$12], ss_coupon_amt=[$19]) - HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($9), IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3), IS NOT NULL($4), IS NOT NULL($8), IS NOT NULL($5), IS NOT NULL($6))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(i_item_sk=[$0], i_product_name=[$21]) - HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36, 45), IS NOT NULL($0))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(=($6, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) - HiveProject($f0=[$0]) - HiveFilter(condition=[>($1, *(2, $2))]) - HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[sum($5)]) - HiveJoin(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_item_sk=[$15], cs_order_number=[$17], cs_ext_list_price=[$25]) - HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($17))]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(cr_item_sk=[$2], cr_order_number=[$16], +=[+(+($23, $24), $25)]) - HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($16))]) - HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) - HiveProject(ib_income_band_sk=[$0]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, income_band]], table:alias=[ib1]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) + HiveProject(hd_demo_sk=[$0], hd_income_band_sk=[$1], ib_income_band_sk=[$2]) + HiveJoin(condition=[=($1, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(hd_demo_sk=[$0], hd_income_band_sk=[$1]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveTableScan(table=[[default, household_demographics]], table:alias=[hd2]) + HiveProject(ib_income_band_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, income_band]], table:alias=[ib2]) + HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, customer_address]], table:alias=[ad2]) + HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd2]) + HiveProject(sr_item_sk=[$0], sr_ticket_number=[$1], ca_address_sk=[$2], ca_street_number=[$3], ca_street_name=[$4], ca_city=[$5], ca_zip=[$6], s_store_sk=[$7], s_store_name=[$8], s_zip=[$9], hd_demo_sk=[$10], hd_income_band_sk=[$11], p_promo_sk=[$12], ss_sold_date_sk=[$13], ss_item_sk=[$14], ss_customer_sk=[$15], ss_cdemo_sk=[$16], ss_hdemo_sk=[$17], ss_addr_sk=[$18], ss_store_sk=[$19], ss_promo_sk=[$20], ss_ticket_number=[$21], ss_wholesale_cost=[$22], ss_list_price=[$23], ss_coupon_amt=[$24], i_item_sk=[$25], i_product_name=[$26], d_date_sk=[$27], $f0=[$28]) + HiveJoin(condition=[AND(=($14, $0), =($21, $1))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) + HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($9))]) + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) + HiveJoin(condition=[=($16, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, customer_address]], table:alias=[ad1]) + HiveJoin(condition=[=($12, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(s_store_sk=[$0], s_store_name=[$5], s_zip=[$25]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($5), IS NOT NULL($25))]) + HiveTableScan(table=[[default, store]], table:alias=[store]) + HiveJoin(condition=[=($7, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(hd_demo_sk=[$0], hd_income_band_sk=[$1]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveTableScan(table=[[default, household_demographics]], table:alias=[hd1]) + HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(p_promo_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, promotion]], table:alias=[promotion]) + HiveJoin(condition=[=($1, $15)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $14)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($1, $12)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_promo_sk=[$8], ss_ticket_number=[$9], ss_wholesale_cost=[$11], ss_list_price=[$12], ss_coupon_amt=[$19]) + HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($9), IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3), IS NOT NULL($4), IS NOT NULL($8), IS NOT NULL($5), IS NOT NULL($6))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(i_item_sk=[$0], i_product_name=[$21]) + HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36, 45), IS NOT NULL($0))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(=($6, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) + HiveProject($f0=[$0]) + HiveFilter(condition=[>($1, *(2, $2))]) + HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[sum($5)]) + HiveJoin(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_item_sk=[$15], cs_order_number=[$17], cs_ext_list_price=[$25]) + HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($17))]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(cr_item_sk=[$2], cr_order_number=[$16], +=[+(+($23, $24), $25)]) + HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($16))]) + HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) + HiveProject(ib_income_band_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, income_band]], table:alias=[ib1]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query65.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query65.q.out index 25cb9ccc6b..9f849a4ce6 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query65.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query65.q.out @@ -66,34 +66,37 @@ POSTHOOK: Input: default@store_sales POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100]) - HiveProject(s_store_name=[$11], i_item_desc=[$1], revenue=[$7], i_current_price=[$2], i_wholesale_cost=[$3], i_brand=[$4]) - HiveJoin(condition=[=($0, $6)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(s_store_name=[$6], i_item_desc=[$1], revenue=[$9], i_current_price=[$2], i_wholesale_cost=[$3], i_brand=[$4]) + HiveJoin(condition=[=($0, $8)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0], i_item_desc=[$4], i_current_price=[$5], i_wholesale_cost=[$6], i_brand=[$8]) HiveFilter(condition=[IS NOT NULL($0)]) HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(s_store_sk=[$0], s_store_name=[$5]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store]], table:alias=[store]) HiveJoin(condition=[AND(=($3, $0), <=($2, $4))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_store_sk=[$1], ss_item_sk=[$0], $f2=[$2]) - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_store_sk=[$7], ss_sales_price=[$13]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($2))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $3, 1212, 1223), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[$0], *=[*(0.1, /($1, $2))]) - HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) - HiveProject(ss_item_sk=[$0], ss_store_sk=[$1], $f2=[$2]) + HiveProject(ss_store_sk=[$0], ss_item_sk=[$1], $f2=[$2]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveProject(ss_store_sk=[$1], ss_item_sk=[$0], $f2=[$2]) HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_store_sk=[$7], ss_sales_price=[$13]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($2))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(BETWEEN(false, $3, 1212, 1223), IS NOT NULL($0))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(s_store_sk=[$0], s_store_name=[$5]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store]], table:alias=[store]) + HiveProject($f0=[$0], *=[*(0.1, /($1, $2))]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) + HiveProject(ss_item_sk=[$0], ss_store_sk=[$1], $f2=[$2]) + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_store_sk=[$7], ss_sales_price=[$13]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $3, 1212, 1223), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query72.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query72.q.out index e49b44bf32..4e13c9715f 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query72.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query72.q.out @@ -89,7 +89,7 @@ HiveSortLimit(sort0=[$5], sort1=[$0], sort2=[$1], sort3=[$2], dir0=[DESC-nulls-l HiveJoin(condition=[AND(=($14, $1), <($3, $17))], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[=($4, $2)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(inv_date_sk=[$0], inv_item_sk=[$1], inv_warehouse_sk=[$2], inv_quantity_on_hand=[$3]) - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2), IS NOT NULL($0))]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2), IS NOT NULL($0), IS NOT NULL($3))]) HiveTableScan(table=[[default, inventory]], table:alias=[inventory]) HiveProject(w_warehouse_sk=[$0], w_warehouse_name=[$2]) HiveFilter(condition=[IS NOT NULL($0)]) @@ -97,7 +97,7 @@ HiveSortLimit(sort0=[$5], sort1=[$0], sort2=[$1], sort3=[$2], dir0=[DESC-nulls-l HiveProject(d_date_sk=[$0], CAST=[$1], i_item_sk=[$2], i_item_desc=[$3], cs_sold_date_sk=[$4], cs_ship_date_sk=[$5], cs_bill_cdemo_sk=[$6], cs_bill_hdemo_sk=[$7], cs_item_sk=[$8], cs_promo_sk=[$9], cs_order_number=[$10], cs_quantity=[$11], d_date_sk0=[$12], d_week_seq=[$13], +=[$14], cd_demo_sk=[$15], hd_demo_sk=[$16], p_promo_sk=[$17]) HiveJoin(condition=[AND(=($5, $0), >($1, $14))], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(d_date_sk=[$0], CAST=[CAST($2):DOUBLE]) - HiveFilter(condition=[IS NOT NULL($0)]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($2))]) HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) HiveJoin(condition=[=($0, $6)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0], i_item_desc=[$4]) @@ -108,10 +108,10 @@ HiveSortLimit(sort0=[$5], sort1=[$0], sort2=[$1], sort3=[$2], dir0=[DESC-nulls-l HiveJoin(condition=[=($2, $11)], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[=($0, $8)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(cs_sold_date_sk=[$0], cs_ship_date_sk=[$2], cs_bill_cdemo_sk=[$4], cs_bill_hdemo_sk=[$5], cs_item_sk=[$15], cs_promo_sk=[$16], cs_order_number=[$17], cs_quantity=[$18]) - HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($4), IS NOT NULL($5), IS NOT NULL($0), IS NOT NULL($2))]) + HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($4), IS NOT NULL($5), IS NOT NULL($0), IS NOT NULL($2), IS NOT NULL($18))]) HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) HiveProject(d_date_sk=[$0], d_week_seq=[$4], +=[+(CAST($2):DOUBLE, 5)]) - HiveFilter(condition=[AND(=($6, 2001), IS NOT NULL($0), IS NOT NULL($4))]) + HiveFilter(condition=[AND(=($6, 2001), IS NOT NULL($0), IS NOT NULL($4), IS NOT NULL($2))]) HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) HiveProject(cd_demo_sk=[$0]) HiveFilter(condition=[AND(=($2, _UTF-16LE'M'), IS NOT NULL($0))]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query81.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query81.q.out index 0adb5551da..0eee661233 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query81.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query81.q.out @@ -82,22 +82,9 @@ HiveProject(c_customer_id=[$0], c_salutation=[$1], c_first_name=[$2], c_last_nam HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) HiveProject(cr_returning_customer_sk=[$0], ca_state=[$1], $f2=[$2], _o__c0=[$3], ctr_state=[$4]) HiveJoin(condition=[AND(=($1, $4), >($2, $3))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cr_returning_customer_sk=[$1], ca_state=[$0], $f2=[$2]) - HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) - HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ca_address_sk=[$0], ca_state=[$8]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($8))]) - HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cr_returned_date_sk=[$0], cr_returning_customer_sk=[$7], cr_returning_addr_sk=[$10], cr_return_amt_inc_tax=[$20]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10), IS NOT NULL($7))]) - HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(=($6, 1998), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_state=[$0]) - HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)]) - HiveProject(ca_state=[$0], cr_returning_customer_sk=[$1], $f2=[$2]) + HiveProject(cr_returning_customer_sk=[$0], ca_state=[$1], $f2=[$2]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveProject(cr_returning_customer_sk=[$1], ca_state=[$0], $f2=[$2]) HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(ca_address_sk=[$0], ca_state=[$8]) @@ -105,9 +92,25 @@ HiveProject(c_customer_id=[$0], c_salutation=[$1], c_first_name=[$2], c_last_nam HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(cr_returned_date_sk=[$0], cr_returning_customer_sk=[$7], cr_returning_addr_sk=[$10], cr_return_amt_inc_tax=[$20]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10))]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10), IS NOT NULL($7))]) HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(=($6, 1998), IS NOT NULL($0))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_state=[$0]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)]) + HiveProject(ca_state=[$0], cr_returning_customer_sk=[$1], $f2=[$2]) + HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) + HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ca_address_sk=[$0], ca_state=[$8]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($8))]) + HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cr_returned_date_sk=[$0], cr_returning_customer_sk=[$7], cr_returning_addr_sk=[$10], cr_return_amt_inc_tax=[$20]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10))]) + HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(=($6, 1998), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query92.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query92.q.out index be7f364ee9..39fd92e06b 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query92.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query92.q.out @@ -66,26 +66,26 @@ POSTHOOK: Input: default@web_sales POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveAggregate(group=[{}], agg#0=[sum($2)]) - HiveJoin(condition=[AND(>($2, $5), =($6, $1))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_discount_amt=[$22]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(ws_item_sk=[$0], CAST=[$1], i_item_sk=[$2]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_item_sk=[$0], CAST=[CAST(*(1.3, /($1, $2))):DECIMAL(14, 7)]) - HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) - HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_discount_amt=[$22]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(i_item_sk=[$0]) - HiveFilter(condition=[AND(=($13, 269), IS NOT NULL($0))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveJoin(condition=[AND(=($5, $4), >($2, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($4, $1)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_discount_amt=[$22]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0), IS NOT NULL($22))]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(i_item_sk=[$0]) + HiveFilter(condition=[AND(=($13, 269), IS NOT NULL($0))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject(ws_item_sk=[$0], CAST=[CAST(*(1.3, /($1, $2))):DECIMAL(14, 7)]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_discount_amt=[$22]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_ext_query1.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_ext_query1.q.out index 255261bdaa..ab14e0d3dc 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_ext_query1.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_ext_query1.q.out @@ -59,34 +59,36 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[AND(=($3, $7), >($4, $6))], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[AND(=($4, $7), >($5, $6))], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(c_customer_sk=[$0], c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, customer]], table:alias=[customer]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(s_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveFilter(condition=[=($24, _UTF-16LE'NM')]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, store]], table:alias=[store]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[IS NOT NULL($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### PREHOOK: query: explain cbo joincost with customer_total_return as @@ -149,32 +151,34 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[AND(=($3, $7), >($4, $6))], joinType=[inner], algorithm=[none], cost=[{415687.382770037 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[{8.00093932086143E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[AND(=($4, $7), >($5, $6))], joinType=[inner], algorithm=[none], cost=[{374952.69636986067 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[{8.000928883962971E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(c_customer_sk=[$0], c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, customer]], table:alias=[customer]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[{460301.9976112889 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[{5.175767820386722E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[{455187.9173657213 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(s_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveFilter(condition=[=($24, _UTF-16LE'NM')]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, store]], table:alias=[store]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[{5.3635511784936875E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[IS NOT NULL($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[{5.175767820386722E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[{5.3635511784936875E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query1.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query1.q.out index 13801ffc6c..1d64f3d484 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query1.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query1.q.out @@ -59,32 +59,34 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]) HiveProject(c_customer_id=[$1]) - HiveJoin(condition=[AND(=($3, $7), >($4, $6))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(=($4, $7), >($5, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(c_customer_sk=[$0], c_customer_id=[$1]) HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]) - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3))]) - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[=($6, 2000)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(s_store_sk=[$0]) HiveFilter(condition=[=($24, _UTF-16LE'NM')]) HiveTableScan(table=[[default, store]], table:alias=[store]) - HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]) - HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]) - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]) - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[=($6, 2000)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3))]) + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[=($6, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) + HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]) + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]) + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[=($6, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query14.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query14.q.out index 118d23b577..19704c0701 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query14.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query14.q.out @@ -1,6 +1,9 @@ -Warning: Shuffle Join MERGEJOIN[1182][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 6' is a cross product -Warning: Shuffle Join MERGEJOIN[1189][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 16' is a cross product -Warning: Shuffle Join MERGEJOIN[1196][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 22' is a cross product +Warning: Shuffle Join MERGEJOIN[1467][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 5' is a cross product +Warning: Shuffle Join MERGEJOIN[1479][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[1469][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 13' is a cross product +Warning: Shuffle Join MERGEJOIN[1492][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 14' is a cross product +Warning: Shuffle Join MERGEJOIN[1471][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 18' is a cross product +Warning: Shuffle Join MERGEJOIN[1505][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 19' is a cross product PREHOOK: query: explain cbo with cross_items as (select i_item_sk ss_item_sk @@ -226,282 +229,393 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[ HiveProject(channel=[$0], i_brand_id=[$1], i_class_id=[$2], i_category_id=[$3], sales=[$4], number_sales=[$5]) HiveUnion(all=[true]) HiveProject(channel=[_UTF-16LE'store'], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4]) - HiveJoin(condition=[>($3, $5)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[>($3, $6)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4]) - HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()]) - HiveProject($f0=[$1], $f1=[$2], $f2=[$3], $f3=[*(CAST($7):DECIMAL(10, 0), $8)]) - HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_item_sk=[$0]) - HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject($f0=[$0], $f1=[$1], $f2=[$2]) - HiveFilter(condition=[=($3, 3)]) - HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveUnion(all=[true]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[iss]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[ics]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[iws]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_quantity=[$10], ss_list_price=[$12]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(=($6, 2000), =($8, 11))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[/($0, $1)]) - HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) - HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) - HiveUnion(all=[true]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()]) + HiveProject($f0=[$1], $f1=[$2], $f2=[$3], $f3=[*(CAST($7):DECIMAL(10, 0), $8)]) + HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_item_sk=[$0]) + HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject($f0=[$0], $f1=[$1], $f2=[$2]) + HiveFilter(condition=[=($3, 3)]) + HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveUnion(all=[true]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[iss]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[ics]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[iws]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(=($6, 2000), =($8, 11))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cnt=[$0]) + HiveFilter(condition=[<=(sq_count_check($0), 1)]) + HiveProject(cnt=[$0]) + HiveAggregate(group=[{}], cnt=[COUNT()]) + HiveProject + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[count($0)]) + HiveProject(quantity=[$0], list_price=[$1]) + HiveUnion(all=[true]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject($f0=[/($0, $1)]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[$0], $f1=[$1]) + HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) + HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) + HiveUnion(all=[true]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) HiveProject(channel=[_UTF-16LE'catalog'], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4]) - HiveJoin(condition=[>($3, $5)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[>($3, $6)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4]) - HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()]) - HiveProject($f0=[$1], $f1=[$2], $f2=[$3], $f3=[*(CAST($7):DECIMAL(10, 0), $8)]) - HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_item_sk=[$0]) - HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject($f0=[$0], $f1=[$1], $f2=[$2]) - HiveFilter(condition=[=($3, 3)]) - HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveUnion(all=[true]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[iss]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[ics]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[iws]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_quantity=[$18], cs_list_price=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(=($6, 2000), =($8, 11))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[/($0, $1)]) - HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) - HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) - HiveUnion(all=[true]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()]) + HiveProject($f0=[$1], $f1=[$2], $f2=[$3], $f3=[*(CAST($7):DECIMAL(10, 0), $8)]) + HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_item_sk=[$0]) + HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject($f0=[$0], $f1=[$1], $f2=[$2]) + HiveFilter(condition=[=($3, 3)]) + HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveUnion(all=[true]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[iss]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[ics]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[iws]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(=($6, 2000), =($8, 11))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cnt=[$0]) + HiveFilter(condition=[<=(sq_count_check($0), 1)]) + HiveProject(cnt=[$0]) + HiveAggregate(group=[{}], cnt=[COUNT()]) + HiveProject + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[count($0)]) + HiveProject(quantity=[$0], list_price=[$1]) + HiveUnion(all=[true]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject($f0=[/($0, $1)]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[$0], $f1=[$1]) + HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) + HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) + HiveUnion(all=[true]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) HiveProject(channel=[_UTF-16LE'web'], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4]) - HiveJoin(condition=[>($3, $5)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[>($3, $6)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4]) - HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()]) - HiveProject($f0=[$1], $f1=[$2], $f2=[$3], $f3=[*(CAST($7):DECIMAL(10, 0), $8)]) - HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_item_sk=[$0]) - HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject($f0=[$0], $f1=[$1], $f2=[$2]) - HiveFilter(condition=[=($3, 3)]) - HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveUnion(all=[true]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[iss]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[ics]) - HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) - HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) - HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) - HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) - HiveTableScan(table=[[default, item]], table:alias=[iws]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_quantity=[$18], ws_list_price=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(=($6, 2000), =($8, 11))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[/($0, $1)]) - HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) - HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) - HiveUnion(all=[true]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(quantity=[$1], list_price=[$2]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()]) + HiveProject($f0=[$1], $f1=[$2], $f2=[$3], $f3=[*(CAST($7):DECIMAL(10, 0), $8)]) + HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_item_sk=[$0]) + HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject($f0=[$0], $f1=[$1], $f2=[$2]) + HiveFilter(condition=[=($3, 3)]) + HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveUnion(all=[true]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[iss]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[ics]) + HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3]) + HiveAggregate(group=[{4, 5, 6}], agg#0=[count()]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) + HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))]) + HiveTableScan(table=[[default, item]], table:alias=[iws]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(=($6, 2000), =($8, 11))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cnt=[$0]) + HiveFilter(condition=[<=(sq_count_check($0), 1)]) + HiveProject(cnt=[$0]) + HiveAggregate(group=[{}], cnt=[COUNT()]) + HiveProject + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[count($0)]) + HiveProject(quantity=[$0], list_price=[$1]) + HiveUnion(all=[true]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject($f0=[/($0, $1)]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[$0], $f1=[$1]) + HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) + HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) + HiveUnion(all=[true]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$10], ss_list_price=[$12]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1999, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_quantity=[$18], cs_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(quantity=[$1], list_price=[$2]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_quantity=[$18], ws_list_price=[$20]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query23.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query23.q.out index 3146b776ce..e7e5415962 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query23.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query23.q.out @@ -1,7 +1,7 @@ -Warning: Shuffle Join MERGEJOIN[442][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 19' is a cross product -Warning: Shuffle Join MERGEJOIN[443][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 20' is a cross product -Warning: Shuffle Join MERGEJOIN[445][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 23' is a cross product -Warning: Shuffle Join MERGEJOIN[446][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 24' is a cross product +Warning: Shuffle Join MERGEJOIN[456][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 19' is a cross product +Warning: Shuffle Join MERGEJOIN[457][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 20' is a cross product +Warning: Shuffle Join MERGEJOIN[459][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 24' is a cross product +Warning: Shuffle Join MERGEJOIN[460][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 25' is a cross product PREHOOK: query: explain cbo with frequent_ss_items as (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt @@ -125,41 +125,45 @@ HiveAggregate(group=[{}], agg#0=[sum($0)]) HiveProject(sales=[*(CAST($4):DECIMAL(10, 0), $5)]) HiveSemiJoin(condition=[=($3, $7)], joinType=[inner]) HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject($f0=[$0]) - HiveJoin(condition=[>($1, *(0.95, $3))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_customer_sk=[$0], $f1=[$1]) - HiveAggregate(group=[{0}], agg#0=[sum($1)]) - HiveProject(ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)]) - HiveFilter(condition=[IS NOT NULL($3)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cnt=[$0]) - HiveFilter(condition=[<=(sq_count_check($0), 1)]) - HiveProject(cnt=[$0]) - HiveAggregate(group=[{}], cnt=[COUNT()]) - HiveProject - HiveProject($f0=[$0]) - HiveAggregate(group=[{}], agg#0=[count($0)]) - HiveProject(ss_customer_sk=[$0], $f1=[$1]) - HiveAggregate(group=[{1}], agg#0=[sum($2)]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[IN($6, 1999, 2000, 2001, 2002)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[$0]) - HiveAggregate(group=[{}], agg#0=[max($1)]) - HiveProject(ss_customer_sk=[$0], $f1=[$1]) - HiveAggregate(group=[{1}], agg#0=[sum($2)]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[IN($6, 1999, 2000, 2001, 2002)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(ss_customer_sk=[$0]) + HiveAggregate(group=[{0}]) + HiveJoin(condition=[>($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_customer_sk=[$0], $f1=[$1]) + HiveFilter(condition=[IS NOT NULL($1)]) + HiveAggregate(group=[{0}], agg#0=[sum($1)]) + HiveProject(ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cnt=[$0]) + HiveFilter(condition=[<=(sq_count_check($0), 1)]) + HiveProject(cnt=[$0]) + HiveAggregate(group=[{}], cnt=[COUNT()]) + HiveProject + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[count($0)]) + HiveProject(ss_customer_sk=[$0], $f1=[$1]) + HiveAggregate(group=[{1}], agg#0=[sum($2)]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[IN($6, 1999, 2000, 2001, 2002)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(*=[*(0.95, $0)]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[max($1)]) + HiveProject(ss_customer_sk=[$0], $f1=[$1]) + HiveAggregate(group=[{1}], agg#0=[sum($2)]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[IN($6, 1999, 2000, 2001, 2002)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], cs_item_sk=[$15], cs_quantity=[$18], cs_list_price=[$20]) HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) @@ -184,41 +188,45 @@ HiveAggregate(group=[{}], agg#0=[sum($0)]) HiveProject(sales=[*(CAST($4):DECIMAL(10, 0), $5)]) HiveSemiJoin(condition=[=($2, $7)], joinType=[inner]) HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject($f0=[$0]) - HiveJoin(condition=[>($1, *(0.95, $3))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_customer_sk=[$0], $f1=[$1]) - HiveAggregate(group=[{0}], agg#0=[sum($1)]) - HiveProject(ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)]) - HiveFilter(condition=[IS NOT NULL($3)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cnt=[$0]) - HiveFilter(condition=[<=(sq_count_check($0), 1)]) - HiveProject(cnt=[$0]) - HiveAggregate(group=[{}], cnt=[COUNT()]) - HiveProject - HiveProject($f0=[$0]) - HiveAggregate(group=[{}], agg#0=[count($0)]) - HiveProject(ss_customer_sk=[$0], $f1=[$1]) - HiveAggregate(group=[{1}], agg#0=[sum($2)]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[IN($6, 1999, 2000, 2001, 2002)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[$0]) - HiveAggregate(group=[{}], agg#0=[max($1)]) - HiveProject(ss_customer_sk=[$0], $f1=[$1]) - HiveAggregate(group=[{1}], agg#0=[sum($2)]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)]) - HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[IN($6, 1999, 2000, 2001, 2002)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(ss_customer_sk=[$0]) + HiveAggregate(group=[{0}]) + HiveJoin(condition=[>($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_customer_sk=[$0], $f1=[$1]) + HiveFilter(condition=[IS NOT NULL($1)]) + HiveAggregate(group=[{0}], agg#0=[sum($1)]) + HiveProject(ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cnt=[$0]) + HiveFilter(condition=[<=(sq_count_check($0), 1)]) + HiveProject(cnt=[$0]) + HiveAggregate(group=[{}], cnt=[COUNT()]) + HiveProject + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[count($0)]) + HiveProject(ss_customer_sk=[$0], $f1=[$1]) + HiveAggregate(group=[{1}], agg#0=[sum($2)]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[IN($6, 1999, 2000, 2001, 2002)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(*=[*(0.95, $0)]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[max($1)]) + HiveProject(ss_customer_sk=[$0], $f1=[$1]) + HiveAggregate(group=[{1}], agg#0=[sum($2)]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)]) + HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[IN($6, 1999, 2000, 2001, 2002)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_bill_customer_sk=[$4], ws_quantity=[$18], ws_list_price=[$20]) HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($0))]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query24.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query24.q.out index 41d96ea303..79b5595951 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query24.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query24.q.out @@ -1,4 +1,4 @@ -Warning: Shuffle Join MERGEJOIN[297][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[301][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 6' is a cross product PREHOOK: query: explain cbo with ssales as (select c_last_name @@ -116,57 +116,61 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3]) HiveJoin(condition=[>($3, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_last_name=[$1], c_first_name=[$0], s_store_name=[$2], $f3=[$3]) - HiveAggregate(group=[{0, 1, 3}], agg#0=[sum($9)]) - HiveProject(c_first_name=[$0], c_last_name=[$1], ca_state=[$2], s_store_name=[$3], s_state=[$4], i_current_price=[$5], i_size=[$6], i_units=[$7], i_manager_id=[$8], $f9=[$9]) - HiveAggregate(group=[{9, 10, 13, 17, 18, 21, 22, 23, 24}], agg#0=[sum($4)]) - HiveJoin(condition=[=($0, $20)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[AND(=($1, $7), =($2, $16))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[AND(=($3, $6), =($0, $5))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_sales_price=[$13]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($3))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) - HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$1], c_first_name=[$2], c_last_name=[$3], c_birth_country=[$4], ca_address_sk=[$5], ca_state=[$6], ca_zip=[$7], UPPER=[$8], s_store_sk=[$9], s_store_name=[$10], s_state=[$11], s_zip=[$12]) - HiveJoin(condition=[AND(=($1, $5), <>($4, $8))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4], c_first_name=[$8], c_last_name=[$9], c_birth_country=[$14]) - HiveFilter(condition=[IS NOT NULL($4)]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveJoin(condition=[=($7, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ca_address_sk=[$0], ca_state=[$8], ca_zip=[$9], UPPER=[UPPER($10)]) - HiveFilter(condition=[IS NOT NULL($9)]) - HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) - HiveProject(s_store_sk=[$0], s_store_name=[$5], s_state=[$24], s_zip=[$25]) - HiveFilter(condition=[AND(=($10, 7), IS NOT NULL($25))]) - HiveTableScan(table=[[default, store]], table:alias=[store]) - HiveProject(i_item_sk=[$0], i_current_price=[$5], i_size=[$15], i_units=[$18], i_manager_id=[$20]) - HiveFilter(condition=[=($17, _UTF-16LE'orchid')]) - HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject(c_last_name=[$0], c_first_name=[$1], s_store_name=[$2], $f3=[$3]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveProject(c_last_name=[$1], c_first_name=[$0], s_store_name=[$2], $f3=[$3]) + HiveAggregate(group=[{0, 1, 3}], agg#0=[sum($9)]) + HiveProject(c_first_name=[$0], c_last_name=[$1], ca_state=[$2], s_store_name=[$3], s_state=[$4], i_current_price=[$5], i_size=[$6], i_units=[$7], i_manager_id=[$8], $f9=[$9]) + HiveAggregate(group=[{9, 10, 13, 17, 18, 21, 22, 23, 24}], agg#0=[sum($4)]) + HiveJoin(condition=[=($0, $20)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(=($1, $7), =($2, $16))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(=($3, $6), =($0, $5))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_sales_price=[$13]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($3))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) + HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$1], c_first_name=[$2], c_last_name=[$3], c_birth_country=[$4], ca_address_sk=[$5], ca_state=[$6], ca_zip=[$7], UPPER=[$8], s_store_sk=[$9], s_store_name=[$10], s_state=[$11], s_zip=[$12]) + HiveJoin(condition=[AND(=($1, $5), <>($4, $8))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4], c_first_name=[$8], c_last_name=[$9], c_birth_country=[$14]) + HiveFilter(condition=[IS NOT NULL($4)]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveJoin(condition=[=($7, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ca_address_sk=[$0], ca_state=[$8], ca_zip=[$9], UPPER=[UPPER($10)]) + HiveFilter(condition=[IS NOT NULL($9)]) + HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) + HiveProject(s_store_sk=[$0], s_store_name=[$5], s_state=[$24], s_zip=[$25]) + HiveFilter(condition=[AND(=($10, 7), IS NOT NULL($25))]) + HiveTableScan(table=[[default, store]], table:alias=[store]) + HiveProject(i_item_sk=[$0], i_current_price=[$5], i_size=[$15], i_units=[$18], i_manager_id=[$20]) + HiveFilter(condition=[=($17, _UTF-16LE'orchid')]) + HiveTableScan(table=[[default, item]], table:alias=[item]) HiveProject(_o__c0=[*(0.05, /($0, $1))]) - HiveAggregate(group=[{}], agg#0=[sum($10)], agg#1=[count($10)]) - HiveProject(c_first_name=[$0], c_last_name=[$1], ca_state=[$2], s_store_name=[$3], s_state=[$4], i_current_price=[$5], i_size=[$6], i_color=[$7], i_units=[$8], i_manager_id=[$9], $f10=[$10]) - HiveAggregate(group=[{9, 10, 13, 17, 18, 21, 22, 23, 24, 25}], agg#0=[sum($4)]) - HiveJoin(condition=[=($0, $20)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[AND(=($1, $7), =($2, $16))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[AND(=($3, $6), =($0, $5))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_sales_price=[$13]) - HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($3))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) - HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$1], c_first_name=[$2], c_last_name=[$3], c_birth_country=[$4], ca_address_sk=[$5], ca_state=[$6], ca_zip=[$7], UPPER=[$8], s_store_sk=[$9], s_store_name=[$10], s_state=[$11], s_zip=[$12]) - HiveJoin(condition=[AND(=($1, $5), <>($4, $8))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4], c_first_name=[$8], c_last_name=[$9], c_birth_country=[$14]) - HiveFilter(condition=[IS NOT NULL($4)]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveJoin(condition=[=($7, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ca_address_sk=[$0], ca_state=[$8], ca_zip=[$9], UPPER=[UPPER($10)]) - HiveFilter(condition=[IS NOT NULL($9)]) - HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) - HiveProject(s_store_sk=[$0], s_store_name=[$5], s_state=[$24], s_zip=[$25]) - HiveFilter(condition=[AND(=($10, 7), IS NOT NULL($25))]) - HiveTableScan(table=[[default, store]], table:alias=[store]) - HiveProject(i_item_sk=[$0], i_current_price=[$5], i_size=[$15], i_color=[$17], i_units=[$18], i_manager_id=[$20]) - HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[$0], $f1=[$1]) + HiveAggregate(group=[{}], agg#0=[sum($10)], agg#1=[count($10)]) + HiveProject(c_first_name=[$0], c_last_name=[$1], ca_state=[$2], s_store_name=[$3], s_state=[$4], i_current_price=[$5], i_size=[$6], i_color=[$7], i_units=[$8], i_manager_id=[$9], $f10=[$10]) + HiveAggregate(group=[{9, 10, 13, 17, 18, 21, 22, 23, 24, 25}], agg#0=[sum($4)]) + HiveJoin(condition=[=($0, $20)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(=($1, $7), =($2, $16))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(=($3, $6), =($0, $5))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_sales_price=[$13]) + HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($3))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) + HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$1], c_first_name=[$2], c_last_name=[$3], c_birth_country=[$4], ca_address_sk=[$5], ca_state=[$6], ca_zip=[$7], UPPER=[$8], s_store_sk=[$9], s_store_name=[$10], s_state=[$11], s_zip=[$12]) + HiveJoin(condition=[AND(=($1, $5), <>($4, $8))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4], c_first_name=[$8], c_last_name=[$9], c_birth_country=[$14]) + HiveFilter(condition=[IS NOT NULL($4)]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveJoin(condition=[=($7, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ca_address_sk=[$0], ca_state=[$8], ca_zip=[$9], UPPER=[UPPER($10)]) + HiveFilter(condition=[IS NOT NULL($9)]) + HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) + HiveProject(s_store_sk=[$0], s_store_name=[$5], s_state=[$24], s_zip=[$25]) + HiveFilter(condition=[AND(=($10, 7), IS NOT NULL($25))]) + HiveTableScan(table=[[default, store]], table:alias=[store]) + HiveProject(i_item_sk=[$0], i_current_price=[$5], i_size=[$15], i_color=[$17], i_units=[$18], i_manager_id=[$20]) + HiveTableScan(table=[[default, item]], table:alias=[item]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query30.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query30.q.out index bd68baa23b..d8ba2fa7b4 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query30.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query30.q.out @@ -81,22 +81,9 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5= HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) HiveProject(wr_returning_customer_sk=[$0], ca_state=[$1], $f2=[$2], _o__c0=[$3], ctr_state=[$4]) HiveJoin(condition=[AND(=($1, $4), >($2, $3))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(wr_returning_customer_sk=[$1], ca_state=[$0], $f2=[$2]) - HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) - HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ca_address_sk=[$0], ca_state=[$8]) - HiveFilter(condition=[IS NOT NULL($8)]) - HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(wr_returned_date_sk=[$0], wr_returning_customer_sk=[$7], wr_returning_addr_sk=[$10], wr_return_amt=[$15]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10), IS NOT NULL($7))]) - HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[=($6, 2002)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_state=[$0]) - HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)]) - HiveProject(ca_state=[$0], wr_returning_customer_sk=[$1], $f2=[$2]) + HiveProject(wr_returning_customer_sk=[$0], ca_state=[$1], $f2=[$2]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveProject(wr_returning_customer_sk=[$1], ca_state=[$0], $f2=[$2]) HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(ca_address_sk=[$0], ca_state=[$8]) @@ -104,9 +91,25 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5= HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(wr_returned_date_sk=[$0], wr_returning_customer_sk=[$7], wr_returning_addr_sk=[$10], wr_return_amt=[$15]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10))]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10), IS NOT NULL($7))]) HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[=($6, 2002)]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_state=[$0]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)]) + HiveProject(ca_state=[$0], wr_returning_customer_sk=[$1], $f2=[$2]) + HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) + HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ca_address_sk=[$0], ca_state=[$8]) + HiveFilter(condition=[IS NOT NULL($8)]) + HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(wr_returned_date_sk=[$0], wr_returning_customer_sk=[$7], wr_returning_addr_sk=[$10], wr_return_amt=[$15]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10))]) + HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[=($6, 2002)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query32.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query32.q.out index b5cf714198..38ebdd95a1 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query32.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query32.q.out @@ -62,26 +62,26 @@ POSTHOOK: Input: default@item POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveAggregate(group=[{}], agg#0=[sum($2)]) - HiveJoin(condition=[AND(>($2, $5), =($6, $1))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_discount_amt=[$22]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(cs_item_sk=[$0], CAST3=[$1], i_item_sk=[$2]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_item_sk=[$0], CAST3=[CAST(*(1.3, /($1, $2))):DECIMAL(14, 7)]) - HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) - HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_discount_amt=[$22]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(i_item_sk=[$0]) - HiveFilter(condition=[=($13, 269)]) - HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveJoin(condition=[AND(=($5, $4), >($2, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($4, $1)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_discount_amt=[$22]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($22))]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(i_item_sk=[$0]) + HiveFilter(condition=[=($13, 269)]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject(cs_item_sk=[$0], CAST3=[CAST(*(1.3, /($1, $2))):DECIMAL(14, 7)]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_discount_amt=[$22]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query54.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query54.q.out index e33203d93c..d26b0e5144 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query54.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query54.q.out @@ -1,7 +1,7 @@ -Warning: Shuffle Join MERGEJOIN[274][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product -Warning: Shuffle Join MERGEJOIN[280][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product -Warning: Shuffle Join MERGEJOIN[279][tables = [$hdt$_4, $hdt$_5]] in Stage 'Reducer 15' is a cross product -Warning: Shuffle Join MERGEJOIN[282][tables = [$hdt$_4, $hdt$_5, $hdt$_6]] in Stage 'Reducer 16' is a cross product +Warning: Shuffle Join MERGEJOIN[280][tables = [$hdt$_4, $hdt$_5]] in Stage 'Reducer 15' is a cross product +Warning: Shuffle Join MERGEJOIN[283][tables = [$hdt$_4, $hdt$_5, $hdt$_6]] in Stage 'Reducer 16' is a cross product +Warning: Shuffle Join MERGEJOIN[275][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product +Warning: Shuffle Join MERGEJOIN[281][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain cbo with my_customers as ( select distinct c_customer_sk @@ -196,15 +196,16 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100]) HiveJoin(condition=[<=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[<=($2, $1)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(d_date_sk=[$0], d_month_seq=[$3]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) HiveProject($f0=[$0]) HiveAggregate(group=[{0}]) HiveProject($f0=[+($3, 1)]) - HiveFilter(condition=[AND(=($6, 1999), =($8, 3))]) + HiveFilter(condition=[AND(=($6, 1999), =($8, 3), IS NOT NULL($3))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) HiveProject($f0=[$0]) HiveAggregate(group=[{0}]) HiveProject($f0=[+($3, 3)]) - HiveFilter(condition=[AND(=($6, 1999), =($8, 3))]) + HiveFilter(condition=[AND(=($6, 1999), =($8, 3), IS NOT NULL($3))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query6.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query6.q.out index 5e3deb3eb9..e7f0ced2eb 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query6.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query6.q.out @@ -1,4 +1,4 @@ -Warning: Map Join MAPJOIN[170][bigTable=?] in task 'Map 11' is a cross product +Warning: Map Join MAPJOIN[171][bigTable=?] in task 'Map 12' is a cross product PREHOOK: query: explain cbo select a.ca_state state, count(*) cnt from customer_address a @@ -65,13 +65,23 @@ CBO PLAN: HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100]) HiveProject(ca_state=[$0], $f1=[$1]) HiveFilter(condition=[>=($1, 10)]) - HiveAggregate(group=[{10}], agg#0=[count()]) - HiveJoin(condition=[=($1, $11)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($6, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveAggregate(group=[{15}], agg#0=[count()]) + HiveJoin(condition=[=($11, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $8)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3]) HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))]) HiveTableScan(table=[[default, store_sales]], table:alias=[s]) + HiveJoin(condition=[AND(=($3, $2), >($1, $4))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(i_item_sk=[$0], i_current_price=[$5], i_category=[$12]) + HiveFilter(condition=[AND(IS NOT NULL($12), IS NOT NULL($5))]) + HiveTableScan(table=[[default, item]], table:alias=[i]) + HiveProject(i_category=[$0], *=[*(1.2, CAST(/($1, $2)):DECIMAL(16, 6))]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{12}], agg#0=[sum($5)], agg#1=[count($5)]) + HiveFilter(condition=[IS NOT NULL($12)]) + HiveTableScan(table=[[default, item]], table:alias=[j]) + HiveProject(d_date_sk=[$0], d_month_seq=[$1], d_month_seq0=[$2]) HiveJoin(condition=[=($1, $2)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(d_date_sk=[$0], d_month_seq=[$3]) HiveFilter(condition=[IS NOT NULL($3)]) @@ -80,29 +90,20 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100]) HiveAggregate(group=[{3}]) HiveFilter(condition=[AND(=($6, 2000), =($8, 2), IS NOT NULL($3))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$1], cnt=[$2], ca_address_sk=[$3], ca_state=[$4]) - HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4]) - HiveFilter(condition=[IS NOT NULL($4)]) - HiveTableScan(table=[[default, customer]], table:alias=[c]) - HiveProject(cnt=[$0]) - HiveFilter(condition=[<=(sq_count_check($0), 1)]) - HiveProject(cnt=[$0]) - HiveAggregate(group=[{}], cnt=[COUNT()]) - HiveProject(d_month_seq=[$0]) - HiveAggregate(group=[{3}]) - HiveFilter(condition=[AND(=($6, 2000), =($8, 2))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(ca_address_sk=[$0], ca_state=[$8]) - HiveTableScan(table=[[default, customer_address]], table:alias=[a]) - HiveProject(i_item_sk=[$0], i_current_price=[$1], i_category=[$2], i_category0=[$3], *=[$4]) - HiveJoin(condition=[AND(=($3, $2), >($1, $4))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(i_item_sk=[$0], i_current_price=[$5], i_category=[$12]) - HiveFilter(condition=[IS NOT NULL($12)]) - HiveTableScan(table=[[default, item]], table:alias=[i]) - HiveProject(i_category=[$0], *=[*(1.2, CAST(/($1, $2)):DECIMAL(16, 6))]) - HiveAggregate(group=[{12}], agg#0=[sum($5)], agg#1=[count($5)]) - HiveFilter(condition=[IS NOT NULL($12)]) - HiveTableScan(table=[[default, item]], table:alias=[j]) + HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$1], cnt=[$2], ca_address_sk=[$3], ca_state=[$4]) + HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4]) + HiveFilter(condition=[IS NOT NULL($4)]) + HiveTableScan(table=[[default, customer]], table:alias=[c]) + HiveProject(cnt=[$0]) + HiveFilter(condition=[<=(sq_count_check($0), 1)]) + HiveProject(cnt=[$0]) + HiveAggregate(group=[{}], cnt=[COUNT()]) + HiveProject(d_month_seq=[$0]) + HiveAggregate(group=[{3}]) + HiveFilter(condition=[AND(=($6, 2000), =($8, 2))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(ca_address_sk=[$0], ca_state=[$8]) + HiveTableScan(table=[[default, customer_address]], table:alias=[a]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query64.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query64.q.out index 8223efcdb6..5455a022d1 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query64.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query64.q.out @@ -265,124 +265,128 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveProject(product_name=[$0], store_name=[$1], store_zip=[$2], b_street_number=[$3], b_streen_name=[$4], b_city=[$5], b_zip=[$6], c_street_number=[$7], c_street_name=[$8], c_city=[$9], c_zip=[$10], syear=[CAST(2000):INTEGER], cnt=[$11], s1=[$12], s2=[$13], s3=[$14], s11=[$15], s21=[$16], s31=[$17], syear1=[CAST(2001):INTEGER], cnt1=[$18]) HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$18], dir0=[ASC], dir1=[ASC], dir2=[ASC]) - HiveProject(product_name=[$0], store_name=[$2], store_zip=[$3], b_street_number=[$4], b_streen_name=[$5], b_city=[$6], b_zip=[$7], c_street_number=[$8], c_street_name=[$9], c_city=[$10], c_zip=[$11], cnt=[$12], s1=[$13], s2=[$14], s3=[$15], s11=[$20], s21=[$21], s31=[$22], cnt1=[$19]) - HiveJoin(condition=[AND(AND(AND(=($1, $16), <=($19, $12)), =($2, $17)), =($3, $18))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[$3], $f4=[$6], $f5=[$7], $f6=[$8], $f7=[$9], $f8=[$10], $f9=[$11], $f10=[$12], $f11=[$13], $f15=[$14], $f16=[$15], $f17=[$16], $f18=[$17]) - HiveAggregate(group=[{19, 20, 24, 25, 29, 31, 37, 38, 39, 40, 42, 43, 44, 45}], agg#0=[count()], agg#1=[sum($16)], agg#2=[sum($17)], agg#3=[sum($18)]) - HiveJoin(condition=[=($5, $41)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($13, $36)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[AND(=($3, $34), <>($33, $35))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($11, $32)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($6, $30)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($7, $28)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($4, $27)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($12, $26)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($14, $23)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[AND(=($9, $0), =($15, $1))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) - HiveJoin(condition=[=($7, $20)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0], c_current_cdemo_sk=[$2], c_current_hdemo_sk=[$3], c_current_addr_sk=[$4], c_first_shipto_date_sk=[$5], c_first_sales_date_sk=[$6]) - HiveFilter(condition=[AND(IS NOT NULL($6), IS NOT NULL($5), IS NOT NULL($2), IS NOT NULL($3), IS NOT NULL($4))]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveJoin(condition=[=($0, $13)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($1, $11)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_ticket_number=[$9], ss_wholesale_cost=[$11], ss_list_price=[$12], ss_coupon_amt=[$19]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3), IS NOT NULL($4), IS NOT NULL($8), IS NOT NULL($5), IS NOT NULL($6))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(i_item_sk=[$0], i_product_name=[$21]) - HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36, 45))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[=($6, 2000)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) - HiveProject(cs_item_sk=[$0]) - HiveFilter(condition=[>($1, *(2, $2))]) - HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[sum($5)]) - HiveJoin(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_item_sk=[$15], cs_order_number=[$17], cs_ext_list_price=[$25]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(cr_item_sk=[$2], cr_order_number=[$16], +=[+(+($23, $24), $25)]) - HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) - HiveProject(s_store_sk=[$0], s_store_name=[$5], s_zip=[$25]) - HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($25))]) - HiveTableScan(table=[[default, store]], table:alias=[store]) - HiveProject(hd_demo_sk=[$0]) - HiveFilter(condition=[IS NOT NULL($1)]) - HiveTableScan(table=[[default, household_demographics]], table:alias=[hd1]) - HiveProject(hd_demo_sk=[$0]) - HiveFilter(condition=[IS NOT NULL($1)]) - HiveTableScan(table=[[default, household_demographics]], table:alias=[hd2]) - HiveProject(d_date_sk=[$0], d_year=[$6]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) - HiveProject(d_date_sk=[$0], d_year=[$6]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) - HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) - HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd1]) - HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) - HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd2]) - HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) - HiveTableScan(table=[[default, customer_address]], table:alias=[ad1]) - HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) - HiveTableScan(table=[[default, customer_address]], table:alias=[ad2]) + HiveProject(product_name=[$7], store_name=[$9], store_zip=[$10], b_street_number=[$11], b_streen_name=[$12], b_city=[$13], b_zip=[$14], c_street_number=[$15], c_street_name=[$16], c_city=[$17], c_zip=[$18], cnt=[$19], s1=[$20], s2=[$21], s3=[$22], s11=[$4], s21=[$5], s31=[$6], cnt1=[$3]) + HiveJoin(condition=[AND(AND(AND(=($8, $0), <=($3, $19)), =($9, $1)), =($10, $2))], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject($f1=[$0], $f2=[$1], $f3=[$2], $f15=[$13], $f16=[$14], $f17=[$15], $f18=[$16]) - HiveAggregate(group=[{19, 24, 25, 29, 31, 37, 38, 39, 40, 42, 43, 44, 45}], agg#0=[count()], agg#1=[sum($16)], agg#2=[sum($17)], agg#3=[sum($18)]) - HiveJoin(condition=[=($5, $41)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($13, $36)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[AND(=($3, $34), <>($33, $35))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($11, $32)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($6, $30)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($7, $28)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($4, $27)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($12, $26)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($14, $23)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[AND(=($9, $0), =($15, $1))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) - HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) - HiveJoin(condition=[=($7, $20)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(c_customer_sk=[$0], c_current_cdemo_sk=[$2], c_current_hdemo_sk=[$3], c_current_addr_sk=[$4], c_first_shipto_date_sk=[$5], c_first_sales_date_sk=[$6]) - HiveFilter(condition=[AND(IS NOT NULL($6), IS NOT NULL($5), IS NOT NULL($2), IS NOT NULL($3), IS NOT NULL($4))]) - HiveTableScan(table=[[default, customer]], table:alias=[customer]) - HiveJoin(condition=[=($0, $13)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($1, $11)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_ticket_number=[$9], ss_wholesale_cost=[$11], ss_list_price=[$12], ss_coupon_amt=[$19]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3), IS NOT NULL($4), IS NOT NULL($8), IS NOT NULL($5), IS NOT NULL($6))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(i_item_sk=[$0], i_product_name=[$21]) - HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36, 45))]) - HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[=($6, 2001)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) - HiveProject(cs_item_sk=[$0]) - HiveFilter(condition=[>($1, *(2, $2))]) - HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[sum($5)]) - HiveJoin(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cs_item_sk=[$15], cs_order_number=[$17], cs_ext_list_price=[$25]) - HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) - HiveProject(cr_item_sk=[$2], cr_order_number=[$16], +=[+(+($23, $24), $25)]) - HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) - HiveProject(s_store_sk=[$0], s_store_name=[$5], s_zip=[$25]) - HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($25))]) - HiveTableScan(table=[[default, store]], table:alias=[store]) - HiveProject(hd_demo_sk=[$0]) - HiveFilter(condition=[IS NOT NULL($1)]) - HiveTableScan(table=[[default, household_demographics]], table:alias=[hd1]) - HiveProject(hd_demo_sk=[$0]) - HiveFilter(condition=[IS NOT NULL($1)]) - HiveTableScan(table=[[default, household_demographics]], table:alias=[hd2]) - HiveProject(d_date_sk=[$0], d_year=[$6]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) - HiveProject(d_date_sk=[$0], d_year=[$6]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) - HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) - HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd1]) - HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) - HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd2]) - HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) - HiveTableScan(table=[[default, customer_address]], table:alias=[ad1]) - HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) - HiveTableScan(table=[[default, customer_address]], table:alias=[ad2]) + HiveFilter(condition=[IS NOT NULL($13)]) + HiveProject(i_item_sk=[$0], s_store_name=[$1], s_zip=[$2], ca_street_number=[$5], ca_street_name=[$6], ca_city=[$7], ca_zip=[$8], ca_street_number0=[$9], ca_street_name0=[$10], ca_city0=[$11], ca_zip0=[$12], d_year=[$3], d_year0=[$4], $f13=[$13], $f14=[$14], $f15=[$15], $f16=[$16]) + HiveAggregate(group=[{19, 24, 25, 29, 31, 37, 38, 39, 40, 42, 43, 44, 45}], agg#0=[count()], agg#1=[sum($16)], agg#2=[sum($17)], agg#3=[sum($18)]) + HiveJoin(condition=[=($5, $41)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($13, $36)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(=($3, $34), <>($33, $35))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($11, $32)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($6, $30)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($7, $28)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($4, $27)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($12, $26)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($14, $23)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(=($9, $0), =($15, $1))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) + HiveJoin(condition=[=($7, $20)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(c_customer_sk=[$0], c_current_cdemo_sk=[$2], c_current_hdemo_sk=[$3], c_current_addr_sk=[$4], c_first_shipto_date_sk=[$5], c_first_sales_date_sk=[$6]) + HiveFilter(condition=[AND(IS NOT NULL($6), IS NOT NULL($5), IS NOT NULL($2), IS NOT NULL($3), IS NOT NULL($4))]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveJoin(condition=[=($0, $13)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($1, $11)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_ticket_number=[$9], ss_wholesale_cost=[$11], ss_list_price=[$12], ss_coupon_amt=[$19]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3), IS NOT NULL($4), IS NOT NULL($8), IS NOT NULL($5), IS NOT NULL($6))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(i_item_sk=[$0], i_product_name=[$21]) + HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36, 45))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[=($6, 2001)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) + HiveProject(cs_item_sk=[$0]) + HiveFilter(condition=[>($1, *(2, $2))]) + HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[sum($5)]) + HiveJoin(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_item_sk=[$15], cs_order_number=[$17], cs_ext_list_price=[$25]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(cr_item_sk=[$2], cr_order_number=[$16], +=[+(+($23, $24), $25)]) + HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) + HiveProject(s_store_sk=[$0], s_store_name=[$5], s_zip=[$25]) + HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($25))]) + HiveTableScan(table=[[default, store]], table:alias=[store]) + HiveProject(hd_demo_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($1)]) + HiveTableScan(table=[[default, household_demographics]], table:alias=[hd1]) + HiveProject(hd_demo_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($1)]) + HiveTableScan(table=[[default, household_demographics]], table:alias=[hd2]) + HiveProject(d_date_sk=[$0], d_year=[$6]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) + HiveProject(d_date_sk=[$0], d_year=[$6]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) + HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) + HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd1]) + HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) + HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd2]) + HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) + HiveTableScan(table=[[default, customer_address]], table:alias=[ad1]) + HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) + HiveTableScan(table=[[default, customer_address]], table:alias=[ad2]) + HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7], $f8=[$8], $f9=[$9], $f10=[$10], $f11=[$11], $f15=[$14], $f16=[$15], $f17=[$16], $f18=[$17]) + HiveFilter(condition=[IS NOT NULL($14)]) + HiveProject(i_product_name=[$1], i_item_sk=[$0], s_store_name=[$2], s_zip=[$3], ca_street_number=[$6], ca_street_name=[$7], ca_city=[$8], ca_zip=[$9], ca_street_number0=[$10], ca_street_name0=[$11], ca_city0=[$12], ca_zip0=[$13], d_year=[$4], d_year0=[$5], $f14=[$14], $f15=[$15], $f16=[$16], $f17=[$17]) + HiveAggregate(group=[{19, 20, 24, 25, 29, 31, 37, 38, 39, 40, 42, 43, 44, 45}], agg#0=[count()], agg#1=[sum($16)], agg#2=[sum($17)], agg#3=[sum($18)]) + HiveJoin(condition=[=($5, $41)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($13, $36)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(=($3, $34), <>($33, $35))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($11, $32)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($6, $30)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($7, $28)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($4, $27)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($12, $26)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($14, $23)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[AND(=($9, $0), =($15, $1))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9]) + HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]) + HiveJoin(condition=[=($7, $20)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(c_customer_sk=[$0], c_current_cdemo_sk=[$2], c_current_hdemo_sk=[$3], c_current_addr_sk=[$4], c_first_shipto_date_sk=[$5], c_first_sales_date_sk=[$6]) + HiveFilter(condition=[AND(IS NOT NULL($6), IS NOT NULL($5), IS NOT NULL($2), IS NOT NULL($3), IS NOT NULL($4))]) + HiveTableScan(table=[[default, customer]], table:alias=[customer]) + HiveJoin(condition=[=($0, $13)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($1, $11)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_ticket_number=[$9], ss_wholesale_cost=[$11], ss_list_price=[$12], ss_coupon_amt=[$19]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3), IS NOT NULL($4), IS NOT NULL($8), IS NOT NULL($5), IS NOT NULL($6))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(i_item_sk=[$0], i_product_name=[$21]) + HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36, 45))]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[=($6, 2000)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) + HiveProject(cs_item_sk=[$0]) + HiveFilter(condition=[>($1, *(2, $2))]) + HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[sum($5)]) + HiveJoin(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cs_item_sk=[$15], cs_order_number=[$17], cs_ext_list_price=[$25]) + HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) + HiveProject(cr_item_sk=[$2], cr_order_number=[$16], +=[+(+($23, $24), $25)]) + HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) + HiveProject(s_store_sk=[$0], s_store_name=[$5], s_zip=[$25]) + HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($25))]) + HiveTableScan(table=[[default, store]], table:alias=[store]) + HiveProject(hd_demo_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($1)]) + HiveTableScan(table=[[default, household_demographics]], table:alias=[hd1]) + HiveProject(hd_demo_sk=[$0]) + HiveFilter(condition=[IS NOT NULL($1)]) + HiveTableScan(table=[[default, household_demographics]], table:alias=[hd2]) + HiveProject(d_date_sk=[$0], d_year=[$6]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) + HiveProject(d_date_sk=[$0], d_year=[$6]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) + HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) + HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd1]) + HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2]) + HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd2]) + HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) + HiveTableScan(table=[[default, customer_address]], table:alias=[ad1]) + HiveProject(ca_address_sk=[$0], ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]) + HiveTableScan(table=[[default, customer_address]], table:alias=[ad2]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query65.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query65.q.out index 3e906b73b0..fa53d198ac 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query65.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query65.q.out @@ -66,24 +66,17 @@ POSTHOOK: Input: default@store_sales POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100]) - HiveProject(s_store_name=[$11], i_item_desc=[$1], revenue=[$7], i_current_price=[$2], i_wholesale_cost=[$3], i_brand=[$4]) - HiveJoin(condition=[=($0, $6)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(s_store_name=[$6], i_item_desc=[$1], revenue=[$9], i_current_price=[$2], i_wholesale_cost=[$3], i_brand=[$4]) + HiveJoin(condition=[=($0, $8)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0], i_item_desc=[$4], i_current_price=[$5], i_wholesale_cost=[$6], i_brand=[$8]) HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(s_store_sk=[$0], s_store_name=[$5]) + HiveTableScan(table=[[default, store]], table:alias=[store]) HiveJoin(condition=[AND(=($3, $0), <=($2, $4))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_store_sk=[$1], ss_item_sk=[$0], $f2=[$2]) - HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_store_sk=[$7], ss_sales_price=[$13]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, $3, 1212, 1223)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[$0], *=[*(0.1, /($1, $2))]) - HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) - HiveProject(ss_item_sk=[$0], ss_store_sk=[$1], $f2=[$2]) + HiveProject(ss_store_sk=[$0], ss_item_sk=[$1], $f2=[$2]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveProject(ss_store_sk=[$1], ss_item_sk=[$0], $f2=[$2]) HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_store_sk=[$7], ss_sales_price=[$13]) @@ -92,6 +85,16 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[BETWEEN(false, $3, 1212, 1223)]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(s_store_sk=[$0], s_store_name=[$5]) - HiveTableScan(table=[[default, store]], table:alias=[store]) + HiveProject($f0=[$0], *=[*(0.1, /($1, $2))]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) + HiveProject(ss_item_sk=[$0], ss_store_sk=[$1], $f2=[$2]) + HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_store_sk=[$7], ss_sales_price=[$13]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, $3, 1212, 1223)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query72.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query72.q.out index 206b0f1972..c56775db4b 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query72.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query72.q.out @@ -91,12 +91,13 @@ HiveSortLimit(sort0=[$5], sort1=[$0], sort2=[$1], sort3=[$2], dir0=[DESC-nulls-l HiveJoin(condition=[=($19, $2)], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[AND(AND(=($0, $14), =($8, $1)), <($3, $11))], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(inv_date_sk=[$0], inv_item_sk=[$1], inv_warehouse_sk=[$2], inv_quantity_on_hand=[$3]) - HiveTableScan(table=[[default, inventory]], table:alias=[inventory]) + HiveFilter(condition=[IS NOT NULL($3)]) + HiveTableScan(table=[[default, inventory]], table:alias=[inventory]) HiveJoin(condition=[=($0, $12)], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[=($3, $9)], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[=($2, $8)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(cs_sold_date_sk=[$0], cs_ship_date_sk=[$2], cs_bill_cdemo_sk=[$4], cs_bill_hdemo_sk=[$5], cs_item_sk=[$15], cs_promo_sk=[$16], cs_order_number=[$17], cs_quantity=[$18]) - HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($5), IS NOT NULL($0), IS NOT NULL($2))]) + HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($5), IS NOT NULL($0), IS NOT NULL($2), IS NOT NULL($18))]) HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales]) HiveProject(cd_demo_sk=[$0]) HiveFilter(condition=[=($2, _UTF-16LE'M')]) @@ -110,12 +111,13 @@ HiveSortLimit(sort0=[$5], sort1=[$0], sort2=[$1], sort3=[$2], dir0=[DESC-nulls-l HiveFilter(condition=[IS NOT NULL($4)]) HiveTableScan(table=[[default, date_dim]], table:alias=[d2]) HiveProject(d_date_sk=[$0], d_week_seq=[$4], +=[+(CAST($2):DOUBLE, 5)]) - HiveFilter(condition=[AND(=($6, 2001), IS NOT NULL($4))]) + HiveFilter(condition=[AND(=($6, 2001), IS NOT NULL($4), IS NOT NULL($2))]) HiveTableScan(table=[[default, date_dim]], table:alias=[d1]) HiveProject(w_warehouse_sk=[$0], w_warehouse_name=[$2]) HiveTableScan(table=[[default, warehouse]], table:alias=[warehouse]) HiveProject(d_date_sk=[$0], CAST=[CAST($2):DOUBLE]) - HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[d3]) HiveProject(i_item_sk=[$0], i_item_desc=[$4]) HiveTableScan(table=[[default, item]], table:alias=[item]) HiveProject(p_promo_sk=[$0]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query81.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query81.q.out index 98066643bf..43750dbf1d 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query81.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query81.q.out @@ -82,22 +82,9 @@ HiveProject(c_customer_id=[$0], c_salutation=[$1], c_first_name=[$2], c_last_nam HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) HiveProject(cr_returning_customer_sk=[$0], ca_state=[$1], $f2=[$2], _o__c0=[$3], ctr_state=[$4]) HiveJoin(condition=[AND(=($1, $4), >($2, $3))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cr_returning_customer_sk=[$1], ca_state=[$0], $f2=[$2]) - HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) - HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ca_address_sk=[$0], ca_state=[$8]) - HiveFilter(condition=[IS NOT NULL($8)]) - HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) - HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(cr_returned_date_sk=[$0], cr_returning_customer_sk=[$7], cr_returning_addr_sk=[$10], cr_return_amt_inc_tax=[$20]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10), IS NOT NULL($7))]) - HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[=($6, 1998)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_state=[$0]) - HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)]) - HiveProject(ca_state=[$0], cr_returning_customer_sk=[$1], $f2=[$2]) + HiveProject(cr_returning_customer_sk=[$0], ca_state=[$1], $f2=[$2]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveProject(cr_returning_customer_sk=[$1], ca_state=[$0], $f2=[$2]) HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(ca_address_sk=[$0], ca_state=[$8]) @@ -105,9 +92,25 @@ HiveProject(c_customer_id=[$0], c_salutation=[$1], c_first_name=[$2], c_last_nam HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(cr_returned_date_sk=[$0], cr_returning_customer_sk=[$7], cr_returning_addr_sk=[$10], cr_return_amt_inc_tax=[$20]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10))]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10), IS NOT NULL($7))]) HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[=($6, 1998)]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_state=[$0]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)]) + HiveProject(ca_state=[$0], cr_returning_customer_sk=[$1], $f2=[$2]) + HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) + HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ca_address_sk=[$0], ca_state=[$8]) + HiveFilter(condition=[IS NOT NULL($8)]) + HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address]) + HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(cr_returned_date_sk=[$0], cr_returning_customer_sk=[$7], cr_returning_addr_sk=[$10], cr_return_amt_inc_tax=[$20]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($10))]) + HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[=($6, 1998)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query92.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query92.q.out index 503c78185c..026f68ab21 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query92.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query92.q.out @@ -66,26 +66,26 @@ POSTHOOK: Input: default@web_sales POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveAggregate(group=[{}], agg#0=[sum($2)]) - HiveJoin(condition=[AND(>($2, $5), =($6, $1))], joinType=[inner], algorithm=[none], cost=[not available]) - HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_discount_amt=[$22]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(ws_item_sk=[$0], CAST3=[$1], i_item_sk=[$2]) - HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_item_sk=[$0], CAST3=[CAST(*(1.3, /($1, $2))):DECIMAL(14, 7)]) - HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) - HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_discount_amt=[$22]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00)]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(i_item_sk=[$0]) - HiveFilter(condition=[=($13, 269)]) - HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveJoin(condition=[AND(=($5, $4), >($2, $6))], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($4, $1)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_discount_amt=[$22]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($22))]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(i_item_sk=[$0]) + HiveFilter(condition=[=($13, 269)]) + HiveTableScan(table=[[default, item]], table:alias=[item]) + HiveProject(ws_item_sk=[$0], CAST3=[CAST(*(1.3, /($1, $2))):DECIMAL(14, 7)]) + HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_discount_amt=[$22]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00)]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/mv_query44.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/mv_query44.q.out index db9acc93cb..fdea4486d0 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/mv_query44.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/mv_query44.q.out @@ -19,7 +19,8 @@ POSTHOOK: type: CREATE_MATERIALIZED_VIEW POSTHOOK: Input: default@store_sales POSTHOOK: Output: database:default POSTHOOK: Output: default@mv_store_sales_item_customer -Warning: Shuffle Join MERGEJOIN[101][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 8' is a cross product +Warning: Shuffle Join MERGEJOIN[149][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 9' is a cross product +Warning: Shuffle Join MERGEJOIN[150][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 10' is a cross product PREHOOK: query: explain select asceding.rnk, i1.i_product_name best_performing, i2.i_product_name worst_performing from(select * @@ -97,118 +98,155 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Reducer 10 <- Reducer 8 (SIMPLE_EDGE) -Reducer 12 <- Map 11 (SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) +Reducer 10 <- Reducer 16 (CUSTOM_SIMPLE_EDGE), Reducer 9 (CUSTOM_SIMPLE_EDGE) +Reducer 11 <- Reducer 10 (SIMPLE_EDGE) +Reducer 12 <- Reducer 10 (SIMPLE_EDGE) +Reducer 14 <- Map 13 (SIMPLE_EDGE) +Reducer 16 <- Map 15 (SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE) Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE) Reducer 4 <- Reducer 3 (SIMPLE_EDGE) -Reducer 5 <- Map 1 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE) +Reducer 5 <- Map 1 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) Reducer 7 <- Map 6 (SIMPLE_EDGE) -Reducer 8 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 7 (CUSTOM_SIMPLE_EDGE) -Reducer 9 <- Reducer 8 (SIMPLE_EDGE) +Reducer 8 <- Reducer 7 (CUSTOM_SIMPLE_EDGE) +Reducer 9 <- Reducer 14 (CUSTOM_SIMPLE_EDGE), Reducer 8 (CUSTOM_SIMPLE_EDGE) Stage-0 Fetch Operator limit:100 Stage-1 Reducer 4 vectorized - File Output Operator [FS_135] - Limit [LIM_134] (rows=100 width=218) + File Output Operator [FS_200] + Limit [LIM_199] (rows=100 width=218) Number of rows:100 - Select Operator [SEL_133] (rows=6951 width=218) + Select Operator [SEL_198] (rows=6951 width=218) Output:["_col0","_col1","_col2"] <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_67] - Select Operator [SEL_66] (rows=6951 width=218) + SHUFFLE [RS_107] + Select Operator [SEL_106] (rows=6951 width=218) Output:["_col0","_col1","_col2"] - Merge Join Operator [MERGEJOIN_105] (rows=6951 width=218) - Conds:RS_63._col3=RS_64._col3(Inner),Output:["_col1","_col3","_col5"] + Merge Join Operator [MERGEJOIN_155] (rows=6951 width=218) + Conds:RS_103._col3=RS_104._col3(Inner),Output:["_col1","_col3","_col5"] <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_63] + SHUFFLE [RS_103] PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_102] (rows=6951 width=111) - Conds:RS_107._col0=RS_127._col0(Inner),Output:["_col1","_col3"] + Merge Join Operator [MERGEJOIN_151] (rows=6951 width=111) + Conds:RS_157._col0=RS_192._col0(Inner),Output:["_col1","_col3"] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_107] + SHUFFLE [RS_157] PartitionCols:_col0 - Select Operator [SEL_106] (rows=462000 width=111) + Select Operator [SEL_156] (rows=462000 width=111) Output:["_col0","_col1"] TableScan [TS_0] (rows=462000 width=111) default@item,i1,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_product_name"] - <-Reducer 9 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_127] + <-Reducer 11 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_192] PartitionCols:_col0 - Select Operator [SEL_126] (rows=6951 width=8) + Select Operator [SEL_191] (rows=6951 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_125] (rows=6951 width=116) + Filter Operator [FIL_190] (rows=6951 width=116) predicate:(rank_window_0 < 11) - PTF Operator [PTF_124] (rows=20854 width=116) - Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"0"}] - Select Operator [SEL_123] (rows=20854 width=116) - Output:["_col0","_col1"] - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_21] + PTF Operator [PTF_189] (rows=20854 width=116) + Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 ASC NULLS FIRST","partition by:":"0"}] + Select Operator [SEL_188] (rows=20854 width=116) + Output:["_col2","_col3"] + <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_41] PartitionCols:0 - Filter Operator [FIL_20] (rows=20854 width=228) - predicate:(_col1 > (0.9 * _col2)) - Merge Join Operator [MERGEJOIN_101] (rows=62562 width=228) - Conds:(Inner),Output:["_col0","_col1","_col2"] - <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_122] - Select Operator [SEL_121] (rows=1 width=112) - Output:["_col0"] - Group By Operator [GBY_120] (rows=1 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_119] - PartitionCols:_col0 - Group By Operator [GBY_118] (rows=258 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","count(_col1)"],keys:true - Select Operator [SEL_117] (rows=287946 width=114) - Output:["_col1"] - Filter Operator [FIL_116] (rows=287946 width=114) - predicate:((ss_store_sk = 410) and ss_hdemo_sk is null) - TableScan [TS_9] (rows=575995635 width=114) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk","ss_net_profit"] - <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_115] - Select Operator [SEL_114] (rows=62562 width=116) + Filter Operator [FIL_40] (rows=20854 width=228) + predicate:(_col3 > (0.9 * _col1)) + Merge Join Operator [MERGEJOIN_150] (rows=62562 width=228) + Conds:(Inner),Output:["_col1","_col2","_col3"] + <-Reducer 16 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_187] + Select Operator [SEL_186] (rows=62562 width=116) Output:["_col0","_col1"] - Group By Operator [GBY_113] (rows=62562 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 - <-Map 6 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_112] - PartitionCols:_col0 - Group By Operator [GBY_111] (rows=3199976 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(ss_net_profit)","count(ss_net_profit)"],keys:ss_item_sk - Select Operator [SEL_110] (rows=6399952 width=114) - Output:["ss_item_sk","ss_net_profit"] - Filter Operator [FIL_109] (rows=6399952 width=114) - predicate:(ss_store_sk = 410) - TableScan [TS_2] (rows=575995635 width=114) - default@store_sales,ss1,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_store_sk","ss_net_profit"] + Filter Operator [FIL_185] (rows=62562 width=124) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_184] (rows=62562 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 + <-Map 15 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_183] + PartitionCols:_col0 + Group By Operator [GBY_182] (rows=3199976 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(ss_net_profit)","count(ss_net_profit)"],keys:ss_item_sk + Select Operator [SEL_181] (rows=6399952 width=114) + Output:["ss_item_sk","ss_net_profit"] + Filter Operator [FIL_180] (rows=6399952 width=114) + predicate:(ss_store_sk = 410) + TableScan [TS_26] (rows=575995635 width=114) + default@store_sales,ss1,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_store_sk","ss_net_profit"] + <-Reducer 9 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_37] + Merge Join Operator [MERGEJOIN_149] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 14 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_179] + Select Operator [SEL_178] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_177] (rows=1 width=120) + predicate:(_col1 is not null and _col2 is not null) + Select Operator [SEL_176] (rows=1 width=120) + Output:["_col1","_col2"] + Group By Operator [GBY_175] (rows=1 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 + <-Map 13 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_174] + PartitionCols:_col0 + Group By Operator [GBY_173] (rows=258 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","count(_col1)"],keys:true + Select Operator [SEL_172] (rows=287946 width=114) + Output:["_col1"] + Filter Operator [FIL_171] (rows=287946 width=114) + predicate:((ss_store_sk = 410) and ss_hdemo_sk is null) + TableScan [TS_17] (rows=575995635 width=114) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk","ss_net_profit"] + <-Reducer 8 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_170] + Select Operator [SEL_169] (rows=1 width=8) + Filter Operator [FIL_168] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_167] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_166] + Group By Operator [GBY_165] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_164] (rows=1 width=4) + Group By Operator [GBY_163] (rows=1 width=4) + Output:["_col0"],keys:KEY._col0 + <-Map 6 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_162] + PartitionCols:_col0 + Group By Operator [GBY_161] (rows=18 width=4) + Output:["_col0"],keys:true + Select Operator [SEL_160] (rows=287946 width=7) + Filter Operator [FIL_159] (rows=287946 width=7) + predicate:((ss_store_sk = 410) and ss_hdemo_sk is null) + TableScan [TS_2] (rows=575995635 width=7) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk"] <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_64] + SHUFFLE [RS_104] PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_104] (rows=6951 width=111) - Conds:RS_108._col0=RS_132._col0(Inner),Output:["_col1","_col3"] + Merge Join Operator [MERGEJOIN_154] (rows=6951 width=111) + Conds:RS_158._col0=RS_197._col0(Inner),Output:["_col1","_col3"] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_108] + SHUFFLE [RS_158] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_106] - <-Reducer 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_132] + Please refer to the previous Select Operator [SEL_156] + <-Reducer 12 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_197] PartitionCols:_col0 - Select Operator [SEL_131] (rows=6951 width=8) + Select Operator [SEL_196] (rows=6951 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_130] (rows=6951 width=116) + Filter Operator [FIL_195] (rows=6951 width=116) predicate:(rank_window_0 < 11) - PTF Operator [PTF_129] (rows=20854 width=116) - Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 DESC NULLS LAST","partition by:":"0"}] - Select Operator [SEL_128] (rows=20854 width=116) - Output:["_col0","_col1"] - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_49] + PTF Operator [PTF_194] (rows=20854 width=116) + Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 DESC NULLS LAST","partition by:":"0"}] + Select Operator [SEL_193] (rows=20854 width=116) + Output:["_col2","_col3"] + <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_89] PartitionCols:0 - Please refer to the previous Filter Operator [FIL_20] + Please refer to the previous Filter Operator [FIL_40] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query1.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query1.q.out index 69f93290d9..af40ab3e2d 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query1.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query1.q.out @@ -59,119 +59,123 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 10 (SIMPLE_EDGE) -Reducer 3 <- Reducer 2 (SIMPLE_EDGE) -Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) -Reducer 5 <- Map 12 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) -Reducer 6 <- Reducer 5 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) -Reducer 7 <- Reducer 6 (SIMPLE_EDGE) -Reducer 8 <- Map 1 (SIMPLE_EDGE), Map 10 (SIMPLE_EDGE) -Reducer 9 <- Reducer 8 (SIMPLE_EDGE) +Reducer 10 <- Reducer 9 (SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 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 <- Reducer 4 (SIMPLE_EDGE) +Reducer 7 <- Map 11 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE) +Reducer 8 <- Reducer 7 (SIMPLE_EDGE) +Reducer 9 <- Map 11 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE) Stage-0 Fetch Operator limit:100 Stage-1 - Reducer 7 vectorized - File Output Operator [FS_159] - Limit [LIM_158] (rows=100 width=100) + Reducer 5 vectorized + File Output Operator [FS_163] + Limit [LIM_162] (rows=100 width=100) Number of rows:100 - Select Operator [SEL_157] (rows=816091 width=100) + Select Operator [SEL_161] (rows=816091 width=100) Output:["_col0"] - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_49] - Select Operator [SEL_48] (rows=816091 width=100) + <-Reducer 4 [SIMPLE_EDGE] + SHUFFLE [RS_51] + Select Operator [SEL_50] (rows=816091 width=100) Output:["_col0"] - Filter Operator [FIL_47] (rows=816091 width=324) - predicate:(_col2 > _col6) - Merge Join Operator [MERGEJOIN_133] (rows=2448274 width=324) - Conds:RS_44._col1=RS_156._col1(Inner),Output:["_col2","_col5","_col6"] - <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_44] + Filter Operator [FIL_49] (rows=816091 width=324) + predicate:(_col3 > _col6) + Merge Join Operator [MERGEJOIN_135] (rows=2448274 width=324) + Conds:RS_46._col2=RS_160._col1(Inner),Output:["_col3","_col5","_col6"] + <-Reducer 10 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_160] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_131] (rows=2369298 width=213) - Conds:RS_41._col0=RS_151._col0(Inner),Output:["_col1","_col2","_col5"] + Select Operator [SEL_159] (rows=31 width=115) + Output:["_col0","_col1"] + Filter Operator [FIL_158] (rows=31 width=123) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_157] (rows=31 width=123) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 + Select Operator [SEL_156] (rows=14291868 width=119) + Output:["_col1","_col2"] + Group By Operator [GBY_155] (rows=14291868 width=119) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_31] + PartitionCols:_col0 + Group By Operator [GBY_30] (rows=17467258 width=119) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 + Merge Join Operator [MERGEJOIN_134] (rows=17467258 width=107) + Conds:RS_144._col0=RS_148._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 11 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_148] + PartitionCols:_col0 + Select Operator [SEL_146] (rows=652 width=4) + Output:["_col0"] + Filter Operator [FIL_145] (rows=652 width=8) + predicate:(d_year = 2000) + TableScan [TS_6] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Map 6 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_144] + PartitionCols:_col0 + Select Operator [SEL_142] (rows=53634860 width=119) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_140] (rows=53634860 width=119) + predicate:(sr_returned_date_sk is not null and sr_store_sk is not null) + TableScan [TS_3] (rows=57591150 width=119) + default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_returned_date_sk","sr_customer_sk","sr_store_sk","sr_fee"] + <-Reducer 3 [SIMPLE_EDGE] + SHUFFLE [RS_46] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_133] (rows=2369298 width=213) + Conds:RS_43._col1=RS_154._col0(Inner),Output:["_col2","_col3","_col5"] <-Map 12 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_151] + SHUFFLE [RS_154] PartitionCols:_col0 - Select Operator [SEL_150] (rows=80000000 width=104) + Select Operator [SEL_153] (rows=80000000 width=104) Output:["_col0","_col1"] - TableScan [TS_17] (rows=80000000 width=104) + TableScan [TS_18] (rows=80000000 width=104) default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_customer_id"] - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_41] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_130] (rows=2369298 width=114) - Conds:RS_146._col1=RS_149._col0(Inner),Output:["_col0","_col1","_col2"] - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_149] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_43] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_132] (rows=2369298 width=114) + Conds:RS_138._col0=RS_152._col1(Inner),Output:["_col1","_col2","_col3"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_138] PartitionCols:_col0 - Select Operator [SEL_148] (rows=35 width=4) + Select Operator [SEL_137] (rows=35 width=4) Output:["_col0"] - Filter Operator [FIL_147] (rows=35 width=90) + Filter Operator [FIL_136] (rows=35 width=90) predicate:(s_state = 'NM') - TableScan [TS_14] (rows=1704 width=90) + TableScan [TS_0] (rows=1704 width=90) default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_state"] - <-Reducer 3 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_146] + <-Reducer 8 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_152] PartitionCols:_col1 - Select Operator [SEL_145] (rows=14291868 width=119) + Select Operator [SEL_151] (rows=14291868 width=119) Output:["_col0","_col1","_col2"] - Group By Operator [GBY_144] (rows=14291868 width=119) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_11] - PartitionCols:_col0, _col1 - Group By Operator [GBY_10] (rows=16855704 width=119) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 - Merge Join Operator [MERGEJOIN_129] (rows=16855704 width=107) - Conds:RS_138._col0=RS_142._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_138] - PartitionCols:_col0 - Select Operator [SEL_136] (rows=51757026 width=119) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_134] (rows=51757026 width=119) - predicate:(sr_customer_sk is not null and sr_returned_date_sk is not null and sr_store_sk is not null) - TableScan [TS_0] (rows=57591150 width=119) - default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_returned_date_sk","sr_customer_sk","sr_store_sk","sr_fee"] - <-Map 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_142] - PartitionCols:_col0 - Select Operator [SEL_141] (rows=652 width=4) - Output:["_col0"] - Filter Operator [FIL_140] (rows=652 width=8) - predicate:(d_year = 2000) - TableScan [TS_3] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Reducer 9 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_156] - PartitionCols:_col1 - Select Operator [SEL_155] (rows=31 width=115) - Output:["_col0","_col1"] - Group By Operator [GBY_154] (rows=31 width=123) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 - Select Operator [SEL_153] (rows=14291868 width=119) - Output:["_col1","_col2"] - Group By Operator [GBY_152] (rows=14291868 width=119) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_30] - PartitionCols:_col0 - Group By Operator [GBY_29] (rows=17467258 width=119) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 - Merge Join Operator [MERGEJOIN_132] (rows=17467258 width=107) - Conds:RS_139._col0=RS_143._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_139] - PartitionCols:_col0 - Select Operator [SEL_137] (rows=53634860 width=119) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_135] (rows=53634860 width=119) - predicate:(sr_returned_date_sk is not null and sr_store_sk is not null) - Please refer to the previous TableScan [TS_0] - <-Map 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_143] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_141] + Filter Operator [FIL_150] (rows=14291868 width=119) + predicate:_col2 is not null + Group By Operator [GBY_149] (rows=14291868 width=119) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 7 [SIMPLE_EDGE] + SHUFFLE [RS_14] + PartitionCols:_col0, _col1 + Group By Operator [GBY_13] (rows=16855704 width=119) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 + Merge Join Operator [MERGEJOIN_131] (rows=16855704 width=107) + Conds:RS_143._col0=RS_147._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 11 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_147] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_146] + <-Map 6 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_143] + PartitionCols:_col0 + Select Operator [SEL_141] (rows=51757026 width=119) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_139] (rows=51757026 width=119) + predicate:(sr_customer_sk is not null and sr_returned_date_sk is not null and sr_store_sk is not null) + Please refer to the previous TableScan [TS_3] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query14.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query14.q.out index 1a3aefe3f9..b68962efd8 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query14.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query14.q.out @@ -1,6 +1,9 @@ -Warning: Shuffle Join MERGEJOIN[1182][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 6' is a cross product -Warning: Shuffle Join MERGEJOIN[1189][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 16' is a cross product -Warning: Shuffle Join MERGEJOIN[1196][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 22' is a cross product +Warning: Shuffle Join MERGEJOIN[1467][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 5' is a cross product +Warning: Shuffle Join MERGEJOIN[1479][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[1469][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 13' is a cross product +Warning: Shuffle Join MERGEJOIN[1492][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 14' is a cross product +Warning: Shuffle Join MERGEJOIN[1471][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 18' is a cross product +Warning: Shuffle Join MERGEJOIN[1505][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 19' is a cross product PREHOOK: query: explain with cross_items as (select i_item_sk ss_item_sk @@ -222,828 +225,1116 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Map 1 <- Reducer 11 (BROADCAST_EDGE) -Map 24 <- Reducer 40 (BROADCAST_EDGE) -Map 63 <- Reducer 46 (BROADCAST_EDGE) -Map 64 <- Reducer 52 (BROADCAST_EDGE) -Map 66 <- Reducer 56 (BROADCAST_EDGE) -Map 67 <- Reducer 72 (BROADCAST_EDGE) -Map 73 <- Reducer 78 (BROADCAST_EDGE) -Map 79 <- Reducer 17 (BROADCAST_EDGE) -Map 80 <- Reducer 23 (BROADCAST_EDGE) -Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE) -Reducer 12 <- Map 10 (SIMPLE_EDGE), Map 79 (SIMPLE_EDGE) -Reducer 13 <- Reducer 12 (SIMPLE_EDGE), Reducer 34 (SIMPLE_EDGE) -Reducer 14 <- Map 65 (SIMPLE_EDGE), Reducer 13 (ONE_TO_ONE_EDGE) -Reducer 15 <- Reducer 14 (SIMPLE_EDGE) -Reducer 16 <- Reducer 15 (CUSTOM_SIMPLE_EDGE), Reducer 59 (CUSTOM_SIMPLE_EDGE), Union 7 (CONTAINS) -Reducer 17 <- Map 10 (CUSTOM_SIMPLE_EDGE) -Reducer 18 <- Map 10 (SIMPLE_EDGE), Map 80 (SIMPLE_EDGE) -Reducer 19 <- Reducer 18 (SIMPLE_EDGE), Reducer 38 (SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 10 (SIMPLE_EDGE) -Reducer 20 <- Map 65 (SIMPLE_EDGE), Reducer 19 (ONE_TO_ONE_EDGE) -Reducer 21 <- Reducer 20 (SIMPLE_EDGE) -Reducer 22 <- Reducer 21 (CUSTOM_SIMPLE_EDGE), Reducer 62 (CUSTOM_SIMPLE_EDGE), Union 7 (CONTAINS) -Reducer 23 <- Map 10 (CUSTOM_SIMPLE_EDGE) -Reducer 25 <- Map 24 (SIMPLE_EDGE), Map 39 (SIMPLE_EDGE) -Reducer 26 <- Map 65 (SIMPLE_EDGE), Reducer 25 (SIMPLE_EDGE) -Reducer 27 <- Reducer 26 (SIMPLE_EDGE), Union 28 (CONTAINS) -Reducer 29 <- Union 28 (SIMPLE_EDGE) -Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 30 (SIMPLE_EDGE) -Reducer 30 <- Map 65 (SIMPLE_EDGE), Reducer 29 (ONE_TO_ONE_EDGE) -Reducer 31 <- Reducer 26 (SIMPLE_EDGE), Union 32 (CONTAINS) -Reducer 33 <- Union 32 (SIMPLE_EDGE) -Reducer 34 <- Map 65 (SIMPLE_EDGE), Reducer 33 (ONE_TO_ONE_EDGE) -Reducer 35 <- Reducer 26 (SIMPLE_EDGE), Union 36 (CONTAINS) -Reducer 37 <- Union 36 (SIMPLE_EDGE) -Reducer 38 <- Map 65 (SIMPLE_EDGE), Reducer 37 (ONE_TO_ONE_EDGE) -Reducer 4 <- Map 65 (SIMPLE_EDGE), Reducer 3 (ONE_TO_ONE_EDGE) -Reducer 40 <- Map 39 (CUSTOM_SIMPLE_EDGE) -Reducer 41 <- Map 39 (SIMPLE_EDGE), Map 63 (SIMPLE_EDGE) -Reducer 42 <- Map 65 (SIMPLE_EDGE), Reducer 41 (SIMPLE_EDGE) -Reducer 43 <- Reducer 42 (SIMPLE_EDGE), Union 28 (CONTAINS) -Reducer 44 <- Reducer 42 (SIMPLE_EDGE), Union 32 (CONTAINS) -Reducer 45 <- Reducer 42 (SIMPLE_EDGE), Union 36 (CONTAINS) -Reducer 46 <- Map 39 (CUSTOM_SIMPLE_EDGE) -Reducer 47 <- Map 39 (SIMPLE_EDGE), Map 64 (SIMPLE_EDGE) -Reducer 48 <- Map 65 (SIMPLE_EDGE), Reducer 47 (SIMPLE_EDGE) -Reducer 49 <- Reducer 48 (SIMPLE_EDGE), Union 28 (CONTAINS) -Reducer 5 <- Reducer 4 (SIMPLE_EDGE) -Reducer 50 <- Reducer 48 (SIMPLE_EDGE), Union 32 (CONTAINS) -Reducer 51 <- Reducer 48 (SIMPLE_EDGE), Union 36 (CONTAINS) -Reducer 52 <- Map 39 (CUSTOM_SIMPLE_EDGE) -Reducer 53 <- Map 39 (SIMPLE_EDGE), Map 66 (SIMPLE_EDGE), Union 54 (CONTAINS) -Reducer 55 <- Union 54 (CUSTOM_SIMPLE_EDGE) -Reducer 56 <- Map 39 (CUSTOM_SIMPLE_EDGE) -Reducer 57 <- Map 39 (SIMPLE_EDGE), Map 66 (SIMPLE_EDGE), Union 58 (CONTAINS) -Reducer 59 <- Union 58 (CUSTOM_SIMPLE_EDGE) -Reducer 6 <- Reducer 5 (CUSTOM_SIMPLE_EDGE), Reducer 55 (CUSTOM_SIMPLE_EDGE), Union 7 (CONTAINS) -Reducer 60 <- Map 39 (SIMPLE_EDGE), Map 66 (SIMPLE_EDGE), Union 61 (CONTAINS) -Reducer 62 <- Union 61 (CUSTOM_SIMPLE_EDGE) -Reducer 68 <- Map 67 (SIMPLE_EDGE), Map 71 (SIMPLE_EDGE), Union 54 (CONTAINS) -Reducer 69 <- Map 67 (SIMPLE_EDGE), Map 71 (SIMPLE_EDGE), Union 58 (CONTAINS) -Reducer 70 <- Map 67 (SIMPLE_EDGE), Map 71 (SIMPLE_EDGE), Union 61 (CONTAINS) -Reducer 72 <- Map 71 (CUSTOM_SIMPLE_EDGE) -Reducer 74 <- Map 73 (SIMPLE_EDGE), Map 77 (SIMPLE_EDGE), Union 54 (CONTAINS) -Reducer 75 <- Map 73 (SIMPLE_EDGE), Map 77 (SIMPLE_EDGE), Union 58 (CONTAINS) -Reducer 76 <- Map 73 (SIMPLE_EDGE), Map 77 (SIMPLE_EDGE), Union 61 (CONTAINS) -Reducer 78 <- Map 77 (CUSTOM_SIMPLE_EDGE) +Map 1 <- Reducer 98 (BROADCAST_EDGE) +Map 100 <- Reducer 91 (BROADCAST_EDGE) +Map 101 <- Reducer 97 (BROADCAST_EDGE) +Map 103 <- Reducer 63 (BROADCAST_EDGE) +Map 104 <- Reducer 68 (BROADCAST_EDGE) +Map 20 <- Reducer 25 (BROADCAST_EDGE) +Map 36 <- Reducer 41 (BROADCAST_EDGE) +Map 46 <- Reducer 99 (BROADCAST_EDGE) +Map 50 <- Reducer 29 (BROADCAST_EDGE) +Map 51 <- Reducer 43 (BROADCAST_EDGE) +Map 52 <- Reducer 58 (BROADCAST_EDGE) +Map 69 <- Reducer 85 (BROADCAST_EDGE) +Reducer 10 <- Map 1 (SIMPLE_EDGE), Map 84 (SIMPLE_EDGE), Union 11 (CONTAINS) +Reducer 12 <- Union 11 (CUSTOM_SIMPLE_EDGE) +Reducer 13 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 32 (CUSTOM_SIMPLE_EDGE) +Reducer 14 <- Reducer 13 (CUSTOM_SIMPLE_EDGE), Reducer 62 (CUSTOM_SIMPLE_EDGE), Union 7 (CONTAINS) +Reducer 15 <- Map 1 (SIMPLE_EDGE), Map 84 (SIMPLE_EDGE), Union 16 (CONTAINS) +Reducer 17 <- Union 16 (CUSTOM_SIMPLE_EDGE) +Reducer 18 <- Reducer 17 (CUSTOM_SIMPLE_EDGE), Reducer 35 (CUSTOM_SIMPLE_EDGE) +Reducer 19 <- Reducer 18 (CUSTOM_SIMPLE_EDGE), Reducer 67 (CUSTOM_SIMPLE_EDGE), Union 7 (CONTAINS) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 84 (SIMPLE_EDGE), Union 3 (CONTAINS) +Reducer 21 <- Map 20 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE), Union 3 (CONTAINS) +Reducer 22 <- Map 20 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE), Union 11 (CONTAINS) +Reducer 23 <- Map 20 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE), Union 16 (CONTAINS) +Reducer 25 <- Map 24 (CUSTOM_SIMPLE_EDGE) +Reducer 26 <- Map 24 (SIMPLE_EDGE), Map 50 (SIMPLE_EDGE), Union 27 (CONTAINS) +Reducer 28 <- Union 27 (CUSTOM_SIMPLE_EDGE) +Reducer 29 <- Map 24 (CUSTOM_SIMPLE_EDGE) +Reducer 30 <- Map 24 (SIMPLE_EDGE), Map 50 (SIMPLE_EDGE), Union 31 (CONTAINS) +Reducer 32 <- Union 31 (CUSTOM_SIMPLE_EDGE) +Reducer 33 <- Map 24 (SIMPLE_EDGE), Map 50 (SIMPLE_EDGE), Union 34 (CONTAINS) +Reducer 35 <- Union 34 (CUSTOM_SIMPLE_EDGE) +Reducer 37 <- Map 36 (SIMPLE_EDGE), Map 40 (SIMPLE_EDGE), Union 3 (CONTAINS) +Reducer 38 <- Map 36 (SIMPLE_EDGE), Map 40 (SIMPLE_EDGE), Union 11 (CONTAINS) +Reducer 39 <- Map 36 (SIMPLE_EDGE), Map 40 (SIMPLE_EDGE), Union 16 (CONTAINS) +Reducer 4 <- Union 3 (CUSTOM_SIMPLE_EDGE) +Reducer 41 <- Map 40 (CUSTOM_SIMPLE_EDGE) +Reducer 42 <- Map 40 (SIMPLE_EDGE), Map 51 (SIMPLE_EDGE), Union 27 (CONTAINS) +Reducer 43 <- Map 40 (CUSTOM_SIMPLE_EDGE) +Reducer 44 <- Map 40 (SIMPLE_EDGE), Map 51 (SIMPLE_EDGE), Union 31 (CONTAINS) +Reducer 45 <- Map 40 (SIMPLE_EDGE), Map 51 (SIMPLE_EDGE), Union 34 (CONTAINS) +Reducer 47 <- Map 46 (SIMPLE_EDGE), Map 84 (SIMPLE_EDGE), Union 27 (CONTAINS) +Reducer 48 <- Map 46 (SIMPLE_EDGE), Map 84 (SIMPLE_EDGE), Union 31 (CONTAINS) +Reducer 49 <- Map 46 (SIMPLE_EDGE), Map 84 (SIMPLE_EDGE), Union 34 (CONTAINS) +Reducer 5 <- Reducer 28 (CUSTOM_SIMPLE_EDGE), Reducer 4 (CUSTOM_SIMPLE_EDGE) +Reducer 53 <- Map 52 (SIMPLE_EDGE), Map 57 (SIMPLE_EDGE) +Reducer 54 <- Reducer 53 (SIMPLE_EDGE), Reducer 75 (SIMPLE_EDGE) +Reducer 55 <- Map 102 (SIMPLE_EDGE), Reducer 54 (ONE_TO_ONE_EDGE) +Reducer 56 <- Reducer 55 (SIMPLE_EDGE) +Reducer 58 <- Map 57 (CUSTOM_SIMPLE_EDGE) +Reducer 59 <- Map 103 (SIMPLE_EDGE), Map 57 (SIMPLE_EDGE) +Reducer 6 <- Reducer 5 (CUSTOM_SIMPLE_EDGE), Reducer 56 (CUSTOM_SIMPLE_EDGE), Union 7 (CONTAINS) +Reducer 60 <- Reducer 59 (SIMPLE_EDGE), Reducer 79 (SIMPLE_EDGE) +Reducer 61 <- Map 102 (SIMPLE_EDGE), Reducer 60 (ONE_TO_ONE_EDGE) +Reducer 62 <- Reducer 61 (SIMPLE_EDGE) +Reducer 63 <- Map 57 (CUSTOM_SIMPLE_EDGE) +Reducer 64 <- Map 104 (SIMPLE_EDGE), Map 57 (SIMPLE_EDGE) +Reducer 65 <- Reducer 64 (SIMPLE_EDGE), Reducer 83 (SIMPLE_EDGE) +Reducer 66 <- Map 102 (SIMPLE_EDGE), Reducer 65 (ONE_TO_ONE_EDGE) +Reducer 67 <- Reducer 66 (SIMPLE_EDGE) +Reducer 68 <- Map 57 (CUSTOM_SIMPLE_EDGE) +Reducer 70 <- Map 69 (SIMPLE_EDGE), Map 84 (SIMPLE_EDGE) +Reducer 71 <- Map 102 (SIMPLE_EDGE), Reducer 70 (SIMPLE_EDGE) +Reducer 72 <- Reducer 71 (SIMPLE_EDGE), Union 73 (CONTAINS) +Reducer 74 <- Union 73 (SIMPLE_EDGE) +Reducer 75 <- Map 102 (SIMPLE_EDGE), Reducer 74 (ONE_TO_ONE_EDGE) +Reducer 76 <- Reducer 71 (SIMPLE_EDGE), Union 77 (CONTAINS) +Reducer 78 <- Union 77 (SIMPLE_EDGE) +Reducer 79 <- Map 102 (SIMPLE_EDGE), Reducer 78 (ONE_TO_ONE_EDGE) Reducer 8 <- Union 7 (SIMPLE_EDGE) +Reducer 80 <- Reducer 71 (SIMPLE_EDGE), Union 81 (CONTAINS) +Reducer 82 <- Union 81 (SIMPLE_EDGE) +Reducer 83 <- Map 102 (SIMPLE_EDGE), Reducer 82 (ONE_TO_ONE_EDGE) +Reducer 85 <- Map 84 (CUSTOM_SIMPLE_EDGE) +Reducer 86 <- Map 100 (SIMPLE_EDGE), Map 84 (SIMPLE_EDGE) +Reducer 87 <- Map 102 (SIMPLE_EDGE), Reducer 86 (SIMPLE_EDGE) +Reducer 88 <- Reducer 87 (SIMPLE_EDGE), Union 73 (CONTAINS) +Reducer 89 <- Reducer 87 (SIMPLE_EDGE), Union 77 (CONTAINS) Reducer 9 <- Reducer 8 (SIMPLE_EDGE) +Reducer 90 <- Reducer 87 (SIMPLE_EDGE), Union 81 (CONTAINS) +Reducer 91 <- Map 84 (CUSTOM_SIMPLE_EDGE) +Reducer 92 <- Map 101 (SIMPLE_EDGE), Map 84 (SIMPLE_EDGE) +Reducer 93 <- Map 102 (SIMPLE_EDGE), Reducer 92 (SIMPLE_EDGE) +Reducer 94 <- Reducer 93 (SIMPLE_EDGE), Union 73 (CONTAINS) +Reducer 95 <- Reducer 93 (SIMPLE_EDGE), Union 77 (CONTAINS) +Reducer 96 <- Reducer 93 (SIMPLE_EDGE), Union 81 (CONTAINS) +Reducer 97 <- Map 84 (CUSTOM_SIMPLE_EDGE) +Reducer 98 <- Map 84 (CUSTOM_SIMPLE_EDGE) +Reducer 99 <- Map 84 (CUSTOM_SIMPLE_EDGE) Stage-0 Fetch Operator limit:100 Stage-1 Reducer 9 vectorized - File Output Operator [FS_1350] - Limit [LIM_1349] (rows=7 width=192) + File Output Operator [FS_1736] + Limit [LIM_1735] (rows=7 width=192) Number of rows:100 - Select Operator [SEL_1348] (rows=7 width=192) + Select Operator [SEL_1734] (rows=7 width=192) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] <-Reducer 8 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1347] - Select Operator [SEL_1346] (rows=7 width=192) + SHUFFLE [RS_1733] + Select Operator [SEL_1732] (rows=7 width=192) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Group By Operator [GBY_1345] (rows=7 width=200) + Group By Operator [GBY_1731] (rows=7 width=200) Output:["_col0","_col1","_col2","_col3","_col5","_col6"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4 <-Union 7 [SIMPLE_EDGE] - <-Reducer 16 [CONTAINS] - Reduce Output Operator [RS_1195] + <-Reducer 14 [CONTAINS] + Reduce Output Operator [RS_1498] PartitionCols:_col0, _col1, _col2, _col3, _col4 - Group By Operator [GBY_1194] (rows=7 width=200) + Group By Operator [GBY_1497] (rows=7 width=200) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col4)","sum(_col5)"],keys:_col0, _col1, _col2, _col3, 0L - Top N Key Operator [TNK_1193] (rows=3 width=221) + Top N Key Operator [TNK_1496] (rows=3 width=221) keys:_col0, _col1, _col2, _col3, 0L,sort order:+++++,top n:100 - Select Operator [SEL_1191] (rows=1 width=223) + Select Operator [SEL_1494] (rows=1 width=223) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_1190] (rows=1 width=244) - predicate:(_col3 > _col5) - Merge Join Operator [MERGEJOIN_1189] (rows=1 width=244) - Conds:(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - <-Reducer 15 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1361] - Group By Operator [GBY_1360] (rows=1 width=132) - Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 14 [SIMPLE_EDGE] - SHUFFLE [RS_235] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_234] (rows=1 width=132) - Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2 - Select Operator [SEL_232] (rows=1 width=128) - Output:["_col0","_col1","_col2","_col3"] - Merge Join Operator [MERGEJOIN_1162] (rows=1 width=128) - Conds:RS_229._col1=RS_1330._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9"] - <-Map 65 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1330] - PartitionCols:_col0 - Select Operator [SEL_1321] (rows=462000 width=15) - Output:["_col0","_col1","_col2","_col3"] - TableScan [TS_81] (rows=462000 width=15) - default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_brand_id","i_class_id","i_category_id"] - <-Reducer 13 [ONE_TO_ONE_EDGE] - FORWARD [RS_229] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1161] (rows=1 width=120) - Conds:RS_226._col1=RS_227._col0(Inner),Output:["_col1","_col2","_col3"] - <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_226] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1153] (rows=7790806 width=98) - Conds:RS_1355._col0=RS_1297._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 10 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1297] - PartitionCols:_col0 - Select Operator [SEL_1294] (rows=50 width=4) + Filter Operator [FIL_1493] (rows=1 width=244) + predicate:(_col5 > _col1) + Merge Join Operator [MERGEJOIN_1492] (rows=1 width=244) + Conds:(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"] + <-Reducer 13 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_377] + Merge Join Operator [MERGEJOIN_1469] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1742] + Select Operator [SEL_1741] (rows=1 width=8) + Filter Operator [FIL_1740] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_1739] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_1738] (rows=1 width=8) + Group By Operator [GBY_1737] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Union 11 [CUSTOM_SIMPLE_EDGE] + <-Reducer 10 [CONTAINS] + Reduce Output Operator [RS_1491] + Group By Operator [GBY_1490] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1489] (rows=26270325 width=1) Output:["_col0"] - Filter Operator [FIL_1293] (rows=50 width=12) - predicate:((d_moy = 11) and (d_year = 2000)) - TableScan [TS_3] (rows=73049 width=12) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"] - <-Map 79 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1355] - PartitionCols:_col0 - Select Operator [SEL_1354] (rows=286549727 width=123) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1353] (rows=286549727 width=123) - predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_224_date_dim_d_date_sk_min) AND DynamicValue(RS_224_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_224_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null) - TableScan [TS_140] (rows=287989836 width=123) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_quantity","cs_list_price"] - <-Reducer 17 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1352] - Group By Operator [GBY_1351] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1305] - Group By Operator [GBY_1302] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1298] (rows=50 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1294] - <-Reducer 34 [SIMPLE_EDGE] - SHUFFLE [RS_227] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_1160] (rows=724 width=4) - Conds:RS_1338._col1, _col2, _col3=RS_1359._col0, _col1, _col2(Inner),Output:["_col0"] - <-Map 65 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1338] - PartitionCols:_col1, _col2, _col3 - Select Operator [SEL_1331] (rows=458612 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1322] (rows=458612 width=15) - predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null) - Please refer to the previous TableScan [TS_81] - <-Reducer 33 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_1359] - PartitionCols:_col0, _col1, _col2 - Select Operator [SEL_1358] (rows=1 width=12) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1357] (rows=1 width=20) - predicate:(_col3 = 3L) - Group By Operator [GBY_1356] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Union 32 [SIMPLE_EDGE] - <-Reducer 31 [CONTAINS] vectorized - Reduce Output Operator [RS_1409] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1408] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1407] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 26 [SIMPLE_EDGE] - SHUFFLE [RS_166] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_25] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col5, _col6 - Merge Join Operator [MERGEJOIN_1142] (rows=14628613 width=11) - Conds:RS_21._col1=RS_1335._col0(Inner),Output:["_col4","_col5","_col6"] - <-Map 65 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1335] - PartitionCols:_col0 - Select Operator [SEL_1327] (rows=458612 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1318] (rows=458612 width=15) - predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null) - Please refer to the previous TableScan [TS_81] - <-Reducer 25 [SIMPLE_EDGE] - SHUFFLE [RS_21] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1141] (rows=14736682 width=4) - Conds:RS_1403._col0=RS_1381._col0(Inner),Output:["_col1"] - <-Map 39 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1381] - PartitionCols:_col0 - Select Operator [SEL_1380] (rows=1957 width=4) - Output:["_col0"] - Filter Operator [FIL_1379] (rows=1957 width=8) - predicate:d_year BETWEEN 1999 AND 2001 - TableScan [TS_12] (rows=73049 width=8) - default@date_dim,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Map 24 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1403] - PartitionCols:_col0 - Select Operator [SEL_1402] (rows=550076554 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_1401] (rows=550076554 width=7) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_19_d1_d_date_sk_min) AND DynamicValue(RS_19_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_19_d1_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null) - TableScan [TS_9] (rows=575995635 width=7) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk"] - <-Reducer 40 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1400] - Group By Operator [GBY_1399] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 39 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_1395] - Group By Operator [GBY_1391] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1382] (rows=1957 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1380] - <-Reducer 44 [CONTAINS] vectorized - Reduce Output Operator [RS_1423] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1422] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1421] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 42 [SIMPLE_EDGE] - SHUFFLE [RS_186] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_45] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col5, _col6 - Merge Join Operator [MERGEJOIN_1144] (rows=7620440 width=11) - Conds:RS_41._col1=RS_1336._col0(Inner),Output:["_col4","_col5","_col6"] - <-Map 65 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1336] - PartitionCols:_col0 - Select Operator [SEL_1328] (rows=458612 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1319] (rows=458612 width=15) - predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null) - Please refer to the previous TableScan [TS_81] - <-Reducer 41 [SIMPLE_EDGE] - SHUFFLE [RS_41] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1143] (rows=7676736 width=4) - Conds:RS_1417._col0=RS_1383._col0(Inner),Output:["_col1"] - <-Map 39 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1383] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1380] - <-Map 63 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1417] - PartitionCols:_col0 - Select Operator [SEL_1416] (rows=286549727 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_1415] (rows=286549727 width=7) - predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_39_d2_d_date_sk_min) AND DynamicValue(RS_39_d2_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_39_d2_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null) - TableScan [TS_29] (rows=287989836 width=7) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk"] - <-Reducer 46 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1414] - Group By Operator [GBY_1413] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 39 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_1396] - Group By Operator [GBY_1392] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1384] (rows=1957 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1380] - <-Reducer 50 [CONTAINS] vectorized - Reduce Output Operator [RS_1437] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1436] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1435] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 48 [SIMPLE_EDGE] - SHUFFLE [RS_207] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_66] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col5, _col6 - Merge Join Operator [MERGEJOIN_1146] (rows=3828623 width=11) - Conds:RS_62._col1=RS_1337._col0(Inner),Output:["_col4","_col5","_col6"] - <-Map 65 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1337] - PartitionCols:_col0 - Select Operator [SEL_1329] (rows=458612 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1320] (rows=458612 width=15) - predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null) - Please refer to the previous TableScan [TS_81] - <-Reducer 47 [SIMPLE_EDGE] - SHUFFLE [RS_62] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1145] (rows=3856907 width=4) - Conds:RS_1431._col0=RS_1385._col0(Inner),Output:["_col1"] - <-Map 39 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1385] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1380] - <-Map 64 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1431] - PartitionCols:_col0 - Select Operator [SEL_1430] (rows=143966864 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_1429] (rows=143966864 width=7) - predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_60_d3_d_date_sk_min) AND DynamicValue(RS_60_d3_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_60_d3_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null) - TableScan [TS_50] (rows=144002668 width=7) - default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk"] - <-Reducer 52 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1428] - Group By Operator [GBY_1427] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 39 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_1397] - Group By Operator [GBY_1393] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1386] (rows=1957 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1380] - <-Reducer 59 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1364] - Select Operator [SEL_1363] (rows=1 width=112) - Output:["_col0"] - Group By Operator [GBY_1362] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] - <-Union 58 [CUSTOM_SIMPLE_EDGE] - <-Reducer 57 [CONTAINS] - Reduce Output Operator [RS_1250] - Group By Operator [GBY_1249] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1248] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1246] (rows=14736682 width=0) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1245] (rows=14736682 width=0) - Conds:RS_1446._col0=RS_1389._col0(Inner),Output:["_col1","_col2"] - <-Map 39 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1389] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1380] - <-Map 66 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1446] - PartitionCols:_col0 - Select Operator [SEL_1444] (rows=550076554 width=114) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1443] (rows=550076554 width=114) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_105_date_dim_d_date_sk_min) AND DynamicValue(RS_105_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_105_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null) - TableScan [TS_98] (rows=575995635 width=114) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_quantity","ss_list_price"] - <-Reducer 56 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1442] - Group By Operator [GBY_1441] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 39 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_1398] - Group By Operator [GBY_1394] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1388] (rows=1957 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1380] - <-Reducer 69 [CONTAINS] - Reduce Output Operator [RS_1268] - Group By Operator [GBY_1267] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1266] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1264] (rows=7676736 width=94) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1263] (rows=7676736 width=94) - Conds:RS_1461._col0=RS_1452._col0(Inner),Output:["_col1","_col2"] - <-Map 71 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1452] - PartitionCols:_col0 - Select Operator [SEL_1449] (rows=1957 width=4) - Output:["_col0"] - Filter Operator [FIL_1448] (rows=1957 width=8) - predicate:d_year BETWEEN 1998 AND 2000 - TableScan [TS_111] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Map 67 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1461] - PartitionCols:_col0 - Select Operator [SEL_1459] (rows=286549727 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1458] (rows=286549727 width=119) - predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_115_date_dim_d_date_sk_min) AND DynamicValue(RS_115_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_115_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null) - TableScan [TS_108] (rows=287989836 width=119) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_quantity","cs_list_price"] - <-Reducer 72 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1457] - Group By Operator [GBY_1456] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 71 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1455] - Group By Operator [GBY_1454] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1451] (rows=1957 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1449] - <-Reducer 75 [CONTAINS] - Reduce Output Operator [RS_1286] - Group By Operator [GBY_1285] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1284] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1282] (rows=3856907 width=114) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1281] (rows=3856907 width=114) - Conds:RS_1476._col0=RS_1467._col0(Inner),Output:["_col1","_col2"] - <-Map 77 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1467] - PartitionCols:_col0 - Select Operator [SEL_1464] (rows=1957 width=4) - Output:["_col0"] - Filter Operator [FIL_1463] (rows=1957 width=8) - predicate:d_year BETWEEN 1998 AND 2000 - TableScan [TS_122] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Map 73 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1476] + Select Operator [SEL_1487] (rows=14736682 width=0) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1486] (rows=14736682 width=0) + Conds:RS_1669._col0=RS_1650._col0(Inner),Output:["_col1"] + <-Map 84 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1650] + PartitionCols:_col0 + Select Operator [SEL_1639] (rows=1957 width=4) + Output:["_col0"] + Filter Operator [FIL_1638] (rows=1957 width=8) + predicate:d_year BETWEEN 1999 AND 2001 + TableScan [TS_96] (rows=73049 width=8) + default@date_dim,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1669] + PartitionCols:_col0 + Select Operator [SEL_1667] (rows=550076554 width=7) + Output:["_col0","_col1"] + Filter Operator [FIL_1666] (rows=550076554 width=7) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_7_date_dim_d_date_sk_min) AND DynamicValue(RS_7_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_7_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null) + TableScan [TS_0] (rows=575995635 width=7) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_quantity"] + <-Reducer 98 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1665] + Group By Operator [GBY_1664] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 84 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1662] + Group By Operator [GBY_1657] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1647] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1639] + <-Reducer 22 [CONTAINS] + Reduce Output Operator [RS_1523] + Group By Operator [GBY_1522] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1521] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1519] (rows=7676736 width=3) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1518] (rows=7676736 width=3) + Conds:RS_1800._col0=RS_1787._col0(Inner),Output:["_col1"] + <-Map 24 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1787] + PartitionCols:_col0 + Select Operator [SEL_1782] (rows=1957 width=4) + Output:["_col0"] + Filter Operator [FIL_1781] (rows=1957 width=8) + predicate:d_year BETWEEN 1998 AND 2000 + TableScan [TS_13] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Map 20 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1800] + PartitionCols:_col0 + Select Operator [SEL_1798] (rows=286549727 width=7) + Output:["_col0","_col1"] + Filter Operator [FIL_1797] (rows=286549727 width=7) + predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_17_date_dim_d_date_sk_min) AND DynamicValue(RS_17_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_17_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null) + TableScan [TS_10] (rows=287989836 width=7) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_quantity"] + <-Reducer 25 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1796] + Group By Operator [GBY_1795] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 24 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_1793] + Group By Operator [GBY_1791] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1784] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1782] + <-Reducer 38 [CONTAINS] + Reduce Output Operator [RS_1559] + Group By Operator [GBY_1558] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1557] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1555] (rows=3856907 width=3) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1554] (rows=3856907 width=3) + Conds:RS_1828._col0=RS_1815._col0(Inner),Output:["_col1"] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1815] + PartitionCols:_col0 + Select Operator [SEL_1810] (rows=1957 width=4) + Output:["_col0"] + Filter Operator [FIL_1809] (rows=1957 width=8) + predicate:d_year BETWEEN 1998 AND 2000 + TableScan [TS_24] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Map 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1828] + PartitionCols:_col0 + Select Operator [SEL_1826] (rows=143966864 width=7) + Output:["_col0","_col1"] + Filter Operator [FIL_1825] (rows=143966864 width=7) + predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_28_date_dim_d_date_sk_min) AND DynamicValue(RS_28_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_28_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null) + TableScan [TS_21] (rows=144002668 width=7) + default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_quantity"] + <-Reducer 41 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1824] + Group By Operator [GBY_1823] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 40 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_1821] + Group By Operator [GBY_1819] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1812] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1810] + <-Reducer 32 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1746] + Select Operator [SEL_1745] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_1744] (rows=1 width=120) + predicate:(_col0 is not null and _col1 is not null) + Group By Operator [GBY_1743] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] + <-Union 31 [CUSTOM_SIMPLE_EDGE] + <-Reducer 30 [CONTAINS] + Reduce Output Operator [RS_1541] + Group By Operator [GBY_1540] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1539] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1537] (rows=7676736 width=94) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1536] (rows=7676736 width=94) + Conds:RS_1807._col0=RS_1788._col0(Inner),Output:["_col1","_col2"] + <-Map 24 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1788] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1782] + <-Map 50 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1807] + PartitionCols:_col0 + Select Operator [SEL_1805] (rows=286549727 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1804] (rows=286549727 width=119) + predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_62_date_dim_d_date_sk_min) AND DynamicValue(RS_62_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_62_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null) + TableScan [TS_55] (rows=287989836 width=119) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_quantity","cs_list_price"] + <-Reducer 29 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1803] + Group By Operator [GBY_1802] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 24 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_1794] + Group By Operator [GBY_1792] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1786] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1782] + <-Reducer 44 [CONTAINS] + Reduce Output Operator [RS_1577] + Group By Operator [GBY_1576] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1575] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1573] (rows=3856907 width=114) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1572] (rows=3856907 width=114) + Conds:RS_1835._col0=RS_1816._col0(Inner),Output:["_col1","_col2"] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1816] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1810] + <-Map 51 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1835] + PartitionCols:_col0 + Select Operator [SEL_1833] (rows=143966864 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1832] (rows=143966864 width=119) + predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_73_date_dim_d_date_sk_min) AND DynamicValue(RS_73_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_73_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null) + TableScan [TS_66] (rows=144002668 width=119) + default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_quantity","ws_list_price"] + <-Reducer 43 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1831] + Group By Operator [GBY_1830] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 40 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_1822] + Group By Operator [GBY_1820] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1814] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1810] + <-Reducer 48 [CONTAINS] + Reduce Output Operator [RS_1595] + Group By Operator [GBY_1594] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1593] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1591] (rows=14736682 width=0) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1590] (rows=14736682 width=0) + Conds:RS_1842._col0=RS_1651._col0(Inner),Output:["_col1","_col2"] + <-Map 84 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1651] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1639] + <-Map 46 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1842] + PartitionCols:_col0 + Select Operator [SEL_1840] (rows=550076554 width=114) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1839] (rows=550076554 width=114) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_52_date_dim_d_date_sk_min) AND DynamicValue(RS_52_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_52_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null) + TableScan [TS_45] (rows=575995635 width=114) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_quantity","ss_list_price"] + <-Reducer 99 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1838] + Group By Operator [GBY_1837] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 84 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1663] + Group By Operator [GBY_1658] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1649] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1639] + <-Reducer 62 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1758] + Filter Operator [FIL_1757] (rows=1 width=132) + predicate:_col3 is not null + Group By Operator [GBY_1756] (rows=1 width=132) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 61 [SIMPLE_EDGE] + SHUFFLE [RS_370] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_369] (rows=1 width=132) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2 + Select Operator [SEL_367] (rows=1 width=128) + Output:["_col0","_col1","_col2","_col3"] + Merge Join Operator [MERGEJOIN_1450] (rows=1 width=128) + Conds:RS_364._col1=RS_1718._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9"] + <-Map 102 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1718] + PartitionCols:_col0 + Select Operator [SEL_1709] (rows=462000 width=15) + Output:["_col0","_col1","_col2","_col3"] + TableScan [TS_165] (rows=462000 width=15) + default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_brand_id","i_class_id","i_category_id"] + <-Reducer 60 [ONE_TO_ONE_EDGE] + FORWARD [RS_364] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1449] (rows=1 width=120) + Conds:RS_361._col1=RS_362._col0(Inner),Output:["_col1","_col2","_col3"] + <-Reducer 59 [SIMPLE_EDGE] + SHUFFLE [RS_361] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1441] (rows=7790806 width=98) + Conds:RS_1751._col0=RS_1685._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 57 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1685] + PartitionCols:_col0 + Select Operator [SEL_1682] (rows=50 width=4) + Output:["_col0"] + Filter Operator [FIL_1681] (rows=50 width=12) + predicate:((d_moy = 11) and (d_year = 2000)) + TableScan [TS_87] (rows=73049 width=12) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"] + <-Map 103 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1751] + PartitionCols:_col0 + Select Operator [SEL_1750] (rows=286549727 width=123) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1749] (rows=286549727 width=123) + predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_359_date_dim_d_date_sk_min) AND DynamicValue(RS_359_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_359_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null) + TableScan [TS_275] (rows=287989836 width=123) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_quantity","cs_list_price"] + <-Reducer 63 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1748] + Group By Operator [GBY_1747] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 57 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1693] + Group By Operator [GBY_1690] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1686] (rows=50 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1682] + <-Reducer 79 [SIMPLE_EDGE] + SHUFFLE [RS_362] PartitionCols:_col0 - Select Operator [SEL_1474] (rows=143966864 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1473] (rows=143966864 width=119) - predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_126_date_dim_d_date_sk_min) AND DynamicValue(RS_126_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_126_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null) - TableScan [TS_119] (rows=144002668 width=119) - default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_quantity","ws_list_price"] - <-Reducer 78 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1472] - Group By Operator [GBY_1471] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 77 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1470] - Group By Operator [GBY_1469] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1466] (rows=1957 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1464] - <-Reducer 22 [CONTAINS] - Reduce Output Operator [RS_1202] + Merge Join Operator [MERGEJOIN_1448] (rows=724 width=4) + Conds:RS_1726._col1, _col2, _col3=RS_1755._col0, _col1, _col2(Inner),Output:["_col0"] + <-Map 102 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1726] + PartitionCols:_col1, _col2, _col3 + Select Operator [SEL_1719] (rows=458612 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1710] (rows=458612 width=15) + predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null) + Please refer to the previous TableScan [TS_165] + <-Reducer 78 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_1755] + PartitionCols:_col0, _col1, _col2 + Select Operator [SEL_1754] (rows=1 width=12) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1753] (rows=1 width=20) + predicate:(_col3 = 3L) + Group By Operator [GBY_1752] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Union 77 [SIMPLE_EDGE] + <-Reducer 76 [CONTAINS] vectorized + Reduce Output Operator [RS_1854] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1853] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1852] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 71 [SIMPLE_EDGE] + SHUFFLE [RS_301] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_109] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col5, _col6 + Merge Join Operator [MERGEJOIN_1427] (rows=14628613 width=11) + Conds:RS_105._col1=RS_1723._col0(Inner),Output:["_col4","_col5","_col6"] + <-Map 102 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1723] + PartitionCols:_col0 + Select Operator [SEL_1715] (rows=458612 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1706] (rows=458612 width=15) + predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null) + Please refer to the previous TableScan [TS_165] + <-Reducer 70 [SIMPLE_EDGE] + SHUFFLE [RS_105] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1426] (rows=14736682 width=4) + Conds:RS_1848._col0=RS_1640._col0(Inner),Output:["_col1"] + <-Map 84 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1640] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1639] + <-Map 69 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1848] + PartitionCols:_col0 + Select Operator [SEL_1847] (rows=550076554 width=7) + Output:["_col0","_col1"] + Filter Operator [FIL_1846] (rows=550076554 width=7) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_103_d1_d_date_sk_min) AND DynamicValue(RS_103_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_103_d1_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null) + TableScan [TS_93] (rows=575995635 width=7) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk"] + <-Reducer 85 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1845] + Group By Operator [GBY_1844] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 84 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1659] + Group By Operator [GBY_1654] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1641] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1639] + <-Reducer 89 [CONTAINS] vectorized + Reduce Output Operator [RS_1868] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1867] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1866] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 87 [SIMPLE_EDGE] + SHUFFLE [RS_321] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_129] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col5, _col6 + Merge Join Operator [MERGEJOIN_1429] (rows=7620440 width=11) + Conds:RS_125._col1=RS_1724._col0(Inner),Output:["_col4","_col5","_col6"] + <-Map 102 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1724] + PartitionCols:_col0 + Select Operator [SEL_1716] (rows=458612 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1707] (rows=458612 width=15) + predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null) + Please refer to the previous TableScan [TS_165] + <-Reducer 86 [SIMPLE_EDGE] + SHUFFLE [RS_125] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1428] (rows=7676736 width=4) + Conds:RS_1862._col0=RS_1642._col0(Inner),Output:["_col1"] + <-Map 84 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1642] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1639] + <-Map 100 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1862] + PartitionCols:_col0 + Select Operator [SEL_1861] (rows=286549727 width=7) + Output:["_col0","_col1"] + Filter Operator [FIL_1860] (rows=286549727 width=7) + predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_123_d2_d_date_sk_min) AND DynamicValue(RS_123_d2_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_123_d2_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null) + TableScan [TS_113] (rows=287989836 width=7) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk"] + <-Reducer 91 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1859] + Group By Operator [GBY_1858] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 84 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1660] + Group By Operator [GBY_1655] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1643] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1639] + <-Reducer 95 [CONTAINS] vectorized + Reduce Output Operator [RS_1882] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1881] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1880] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 93 [SIMPLE_EDGE] + SHUFFLE [RS_342] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_150] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col5, _col6 + Merge Join Operator [MERGEJOIN_1431] (rows=3828623 width=11) + Conds:RS_146._col1=RS_1725._col0(Inner),Output:["_col4","_col5","_col6"] + <-Map 102 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1725] + PartitionCols:_col0 + Select Operator [SEL_1717] (rows=458612 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1708] (rows=458612 width=15) + predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null) + Please refer to the previous TableScan [TS_165] + <-Reducer 92 [SIMPLE_EDGE] + SHUFFLE [RS_146] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1430] (rows=3856907 width=4) + Conds:RS_1876._col0=RS_1644._col0(Inner),Output:["_col1"] + <-Map 84 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1644] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1639] + <-Map 101 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1876] + PartitionCols:_col0 + Select Operator [SEL_1875] (rows=143966864 width=7) + Output:["_col0","_col1"] + Filter Operator [FIL_1874] (rows=143966864 width=7) + predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_144_d3_d_date_sk_min) AND DynamicValue(RS_144_d3_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_144_d3_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null) + TableScan [TS_134] (rows=144002668 width=7) + default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk"] + <-Reducer 97 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1873] + Group By Operator [GBY_1872] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 84 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1661] + Group By Operator [GBY_1656] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1645] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1639] + <-Reducer 19 [CONTAINS] + Reduce Output Operator [RS_1511] PartitionCols:_col0, _col1, _col2, _col3, _col4 - Group By Operator [GBY_1201] (rows=7 width=200) + Group By Operator [GBY_1510] (rows=7 width=200) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col4)","sum(_col5)"],keys:_col0, _col1, _col2, _col3, 0L - Top N Key Operator [TNK_1200] (rows=3 width=221) + Top N Key Operator [TNK_1509] (rows=3 width=221) keys:_col0, _col1, _col2, _col3, 0L,sort order:+++++,top n:100 - Select Operator [SEL_1198] (rows=1 width=219) + Select Operator [SEL_1507] (rows=1 width=219) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_1197] (rows=1 width=244) - predicate:(_col3 > _col5) - Merge Join Operator [MERGEJOIN_1196] (rows=1 width=244) - Conds:(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - <-Reducer 21 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1375] - Group By Operator [GBY_1374] (rows=1 width=132) - Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 20 [SIMPLE_EDGE] - SHUFFLE [RS_376] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_375] (rows=1 width=132) - Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2 - Select Operator [SEL_373] (rows=1 width=128) - Output:["_col0","_col1","_col2","_col3"] - Merge Join Operator [MERGEJOIN_1175] (rows=1 width=128) - Conds:RS_370._col1=RS_1332._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9"] - <-Map 65 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1332] - PartitionCols:_col0 - Select Operator [SEL_1323] (rows=462000 width=15) - Output:["_col0","_col1","_col2","_col3"] - Please refer to the previous TableScan [TS_81] - <-Reducer 19 [ONE_TO_ONE_EDGE] - FORWARD [RS_370] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1174] (rows=1 width=120) - Conds:RS_367._col1=RS_368._col0(Inner),Output:["_col1","_col2","_col3"] - <-Reducer 18 [SIMPLE_EDGE] - SHUFFLE [RS_367] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1166] (rows=3942084 width=118) - Conds:RS_1369._col0=RS_1299._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 10 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1299] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1294] - <-Map 80 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1369] - PartitionCols:_col0 - Select Operator [SEL_1368] (rows=143966864 width=123) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1367] (rows=143966864 width=123) - predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_365_date_dim_d_date_sk_min) AND DynamicValue(RS_365_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_365_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null) - TableScan [TS_281] (rows=144002668 width=123) - default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_quantity","ws_list_price"] - <-Reducer 23 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1366] - Group By Operator [GBY_1365] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1306] - Group By Operator [GBY_1303] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1300] (rows=50 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1294] - <-Reducer 38 [SIMPLE_EDGE] - SHUFFLE [RS_368] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_1173] (rows=724 width=4) - Conds:RS_1339._col1, _col2, _col3=RS_1373._col0, _col1, _col2(Inner),Output:["_col0"] - <-Map 65 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1339] - PartitionCols:_col1, _col2, _col3 - Select Operator [SEL_1333] (rows=458612 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1324] (rows=458612 width=15) - predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null) - Please refer to the previous TableScan [TS_81] - <-Reducer 37 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_1373] - PartitionCols:_col0, _col1, _col2 - Select Operator [SEL_1372] (rows=1 width=12) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1371] (rows=1 width=20) - predicate:(_col3 = 3L) - Group By Operator [GBY_1370] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Union 36 [SIMPLE_EDGE] - <-Reducer 35 [CONTAINS] vectorized - Reduce Output Operator [RS_1412] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1411] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1410] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 26 [SIMPLE_EDGE] - SHUFFLE [RS_307] - PartitionCols:_col0, _col1, _col2 - Please refer to the previous Group By Operator [GBY_25] - <-Reducer 45 [CONTAINS] vectorized - Reduce Output Operator [RS_1426] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1425] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1424] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 42 [SIMPLE_EDGE] - SHUFFLE [RS_327] - PartitionCols:_col0, _col1, _col2 - Please refer to the previous Group By Operator [GBY_45] - <-Reducer 51 [CONTAINS] vectorized - Reduce Output Operator [RS_1440] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1439] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1438] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 48 [SIMPLE_EDGE] - SHUFFLE [RS_348] - PartitionCols:_col0, _col1, _col2 - Please refer to the previous Group By Operator [GBY_66] - <-Reducer 62 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1378] - Select Operator [SEL_1377] (rows=1 width=112) - Output:["_col0"] - Group By Operator [GBY_1376] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] - <-Union 61 [CUSTOM_SIMPLE_EDGE] - <-Reducer 60 [CONTAINS] - Reduce Output Operator [RS_1256] - Group By Operator [GBY_1255] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1254] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1252] (rows=14736682 width=0) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1251] (rows=14736682 width=0) - Conds:RS_1447._col0=RS_1390._col0(Inner),Output:["_col1","_col2"] - <-Map 39 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1390] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1380] - <-Map 66 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1447] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1444] - <-Reducer 70 [CONTAINS] - Reduce Output Operator [RS_1274] - Group By Operator [GBY_1273] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1272] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1270] (rows=7676736 width=94) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1269] (rows=7676736 width=94) - Conds:RS_1462._col0=RS_1453._col0(Inner),Output:["_col1","_col2"] - <-Map 71 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1453] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1449] - <-Map 67 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1462] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1459] - <-Reducer 76 [CONTAINS] - Reduce Output Operator [RS_1292] - Group By Operator [GBY_1291] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1290] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1288] (rows=3856907 width=114) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1287] (rows=3856907 width=114) - Conds:RS_1477._col0=RS_1468._col0(Inner),Output:["_col1","_col2"] - <-Map 77 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1468] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1464] - <-Map 73 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1477] + Filter Operator [FIL_1506] (rows=1 width=244) + predicate:(_col5 > _col1) + Merge Join Operator [MERGEJOIN_1505] (rows=1 width=244) + Conds:(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"] + <-Reducer 18 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_569] + Merge Join Operator [MERGEJOIN_1471] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1764] + Select Operator [SEL_1763] (rows=1 width=8) + Filter Operator [FIL_1762] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_1761] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_1760] (rows=1 width=8) + Group By Operator [GBY_1759] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Union 16 [CUSTOM_SIMPLE_EDGE] + <-Reducer 15 [CONTAINS] + Reduce Output Operator [RS_1504] + Group By Operator [GBY_1503] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1502] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1500] (rows=14736682 width=0) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1499] (rows=14736682 width=0) + Conds:RS_1670._col0=RS_1652._col0(Inner),Output:["_col1"] + <-Map 84 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1652] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1639] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1670] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1667] + <-Reducer 23 [CONTAINS] + Reduce Output Operator [RS_1529] + Group By Operator [GBY_1528] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1527] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1525] (rows=7676736 width=3) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1524] (rows=7676736 width=3) + Conds:RS_1801._col0=RS_1789._col0(Inner),Output:["_col1"] + <-Map 24 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1789] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1782] + <-Map 20 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1801] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1798] + <-Reducer 39 [CONTAINS] + Reduce Output Operator [RS_1565] + Group By Operator [GBY_1564] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1563] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1561] (rows=3856907 width=3) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1560] (rows=3856907 width=3) + Conds:RS_1829._col0=RS_1817._col0(Inner),Output:["_col1"] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1817] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1810] + <-Map 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1829] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1826] + <-Reducer 35 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1768] + Select Operator [SEL_1767] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_1766] (rows=1 width=120) + predicate:(_col0 is not null and _col1 is not null) + Group By Operator [GBY_1765] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] + <-Union 34 [CUSTOM_SIMPLE_EDGE] + <-Reducer 33 [CONTAINS] + Reduce Output Operator [RS_1547] + Group By Operator [GBY_1546] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1545] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1543] (rows=7676736 width=94) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1542] (rows=7676736 width=94) + Conds:RS_1808._col0=RS_1790._col0(Inner),Output:["_col1","_col2"] + <-Map 24 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1790] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1782] + <-Map 50 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1808] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1805] + <-Reducer 45 [CONTAINS] + Reduce Output Operator [RS_1583] + Group By Operator [GBY_1582] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1581] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1579] (rows=3856907 width=114) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1578] (rows=3856907 width=114) + Conds:RS_1836._col0=RS_1818._col0(Inner),Output:["_col1","_col2"] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1818] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1810] + <-Map 51 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1836] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1833] + <-Reducer 49 [CONTAINS] + Reduce Output Operator [RS_1601] + Group By Operator [GBY_1600] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1599] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1597] (rows=14736682 width=0) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1596] (rows=14736682 width=0) + Conds:RS_1843._col0=RS_1653._col0(Inner),Output:["_col1","_col2"] + <-Map 84 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1653] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1639] + <-Map 46 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1843] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1840] + <-Reducer 67 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1780] + Filter Operator [FIL_1779] (rows=1 width=132) + predicate:_col3 is not null + Group By Operator [GBY_1778] (rows=1 width=132) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 66 [SIMPLE_EDGE] + SHUFFLE [RS_562] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_561] (rows=1 width=132) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2 + Select Operator [SEL_559] (rows=1 width=128) + Output:["_col0","_col1","_col2","_col3"] + Merge Join Operator [MERGEJOIN_1466] (rows=1 width=128) + Conds:RS_556._col1=RS_1720._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9"] + <-Map 102 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1720] + PartitionCols:_col0 + Select Operator [SEL_1711] (rows=462000 width=15) + Output:["_col0","_col1","_col2","_col3"] + Please refer to the previous TableScan [TS_165] + <-Reducer 65 [ONE_TO_ONE_EDGE] + FORWARD [RS_556] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1465] (rows=1 width=120) + Conds:RS_553._col1=RS_554._col0(Inner),Output:["_col1","_col2","_col3"] + <-Reducer 64 [SIMPLE_EDGE] + SHUFFLE [RS_553] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1457] (rows=3942084 width=118) + Conds:RS_1773._col0=RS_1687._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 57 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1687] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1682] + <-Map 104 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1773] + PartitionCols:_col0 + Select Operator [SEL_1772] (rows=143966864 width=123) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1771] (rows=143966864 width=123) + predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_551_date_dim_d_date_sk_min) AND DynamicValue(RS_551_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_551_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null) + TableScan [TS_467] (rows=144002668 width=123) + default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_quantity","ws_list_price"] + <-Reducer 68 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1770] + Group By Operator [GBY_1769] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 57 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1694] + Group By Operator [GBY_1691] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1688] (rows=50 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1682] + <-Reducer 83 [SIMPLE_EDGE] + SHUFFLE [RS_554] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1474] + Merge Join Operator [MERGEJOIN_1464] (rows=724 width=4) + Conds:RS_1727._col1, _col2, _col3=RS_1777._col0, _col1, _col2(Inner),Output:["_col0"] + <-Map 102 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1727] + PartitionCols:_col1, _col2, _col3 + Select Operator [SEL_1721] (rows=458612 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1712] (rows=458612 width=15) + predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null) + Please refer to the previous TableScan [TS_165] + <-Reducer 82 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_1777] + PartitionCols:_col0, _col1, _col2 + Select Operator [SEL_1776] (rows=1 width=12) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1775] (rows=1 width=20) + predicate:(_col3 = 3L) + Group By Operator [GBY_1774] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Union 81 [SIMPLE_EDGE] + <-Reducer 80 [CONTAINS] vectorized + Reduce Output Operator [RS_1857] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1856] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1855] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 71 [SIMPLE_EDGE] + SHUFFLE [RS_493] + PartitionCols:_col0, _col1, _col2 + Please refer to the previous Group By Operator [GBY_109] + <-Reducer 90 [CONTAINS] vectorized + Reduce Output Operator [RS_1871] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1870] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1869] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 87 [SIMPLE_EDGE] + SHUFFLE [RS_513] + PartitionCols:_col0, _col1, _col2 + Please refer to the previous Group By Operator [GBY_129] + <-Reducer 96 [CONTAINS] vectorized + Reduce Output Operator [RS_1885] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1884] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1883] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 93 [SIMPLE_EDGE] + SHUFFLE [RS_534] + PartitionCols:_col0, _col1, _col2 + Please refer to the previous Group By Operator [GBY_150] <-Reducer 6 [CONTAINS] - Reduce Output Operator [RS_1188] + Reduce Output Operator [RS_1485] PartitionCols:_col0, _col1, _col2, _col3, _col4 - Group By Operator [GBY_1187] (rows=7 width=200) + Group By Operator [GBY_1484] (rows=7 width=200) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col4)","sum(_col5)"],keys:_col0, _col1, _col2, _col3, 0L - Top N Key Operator [TNK_1186] (rows=3 width=221) + Top N Key Operator [TNK_1483] (rows=3 width=221) keys:_col0, _col1, _col2, _col3, 0L,sort order:+++++,top n:100 - Select Operator [SEL_1184] (rows=1 width=221) + Select Operator [SEL_1481] (rows=1 width=221) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_1183] (rows=1 width=244) - predicate:(_col3 > _col5) - Merge Join Operator [MERGEJOIN_1182] (rows=1 width=244) - Conds:(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - <-Reducer 5 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1341] - Group By Operator [GBY_1340] (rows=1 width=132) - Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_95] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_94] (rows=1 width=132) - Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2 - Select Operator [SEL_92] (rows=1 width=128) - Output:["_col0","_col1","_col2","_col3"] - Merge Join Operator [MERGEJOIN_1149] (rows=1 width=128) - Conds:RS_89._col1=RS_1325._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9"] - <-Map 65 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1325] - PartitionCols:_col0 - Select Operator [SEL_1316] (rows=462000 width=15) - Output:["_col0","_col1","_col2","_col3"] - Please refer to the previous TableScan [TS_81] - <-Reducer 3 [ONE_TO_ONE_EDGE] - FORWARD [RS_89] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1148] (rows=1 width=120) - Conds:RS_86._col1=RS_87._col0(Inner),Output:["_col1","_col2","_col3"] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_86] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1140] (rows=15062131 width=4) - Conds:RS_1311._col0=RS_1295._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 10 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1295] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1294] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1311] - PartitionCols:_col0 - Select Operator [SEL_1310] (rows=550076554 width=118) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1309] (rows=550076554 width=118) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_84_date_dim_d_date_sk_min) AND DynamicValue(RS_84_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_84_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null) - TableScan [TS_0] (rows=575995635 width=118) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_quantity","ss_list_price"] - <-Reducer 11 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1308] - Group By Operator [GBY_1307] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1304] - Group By Operator [GBY_1301] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1296] (rows=50 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1294] - <-Reducer 30 [SIMPLE_EDGE] - SHUFFLE [RS_87] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_1147] (rows=724 width=4) - Conds:RS_1334._col1, _col2, _col3=RS_1315._col0, _col1, _col2(Inner),Output:["_col0"] - <-Map 65 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1334] - PartitionCols:_col1, _col2, _col3 - Select Operator [SEL_1326] (rows=458612 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1317] (rows=458612 width=15) - predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null) - Please refer to the previous TableScan [TS_81] - <-Reducer 29 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_1315] - PartitionCols:_col0, _col1, _col2 - Select Operator [SEL_1314] (rows=1 width=12) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1313] (rows=1 width=20) - predicate:(_col3 = 3L) - Group By Operator [GBY_1312] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Union 28 [SIMPLE_EDGE] - <-Reducer 27 [CONTAINS] vectorized - Reduce Output Operator [RS_1406] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1405] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1404] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 26 [SIMPLE_EDGE] - SHUFFLE [RS_26] - PartitionCols:_col0, _col1, _col2 - Please refer to the previous Group By Operator [GBY_25] - <-Reducer 43 [CONTAINS] vectorized - Reduce Output Operator [RS_1420] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1419] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1418] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 42 [SIMPLE_EDGE] - SHUFFLE [RS_46] - PartitionCols:_col0, _col1, _col2 - Please refer to the previous Group By Operator [GBY_45] - <-Reducer 49 [CONTAINS] vectorized - Reduce Output Operator [RS_1434] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1433] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1432] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 48 [SIMPLE_EDGE] - SHUFFLE [RS_67] - PartitionCols:_col0, _col1, _col2 - Please refer to the previous Group By Operator [GBY_66] - <-Reducer 55 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1344] - Select Operator [SEL_1343] (rows=1 width=112) - Output:["_col0"] - Group By Operator [GBY_1342] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] - <-Union 54 [CUSTOM_SIMPLE_EDGE] - <-Reducer 53 [CONTAINS] - Reduce Output Operator [RS_1244] - Group By Operator [GBY_1243] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1242] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1240] (rows=14736682 width=0) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1239] (rows=14736682 width=0) - Conds:RS_1445._col0=RS_1387._col0(Inner),Output:["_col1","_col2"] - <-Map 39 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1387] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1380] - <-Map 66 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1445] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1444] - <-Reducer 68 [CONTAINS] - Reduce Output Operator [RS_1262] - Group By Operator [GBY_1261] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1260] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1258] (rows=7676736 width=94) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1257] (rows=7676736 width=94) - Conds:RS_1460._col0=RS_1450._col0(Inner),Output:["_col1","_col2"] - <-Map 71 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1450] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1449] - <-Map 67 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1460] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1459] - <-Reducer 74 [CONTAINS] - Reduce Output Operator [RS_1280] - Group By Operator [GBY_1279] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1278] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1276] (rows=3856907 width=114) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1275] (rows=3856907 width=114) - Conds:RS_1475._col0=RS_1465._col0(Inner),Output:["_col1","_col2"] - <-Map 77 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1465] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1464] - <-Map 73 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1475] + Filter Operator [FIL_1480] (rows=1 width=244) + predicate:(_col5 > _col1) + Merge Join Operator [MERGEJOIN_1479] (rows=1 width=244) + Conds:(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"] + <-Reducer 5 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_186] + Merge Join Operator [MERGEJOIN_1467] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 28 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1680] + Select Operator [SEL_1679] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_1678] (rows=1 width=120) + predicate:(_col0 is not null and _col1 is not null) + Group By Operator [GBY_1677] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] + <-Union 27 [CUSTOM_SIMPLE_EDGE] + <-Reducer 26 [CONTAINS] + Reduce Output Operator [RS_1535] + Group By Operator [GBY_1534] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1533] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1531] (rows=7676736 width=94) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1530] (rows=7676736 width=94) + Conds:RS_1806._col0=RS_1785._col0(Inner),Output:["_col1","_col2"] + <-Map 24 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1785] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1782] + <-Map 50 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1806] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1805] + <-Reducer 42 [CONTAINS] + Reduce Output Operator [RS_1571] + Group By Operator [GBY_1570] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1569] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1567] (rows=3856907 width=114) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1566] (rows=3856907 width=114) + Conds:RS_1834._col0=RS_1813._col0(Inner),Output:["_col1","_col2"] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1813] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1810] + <-Map 51 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1834] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1833] + <-Reducer 47 [CONTAINS] + Reduce Output Operator [RS_1589] + Group By Operator [GBY_1588] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1587] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1585] (rows=14736682 width=0) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1584] (rows=14736682 width=0) + Conds:RS_1841._col0=RS_1648._col0(Inner),Output:["_col1","_col2"] + <-Map 84 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1648] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1639] + <-Map 46 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1841] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1840] + <-Reducer 4 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1676] + Select Operator [SEL_1675] (rows=1 width=8) + Filter Operator [FIL_1674] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_1673] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_1672] (rows=1 width=8) + Group By Operator [GBY_1671] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Union 3 [CUSTOM_SIMPLE_EDGE] + <-Reducer 2 [CONTAINS] + Reduce Output Operator [RS_1478] + Group By Operator [GBY_1477] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1476] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1474] (rows=14736682 width=0) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1473] (rows=14736682 width=0) + Conds:RS_1668._col0=RS_1646._col0(Inner),Output:["_col1"] + <-Map 84 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1646] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1639] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1668] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1667] + <-Reducer 21 [CONTAINS] + Reduce Output Operator [RS_1517] + Group By Operator [GBY_1516] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1515] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1513] (rows=7676736 width=3) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1512] (rows=7676736 width=3) + Conds:RS_1799._col0=RS_1783._col0(Inner),Output:["_col1"] + <-Map 24 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1783] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1782] + <-Map 20 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1799] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1798] + <-Reducer 37 [CONTAINS] + Reduce Output Operator [RS_1553] + Group By Operator [GBY_1552] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1551] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1549] (rows=3856907 width=3) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1548] (rows=3856907 width=3) + Conds:RS_1827._col0=RS_1811._col0(Inner),Output:["_col1"] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1811] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1810] + <-Map 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1827] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1826] + <-Reducer 56 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1730] + Filter Operator [FIL_1729] (rows=1 width=132) + predicate:_col3 is not null + Group By Operator [GBY_1728] (rows=1 width=132) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 55 [SIMPLE_EDGE] + SHUFFLE [RS_179] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_178] (rows=1 width=132) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2 + Select Operator [SEL_176] (rows=1 width=128) + Output:["_col0","_col1","_col2","_col3"] + Merge Join Operator [MERGEJOIN_1434] (rows=1 width=128) + Conds:RS_173._col1=RS_1713._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9"] + <-Map 102 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1713] + PartitionCols:_col0 + Select Operator [SEL_1704] (rows=462000 width=15) + Output:["_col0","_col1","_col2","_col3"] + Please refer to the previous TableScan [TS_165] + <-Reducer 54 [ONE_TO_ONE_EDGE] + FORWARD [RS_173] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1433] (rows=1 width=120) + Conds:RS_170._col1=RS_171._col0(Inner),Output:["_col1","_col2","_col3"] + <-Reducer 53 [SIMPLE_EDGE] + SHUFFLE [RS_170] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1425] (rows=15062131 width=4) + Conds:RS_1699._col0=RS_1683._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 57 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1683] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1682] + <-Map 52 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1699] + PartitionCols:_col0 + Select Operator [SEL_1698] (rows=550076554 width=118) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1697] (rows=550076554 width=118) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_168_date_dim_d_date_sk_min) AND DynamicValue(RS_168_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_168_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null) + TableScan [TS_84] (rows=575995635 width=118) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_quantity","ss_list_price"] + <-Reducer 58 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1696] + Group By Operator [GBY_1695] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 57 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1692] + Group By Operator [GBY_1689] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1684] (rows=50 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1682] + <-Reducer 75 [SIMPLE_EDGE] + SHUFFLE [RS_171] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1474] + Merge Join Operator [MERGEJOIN_1432] (rows=724 width=4) + Conds:RS_1722._col1, _col2, _col3=RS_1703._col0, _col1, _col2(Inner),Output:["_col0"] + <-Map 102 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1722] + PartitionCols:_col1, _col2, _col3 + Select Operator [SEL_1714] (rows=458612 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1705] (rows=458612 width=15) + predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null) + Please refer to the previous TableScan [TS_165] + <-Reducer 74 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_1703] + PartitionCols:_col0, _col1, _col2 + Select Operator [SEL_1702] (rows=1 width=12) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1701] (rows=1 width=20) + predicate:(_col3 = 3L) + Group By Operator [GBY_1700] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Union 73 [SIMPLE_EDGE] + <-Reducer 72 [CONTAINS] vectorized + Reduce Output Operator [RS_1851] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1850] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1849] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 71 [SIMPLE_EDGE] + SHUFFLE [RS_110] + PartitionCols:_col0, _col1, _col2 + Please refer to the previous Group By Operator [GBY_109] + <-Reducer 88 [CONTAINS] vectorized + Reduce Output Operator [RS_1865] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1864] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1863] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 87 [SIMPLE_EDGE] + SHUFFLE [RS_130] + PartitionCols:_col0, _col1, _col2 + Please refer to the previous Group By Operator [GBY_129] + <-Reducer 94 [CONTAINS] vectorized + Reduce Output Operator [RS_1879] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1878] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1877] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 93 [SIMPLE_EDGE] + SHUFFLE [RS_151] + PartitionCols:_col0, _col1, _col2 + Please refer to the previous Group By Operator [GBY_150] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query23.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query23.q.out index 7ba6715664..71a6addeee 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query23.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query23.q.out @@ -1,7 +1,7 @@ -Warning: Shuffle Join MERGEJOIN[442][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 19' is a cross product -Warning: Shuffle Join MERGEJOIN[443][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 20' is a cross product -Warning: Shuffle Join MERGEJOIN[445][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 23' is a cross product -Warning: Shuffle Join MERGEJOIN[446][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 24' is a cross product +Warning: Shuffle Join MERGEJOIN[456][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 19' is a cross product +Warning: Shuffle Join MERGEJOIN[457][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 20' is a cross product +Warning: Shuffle Join MERGEJOIN[459][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 24' is a cross product +Warning: Shuffle Join MERGEJOIN[460][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 25' is a cross product PREHOOK: query: explain with frequent_ss_items as (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt @@ -122,37 +122,39 @@ Plan optimized by CBO. Vertex dependency in root stage Map 1 <- Reducer 9 (BROADCAST_EDGE) -Map 15 <- Reducer 27 (BROADCAST_EDGE) -Map 28 <- Reducer 7 (BROADCAST_EDGE) -Map 30 <- Reducer 36 (BROADCAST_EDGE) -Map 38 <- Reducer 14 (BROADCAST_EDGE) -Map 39 <- Reducer 13 (BROADCAST_EDGE) -Reducer 10 <- Map 38 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) -Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE) -Reducer 12 <- Reducer 11 (SIMPLE_EDGE), Reducer 34 (SIMPLE_EDGE), Union 5 (CONTAINS) +Map 15 <- Reducer 29 (BROADCAST_EDGE) +Map 30 <- Reducer 7 (BROADCAST_EDGE) +Map 32 <- Reducer 38 (BROADCAST_EDGE) +Map 40 <- Reducer 14 (BROADCAST_EDGE) +Map 41 <- Reducer 13 (BROADCAST_EDGE) +Reducer 10 <- Map 40 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) +Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 26 (ONE_TO_ONE_EDGE) +Reducer 12 <- Reducer 11 (SIMPLE_EDGE), Reducer 36 (SIMPLE_EDGE), Union 5 (CONTAINS) Reducer 13 <- Reducer 10 (CUSTOM_SIMPLE_EDGE) Reducer 14 <- Map 8 (CUSTOM_SIMPLE_EDGE) -Reducer 16 <- Map 15 (SIMPLE_EDGE), Map 26 (SIMPLE_EDGE) +Reducer 16 <- Map 15 (SIMPLE_EDGE), Map 28 (SIMPLE_EDGE) Reducer 17 <- Reducer 16 (SIMPLE_EDGE) Reducer 18 <- Reducer 17 (CUSTOM_SIMPLE_EDGE) -Reducer 19 <- Reducer 18 (CUSTOM_SIMPLE_EDGE), Reducer 21 (CUSTOM_SIMPLE_EDGE) +Reducer 19 <- Reducer 18 (CUSTOM_SIMPLE_EDGE), Reducer 22 (CUSTOM_SIMPLE_EDGE) Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) -Reducer 20 <- Reducer 19 (CUSTOM_SIMPLE_EDGE), Reducer 29 (CUSTOM_SIMPLE_EDGE) -Reducer 21 <- Reducer 17 (CUSTOM_SIMPLE_EDGE) +Reducer 20 <- Reducer 19 (CUSTOM_SIMPLE_EDGE), Reducer 31 (CUSTOM_SIMPLE_EDGE) +Reducer 21 <- Reducer 20 (SIMPLE_EDGE) Reducer 22 <- Reducer 17 (CUSTOM_SIMPLE_EDGE) -Reducer 23 <- Reducer 22 (CUSTOM_SIMPLE_EDGE), Reducer 25 (CUSTOM_SIMPLE_EDGE) -Reducer 24 <- Reducer 23 (CUSTOM_SIMPLE_EDGE), Reducer 40 (CUSTOM_SIMPLE_EDGE) -Reducer 25 <- Reducer 17 (CUSTOM_SIMPLE_EDGE) -Reducer 27 <- Map 26 (CUSTOM_SIMPLE_EDGE) -Reducer 29 <- Map 28 (SIMPLE_EDGE) -Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE) -Reducer 31 <- Map 30 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE) -Reducer 32 <- Map 37 (SIMPLE_EDGE), Reducer 31 (SIMPLE_EDGE) -Reducer 33 <- Reducer 32 (SIMPLE_EDGE) -Reducer 34 <- Reducer 32 (SIMPLE_EDGE) -Reducer 36 <- Map 35 (CUSTOM_SIMPLE_EDGE) -Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Reducer 33 (SIMPLE_EDGE), Union 5 (CONTAINS) -Reducer 40 <- Map 39 (SIMPLE_EDGE) +Reducer 23 <- Reducer 17 (CUSTOM_SIMPLE_EDGE) +Reducer 24 <- Reducer 23 (CUSTOM_SIMPLE_EDGE), Reducer 27 (CUSTOM_SIMPLE_EDGE) +Reducer 25 <- Reducer 24 (CUSTOM_SIMPLE_EDGE), Reducer 42 (CUSTOM_SIMPLE_EDGE) +Reducer 26 <- Reducer 25 (SIMPLE_EDGE) +Reducer 27 <- Reducer 17 (CUSTOM_SIMPLE_EDGE) +Reducer 29 <- Map 28 (CUSTOM_SIMPLE_EDGE) +Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 21 (ONE_TO_ONE_EDGE) +Reducer 31 <- Map 30 (SIMPLE_EDGE) +Reducer 33 <- Map 32 (SIMPLE_EDGE), Map 37 (SIMPLE_EDGE) +Reducer 34 <- Map 39 (SIMPLE_EDGE), Reducer 33 (SIMPLE_EDGE) +Reducer 35 <- Reducer 34 (SIMPLE_EDGE) +Reducer 36 <- Reducer 34 (SIMPLE_EDGE) +Reducer 38 <- Map 37 (CUSTOM_SIMPLE_EDGE) +Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Reducer 35 (SIMPLE_EDGE), Union 5 (CONTAINS) +Reducer 42 <- Map 41 (SIMPLE_EDGE) Reducer 6 <- Union 5 (CUSTOM_SIMPLE_EDGE) Reducer 7 <- Reducer 2 (CUSTOM_SIMPLE_EDGE) Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE) @@ -162,346 +164,372 @@ Stage-0 limit:-1 Stage-1 Reducer 6 vectorized - File Output Operator [FS_535] - Group By Operator [GBY_534] (rows=1 width=112) + File Output Operator [FS_554] + Group By Operator [GBY_553] (rows=1 width=112) Output:["_col0"],aggregations:["sum(VALUE._col0)"] <-Union 5 [CUSTOM_SIMPLE_EDGE] <-Reducer 12 [CONTAINS] - Reduce Output Operator [RS_459] - Group By Operator [GBY_458] (rows=1 width=112) + Reduce Output Operator [RS_473] + Group By Operator [GBY_472] (rows=1 width=112) Output:["_col0"],aggregations:["sum(_col0)"] - Select Operator [SEL_456] (rows=155 width=112) + Select Operator [SEL_470] (rows=155 width=112) Output:["_col0"] - Merge Join Operator [MERGEJOIN_455] (rows=155 width=0) - Conds:RS_198._col1=RS_562._col0(Left Semi),Output:["_col3","_col4"] + Merge Join Operator [MERGEJOIN_469] (rows=155 width=0) + Conds:RS_212._col1=RS_586._col0(Left Semi),Output:["_col3","_col4"] <-Reducer 11 [SIMPLE_EDGE] - SHUFFLE [RS_198] + SHUFFLE [RS_212] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_447] (rows=3941101 width=118) - Conds:RS_193._col2=RS_194._col0(Inner),Output:["_col1","_col3","_col4"] + Merge Join Operator [MERGEJOIN_461] (rows=3941102 width=118) + Conds:RS_207._col2=RS_580._col0(Inner),Output:["_col1","_col3","_col4"] <-Reducer 10 [SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_193] + PARTITION_ONLY_SHUFFLE [RS_207] PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_437] (rows=3941102 width=122) - Conds:RS_540._col0=RS_464._col0(Inner),Output:["_col1","_col2","_col3","_col4"] + Merge Join Operator [MERGEJOIN_451] (rows=3941102 width=122) + Conds:RS_559._col0=RS_478._col0(Inner),Output:["_col1","_col2","_col3","_col4"] <-Map 8 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_464] + PARTITION_ONLY_SHUFFLE [RS_478] PartitionCols:_col0 - Select Operator [SEL_461] (rows=50 width=4) + Select Operator [SEL_475] (rows=50 width=4) Output:["_col0"] - Filter Operator [FIL_460] (rows=50 width=12) + Filter Operator [FIL_474] (rows=50 width=12) predicate:((d_moy = 1) and (d_year = 1999)) TableScan [TS_3] (rows=73049 width=12) default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"] - <-Map 38 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_540] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_559] PartitionCols:_col0 - Select Operator [SEL_539] (rows=143930993 width=127) + Select Operator [SEL_558] (rows=143930993 width=127) Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_538] (rows=143930993 width=127) - predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_191_date_dim_d_date_sk_min) AND DynamicValue(RS_191_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_191_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_sold_date_sk is not null) - TableScan [TS_101] (rows=144002668 width=127) + Filter Operator [FIL_557] (rows=143930993 width=127) + predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_205_date_dim_d_date_sk_min) AND DynamicValue(RS_205_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_205_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_sold_date_sk is not null) + TableScan [TS_108] (rows=144002668 width=127) default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_quantity","ws_list_price"] <-Reducer 14 [BROADCAST_EDGE] vectorized - BROADCAST [RS_537] - Group By Operator [GBY_536] (rows=1 width=12) + BROADCAST [RS_556] + Group By Operator [GBY_555] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_469] - Group By Operator [GBY_467] (rows=1 width=12) + PARTITION_ONLY_SHUFFLE [RS_483] + Group By Operator [GBY_481] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_465] (rows=50 width=4) + Select Operator [SEL_479] (rows=50 width=4) Output:["_col0"] - Please refer to the previous Select Operator [SEL_461] - <-Reducer 24 [SIMPLE_EDGE] - SHUFFLE [RS_194] + Please refer to the previous Select Operator [SEL_475] + <-Reducer 26 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_580] PartitionCols:_col0 - Select Operator [SEL_168] (rows=471875 width=3) - Output:["_col0"] - Filter Operator [FIL_167] (rows=471875 width=227) - predicate:(_col3 > (0.95 * _col1)) - Merge Join Operator [MERGEJOIN_446] (rows=1415626 width=227) - Conds:(Inner),Output:["_col1","_col2","_col3"] - <-Reducer 23 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_164] - Merge Join Operator [MERGEJOIN_445] (rows=1 width=112) - Conds:(Inner),Output:["_col1"] - <-Reducer 22 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_546] - Select Operator [SEL_545] (rows=1 width=8) - Filter Operator [FIL_544] (rows=1 width=8) - predicate:(sq_count_check(_col0) <= 1) - Group By Operator [GBY_543] (rows=1 width=8) - Output:["_col0"],aggregations:["count()"] - Select Operator [SEL_542] (rows=1 width=8) - Group By Operator [GBY_541] (rows=1 width=8) - Output:["_col0"],aggregations:["count(VALUE._col0)"] - <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_497] - Group By Operator [GBY_493] (rows=1 width=8) - Output:["_col0"],aggregations:["count(_col0)"] - Select Operator [SEL_489] (rows=50562 width=112) - Output:["_col0"] - Group By Operator [GBY_486] (rows=50562 width=112) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 - <-Reducer 16 [SIMPLE_EDGE] - SHUFFLE [RS_17] - PartitionCols:_col0 - Group By Operator [GBY_16] (rows=455058 width=112) - Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col1 - Merge Join Operator [MERGEJOIN_433] (rows=18762463 width=112) - Conds:RS_485._col0=RS_477._col0(Inner),Output:["_col1","_col2"] - <-Map 26 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_477] - PartitionCols:_col0 - Select Operator [SEL_476] (rows=2609 width=4) - Output:["_col0"] - Filter Operator [FIL_475] (rows=2609 width=8) - predicate:(d_year) IN (1999, 2000, 2001, 2002) - TableScan [TS_9] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Map 15 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_485] + Group By Operator [GBY_579] (rows=235937 width=3) + Output:["_col0"],keys:KEY._col0 + <-Reducer 25 [SIMPLE_EDGE] + SHUFFLE [RS_180] + PartitionCols:_col0 + Group By Operator [GBY_179] (rows=235937 width=3) + Output:["_col0"],keys:_col2 + Select Operator [SEL_178] (rows=471875 width=227) + Output:["_col2"] + Filter Operator [FIL_177] (rows=471875 width=227) + predicate:(_col3 > _col1) + Merge Join Operator [MERGEJOIN_460] (rows=1415626 width=227) + Conds:(Inner),Output:["_col1","_col2","_col3"] + <-Reducer 24 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_174] + Merge Join Operator [MERGEJOIN_459] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 23 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_565] + Select Operator [SEL_564] (rows=1 width=8) + Filter Operator [FIL_563] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_562] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_561] (rows=1 width=8) + Group By Operator [GBY_560] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_511] + Group By Operator [GBY_507] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_503] (rows=50562 width=112) + Output:["_col0"] + Group By Operator [GBY_500] (rows=50562 width=112) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 + <-Reducer 16 [SIMPLE_EDGE] + SHUFFLE [RS_17] PartitionCols:_col0 - Select Operator [SEL_484] (rows=525327388 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_483] (rows=525327388 width=118) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_13_date_dim_d_date_sk_min) AND DynamicValue(RS_13_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_13_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null) - TableScan [TS_6] (rows=575995635 width=118) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_customer_sk","ss_quantity","ss_sales_price"] - <-Reducer 27 [BROADCAST_EDGE] vectorized - BROADCAST [RS_482] - Group By Operator [GBY_481] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 26 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_480] - Group By Operator [GBY_479] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_478] (rows=2609 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_476] - <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_548] - Group By Operator [GBY_547] (rows=1 width=112) - Output:["_col0"],aggregations:["max(VALUE._col0)"] - <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_498] - Group By Operator [GBY_494] (rows=1 width=112) - Output:["_col0"],aggregations:["max(_col1)"] - Select Operator [SEL_490] (rows=50562 width=112) - Output:["_col1"] - Please refer to the previous Group By Operator [GBY_486] - <-Reducer 40 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_556] - Group By Operator [GBY_555] (rows=1415626 width=115) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 - <-Map 39 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_554] - PartitionCols:_col0 - Group By Operator [GBY_553] (rows=550080312 width=115) - Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0 - Select Operator [SEL_552] (rows=550080312 width=114) - Output:["_col0","_col1"] - Filter Operator [FIL_551] (rows=550080312 width=114) - predicate:((ss_customer_sk BETWEEN DynamicValue(RS_193_web_sales_ws_bill_customer_sk_min) AND DynamicValue(RS_193_web_sales_ws_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_193_web_sales_ws_bill_customer_sk_bloom_filter))) and ss_customer_sk is not null) - TableScan [TS_153] (rows=575995635 width=114) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"] - <-Reducer 13 [BROADCAST_EDGE] vectorized - BROADCAST [RS_550] - Group By Operator [GBY_549] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Reducer 10 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_411] - Group By Operator [GBY_410] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_409] (rows=3941102 width=7) - Output:["_col0"] - Please refer to the previous Merge Join Operator [MERGEJOIN_437] - <-Reducer 34 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_562] + Group By Operator [GBY_16] (rows=455058 width=112) + Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col1 + Merge Join Operator [MERGEJOIN_447] (rows=18762463 width=112) + Conds:RS_499._col0=RS_491._col0(Inner),Output:["_col1","_col2"] + <-Map 28 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_491] + PartitionCols:_col0 + Select Operator [SEL_490] (rows=2609 width=4) + Output:["_col0"] + Filter Operator [FIL_489] (rows=2609 width=8) + predicate:(d_year) IN (1999, 2000, 2001, 2002) + TableScan [TS_9] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Map 15 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_499] + PartitionCols:_col0 + Select Operator [SEL_498] (rows=525327388 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_497] (rows=525327388 width=118) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_13_date_dim_d_date_sk_min) AND DynamicValue(RS_13_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_13_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null) + TableScan [TS_6] (rows=575995635 width=118) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_customer_sk","ss_quantity","ss_sales_price"] + <-Reducer 29 [BROADCAST_EDGE] vectorized + BROADCAST [RS_496] + Group By Operator [GBY_495] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 28 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_494] + Group By Operator [GBY_493] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_492] (rows=2609 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_490] + <-Reducer 27 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_569] + Select Operator [SEL_568] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_567] (rows=1 width=112) + predicate:_col0 is not null + Group By Operator [GBY_566] (rows=1 width=112) + Output:["_col0"],aggregations:["max(VALUE._col0)"] + <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_512] + Group By Operator [GBY_508] (rows=1 width=112) + Output:["_col0"],aggregations:["max(_col1)"] + Select Operator [SEL_504] (rows=50562 width=112) + Output:["_col1"] + Please refer to the previous Group By Operator [GBY_500] + <-Reducer 42 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_578] + Filter Operator [FIL_577] (rows=1415626 width=115) + predicate:_col1 is not null + Group By Operator [GBY_576] (rows=1415626 width=115) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 + <-Map 41 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_575] + PartitionCols:_col0 + Group By Operator [GBY_574] (rows=550080312 width=115) + Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0 + Select Operator [SEL_573] (rows=550080312 width=114) + Output:["_col0","_col1"] + Filter Operator [FIL_572] (rows=550080312 width=114) + predicate:((ss_customer_sk BETWEEN DynamicValue(RS_207_web_sales_ws_bill_customer_sk_min) AND DynamicValue(RS_207_web_sales_ws_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_207_web_sales_ws_bill_customer_sk_bloom_filter))) and ss_customer_sk is not null) + TableScan [TS_162] (rows=575995635 width=114) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"] + <-Reducer 13 [BROADCAST_EDGE] vectorized + BROADCAST [RS_571] + Group By Operator [GBY_570] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Reducer 10 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_425] + Group By Operator [GBY_424] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_423] (rows=3941102 width=7) + Output:["_col0"] + Please refer to the previous Merge Join Operator [MERGEJOIN_451] + <-Reducer 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_586] PartitionCols:_col0 - Group By Operator [GBY_561] (rows=2235 width=4) + Group By Operator [GBY_585] (rows=2235 width=4) Output:["_col0"],keys:_col0 - Select Operator [SEL_560] (rows=1943705 width=4) + Select Operator [SEL_584] (rows=1943705 width=4) Output:["_col0"] - Filter Operator [FIL_559] (rows=1943705 width=106) + Filter Operator [FIL_583] (rows=1943705 width=106) predicate:(_col2 > 4L) - Select Operator [SEL_558] (rows=5831115 width=106) + Select Operator [SEL_582] (rows=5831115 width=106) Output:["_col0","_col2"] - Group By Operator [GBY_557] (rows=5831115 width=106) + Group By Operator [GBY_581] (rows=5831115 width=106) Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 32 [SIMPLE_EDGE] - SHUFFLE [RS_185] + <-Reducer 34 [SIMPLE_EDGE] + SHUFFLE [RS_199] PartitionCols:_col0, _col1 - Group By Operator [GBY_83] (rows=19646398 width=106) + Group By Operator [GBY_90] (rows=19646398 width=106) Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col4, _col3 - Merge Join Operator [MERGEJOIN_436] (rows=19646398 width=98) - Conds:RS_79._col1=RS_527._col0(Inner),Output:["_col3","_col4"] - <-Map 37 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_527] + Merge Join Operator [MERGEJOIN_450] (rows=19646398 width=98) + Conds:RS_86._col1=RS_546._col0(Inner),Output:["_col3","_col4"] + <-Map 39 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_546] PartitionCols:_col0 - Select Operator [SEL_526] (rows=462000 width=188) + Select Operator [SEL_545] (rows=462000 width=188) Output:["_col0"] - TableScan [TS_74] (rows=462000 width=4) + TableScan [TS_81] (rows=462000 width=4) default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk"] - <-Reducer 31 [SIMPLE_EDGE] - SHUFFLE [RS_79] + <-Reducer 33 [SIMPLE_EDGE] + SHUFFLE [RS_86] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_435] (rows=19646398 width=98) - Conds:RS_525._col0=RS_517._col0(Inner),Output:["_col1","_col3"] - <-Map 35 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_517] + Merge Join Operator [MERGEJOIN_449] (rows=19646398 width=98) + Conds:RS_544._col0=RS_536._col0(Inner),Output:["_col1","_col3"] + <-Map 37 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_536] PartitionCols:_col0 - Select Operator [SEL_516] (rows=2609 width=98) + Select Operator [SEL_535] (rows=2609 width=98) Output:["_col0","_col1"] - Filter Operator [FIL_515] (rows=2609 width=102) + Filter Operator [FIL_534] (rows=2609 width=102) predicate:(d_year) IN (1999, 2000, 2001, 2002) - TableScan [TS_71] (rows=73049 width=102) + TableScan [TS_78] (rows=73049 width=102) default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date","d_year"] - <-Map 30 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_525] + <-Map 32 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_544] PartitionCols:_col0 - Select Operator [SEL_524] (rows=550076554 width=7) + Select Operator [SEL_543] (rows=550076554 width=7) Output:["_col0","_col1"] - Filter Operator [FIL_523] (rows=550076554 width=7) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_77_date_dim_d_date_sk_min) AND DynamicValue(RS_77_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_77_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null) - TableScan [TS_68] (rows=575995635 width=7) + Filter Operator [FIL_542] (rows=550076554 width=7) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_84_date_dim_d_date_sk_min) AND DynamicValue(RS_84_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_84_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null) + TableScan [TS_75] (rows=575995635 width=7) default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk"] - <-Reducer 36 [BROADCAST_EDGE] vectorized - BROADCAST [RS_522] - Group By Operator [GBY_521] (rows=1 width=12) + <-Reducer 38 [BROADCAST_EDGE] vectorized + BROADCAST [RS_541] + Group By Operator [GBY_540] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 35 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_520] - Group By Operator [GBY_519] (rows=1 width=12) + <-Map 37 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_539] + Group By Operator [GBY_538] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_518] (rows=2609 width=4) + Select Operator [SEL_537] (rows=2609 width=4) Output:["_col0"] - Please refer to the previous Select Operator [SEL_516] + Please refer to the previous Select Operator [SEL_535] <-Reducer 4 [CONTAINS] - Reduce Output Operator [RS_454] - Group By Operator [GBY_453] (rows=1 width=112) + Reduce Output Operator [RS_468] + Group By Operator [GBY_467] (rows=1 width=112) Output:["_col0"],aggregations:["sum(_col0)"] - Select Operator [SEL_451] (rows=304 width=112) + Select Operator [SEL_465] (rows=304 width=112) Output:["_col0"] - Merge Join Operator [MERGEJOIN_450] (rows=304 width=0) - Conds:RS_97._col2=RS_533._col0(Left Semi),Output:["_col3","_col4"] + Merge Join Operator [MERGEJOIN_464] (rows=304 width=0) + Conds:RS_104._col2=RS_552._col0(Left Semi),Output:["_col3","_col4"] <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_97] + SHUFFLE [RS_104] PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_444] (rows=7751875 width=98) - Conds:RS_92._col1=RS_93._col0(Inner),Output:["_col2","_col3","_col4"] + Merge Join Operator [MERGEJOIN_458] (rows=7751875 width=98) + Conds:RS_99._col1=RS_533._col0(Inner),Output:["_col2","_col3","_col4"] <-Reducer 2 [SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_92] + PARTITION_ONLY_SHUFFLE [RS_99] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_432] (rows=7751875 width=101) - Conds:RS_474._col0=RS_462._col0(Inner),Output:["_col1","_col2","_col3","_col4"] + Merge Join Operator [MERGEJOIN_446] (rows=7751875 width=101) + Conds:RS_488._col0=RS_476._col0(Inner),Output:["_col1","_col2","_col3","_col4"] <-Map 8 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_462] + PARTITION_ONLY_SHUFFLE [RS_476] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_461] + Please refer to the previous Select Operator [SEL_475] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_474] + SHUFFLE [RS_488] PartitionCols:_col0 - Select Operator [SEL_473] (rows=285117831 width=127) + Select Operator [SEL_487] (rows=285117831 width=127) Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_472] (rows=285117831 width=127) - predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_90_date_dim_d_date_sk_min) AND DynamicValue(RS_90_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_90_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_sold_date_sk is not null) + Filter Operator [FIL_486] (rows=285117831 width=127) + predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_97_date_dim_d_date_sk_min) AND DynamicValue(RS_97_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_97_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_sold_date_sk is not null) TableScan [TS_0] (rows=287989836 width=127) default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity","cs_list_price"] <-Reducer 9 [BROADCAST_EDGE] vectorized - BROADCAST [RS_471] - Group By Operator [GBY_470] (rows=1 width=12) + BROADCAST [RS_485] + Group By Operator [GBY_484] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_468] - Group By Operator [GBY_466] (rows=1 width=12) + PARTITION_ONLY_SHUFFLE [RS_482] + Group By Operator [GBY_480] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_463] (rows=50 width=4) + Select Operator [SEL_477] (rows=50 width=4) Output:["_col0"] - Please refer to the previous Select Operator [SEL_461] - <-Reducer 20 [SIMPLE_EDGE] - SHUFFLE [RS_93] + Please refer to the previous Select Operator [SEL_475] + <-Reducer 21 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_533] PartitionCols:_col0 - Select Operator [SEL_67] (rows=471875 width=3) - Output:["_col0"] - Filter Operator [FIL_66] (rows=471875 width=227) - predicate:(_col3 > (0.95 * _col1)) - Merge Join Operator [MERGEJOIN_443] (rows=1415626 width=227) - Conds:(Inner),Output:["_col1","_col2","_col3"] - <-Reducer 19 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_63] - Merge Join Operator [MERGEJOIN_442] (rows=1 width=112) - Conds:(Inner),Output:["_col1"] - <-Reducer 18 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_504] - Select Operator [SEL_503] (rows=1 width=8) - Filter Operator [FIL_502] (rows=1 width=8) - predicate:(sq_count_check(_col0) <= 1) - Group By Operator [GBY_501] (rows=1 width=8) - Output:["_col0"],aggregations:["count()"] - Select Operator [SEL_500] (rows=1 width=8) - Group By Operator [GBY_499] (rows=1 width=8) - Output:["_col0"],aggregations:["count(VALUE._col0)"] - <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_495] - Group By Operator [GBY_491] (rows=1 width=8) - Output:["_col0"],aggregations:["count(_col0)"] - Select Operator [SEL_487] (rows=50562 width=112) - Output:["_col0"] - Please refer to the previous Group By Operator [GBY_486] - <-Reducer 21 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_506] - Group By Operator [GBY_505] (rows=1 width=112) - Output:["_col0"],aggregations:["max(VALUE._col0)"] - <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_496] - Group By Operator [GBY_492] (rows=1 width=112) - Output:["_col0"],aggregations:["max(_col1)"] - Select Operator [SEL_488] (rows=50562 width=112) - Output:["_col1"] - Please refer to the previous Group By Operator [GBY_486] - <-Reducer 29 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_514] - Group By Operator [GBY_513] (rows=1415626 width=115) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 - <-Map 28 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_512] - PartitionCols:_col0 - Group By Operator [GBY_511] (rows=550080312 width=115) - Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0 - Select Operator [SEL_510] (rows=550080312 width=114) - Output:["_col0","_col1"] - Filter Operator [FIL_509] (rows=550080312 width=114) - predicate:((ss_customer_sk BETWEEN DynamicValue(RS_92_catalog_sales_cs_bill_customer_sk_min) AND DynamicValue(RS_92_catalog_sales_cs_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_92_catalog_sales_cs_bill_customer_sk_bloom_filter))) and ss_customer_sk is not null) - TableScan [TS_52] (rows=575995635 width=114) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"] - <-Reducer 7 [BROADCAST_EDGE] vectorized - BROADCAST [RS_508] - Group By Operator [GBY_507] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Reducer 2 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_338] - Group By Operator [GBY_337] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_336] (rows=7751875 width=6) - Output:["_col0"] - Please refer to the previous Merge Join Operator [MERGEJOIN_432] - <-Reducer 33 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_533] + Group By Operator [GBY_532] (rows=235937 width=3) + Output:["_col0"],keys:KEY._col0 + <-Reducer 20 [SIMPLE_EDGE] + SHUFFLE [RS_72] + PartitionCols:_col0 + Group By Operator [GBY_71] (rows=235937 width=3) + Output:["_col0"],keys:_col2 + Select Operator [SEL_70] (rows=471875 width=227) + Output:["_col2"] + Filter Operator [FIL_69] (rows=471875 width=227) + predicate:(_col3 > _col1) + Merge Join Operator [MERGEJOIN_457] (rows=1415626 width=227) + Conds:(Inner),Output:["_col1","_col2","_col3"] + <-Reducer 19 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_66] + Merge Join Operator [MERGEJOIN_456] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 18 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_518] + Select Operator [SEL_517] (rows=1 width=8) + Filter Operator [FIL_516] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_515] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_514] (rows=1 width=8) + Group By Operator [GBY_513] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_509] + Group By Operator [GBY_505] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_501] (rows=50562 width=112) + Output:["_col0"] + Please refer to the previous Group By Operator [GBY_500] + <-Reducer 22 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_522] + Select Operator [SEL_521] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_520] (rows=1 width=112) + predicate:_col0 is not null + Group By Operator [GBY_519] (rows=1 width=112) + Output:["_col0"],aggregations:["max(VALUE._col0)"] + <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_510] + Group By Operator [GBY_506] (rows=1 width=112) + Output:["_col0"],aggregations:["max(_col1)"] + Select Operator [SEL_502] (rows=50562 width=112) + Output:["_col1"] + Please refer to the previous Group By Operator [GBY_500] + <-Reducer 31 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_531] + Filter Operator [FIL_530] (rows=1415626 width=115) + predicate:_col1 is not null + Group By Operator [GBY_529] (rows=1415626 width=115) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 + <-Map 30 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_528] + PartitionCols:_col0 + Group By Operator [GBY_527] (rows=550080312 width=115) + Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0 + Select Operator [SEL_526] (rows=550080312 width=114) + Output:["_col0","_col1"] + Filter Operator [FIL_525] (rows=550080312 width=114) + predicate:((ss_customer_sk BETWEEN DynamicValue(RS_99_catalog_sales_cs_bill_customer_sk_min) AND DynamicValue(RS_99_catalog_sales_cs_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_99_catalog_sales_cs_bill_customer_sk_bloom_filter))) and ss_customer_sk is not null) + TableScan [TS_54] (rows=575995635 width=114) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"] + <-Reducer 7 [BROADCAST_EDGE] vectorized + BROADCAST [RS_524] + Group By Operator [GBY_523] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Reducer 2 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_352] + Group By Operator [GBY_351] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_350] (rows=7751875 width=6) + Output:["_col0"] + Please refer to the previous Merge Join Operator [MERGEJOIN_446] + <-Reducer 35 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_552] PartitionCols:_col0 - Group By Operator [GBY_532] (rows=2235 width=4) + Group By Operator [GBY_551] (rows=2235 width=4) Output:["_col0"],keys:_col0 - Select Operator [SEL_531] (rows=1943705 width=4) + Select Operator [SEL_550] (rows=1943705 width=4) Output:["_col0"] - Filter Operator [FIL_530] (rows=1943705 width=106) + Filter Operator [FIL_549] (rows=1943705 width=106) predicate:(_col2 > 4L) - Select Operator [SEL_529] (rows=5831115 width=106) + Select Operator [SEL_548] (rows=5831115 width=106) Output:["_col0","_col2"] - Group By Operator [GBY_528] (rows=5831115 width=106) + Group By Operator [GBY_547] (rows=5831115 width=106) Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 32 [SIMPLE_EDGE] - SHUFFLE [RS_84] + <-Reducer 34 [SIMPLE_EDGE] + SHUFFLE [RS_91] PartitionCols:_col0, _col1 - Please refer to the previous Group By Operator [GBY_83] + Please refer to the previous Group By Operator [GBY_90] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query24.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query24.q.out index d5ff339c4d..ad75f8a6a0 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query24.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query24.q.out @@ -1,4 +1,4 @@ -Warning: Shuffle Join MERGEJOIN[297][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[301][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 6' is a cross product PREHOOK: query: explain with ssales as (select c_last_name @@ -138,180 +138,184 @@ Stage-0 limit:-1 Stage-1 Reducer 6 - File Output Operator [FS_92] - Select Operator [SEL_91] (rows=5130 width=380) + File Output Operator [FS_96] + Select Operator [SEL_95] (rows=5130 width=380) Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_90] (rows=5130 width=492) + Filter Operator [FIL_94] (rows=5130 width=492) predicate:(_col3 > _col4) - Merge Join Operator [MERGEJOIN_297] (rows=15392 width=492) + Merge Join Operator [MERGEJOIN_301] (rows=15392 width=492) Conds:(Inner),Output:["_col0","_col1","_col2","_col3","_col4"] <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_339] - Select Operator [SEL_338] (rows=1 width=112) + PARTITION_ONLY_SHUFFLE [RS_345] + Select Operator [SEL_344] (rows=1 width=112) Output:["_col0"] - Group By Operator [GBY_337] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] - <-Reducer 11 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_336] - Group By Operator [GBY_335] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col10)","count(_col10)"] - Select Operator [SEL_334] (rows=589731268 width=932) - Output:["_col10"] - Group By Operator [GBY_333] (rows=589731268 width=932) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9 - <-Reducer 10 [SIMPLE_EDGE] - SHUFFLE [RS_79] - PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 - Group By Operator [GBY_78] (rows=589731268 width=932) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(_col4)"],keys:_col9, _col10, _col13, _col17, _col18, _col21, _col22, _col23, _col24, _col25 - Merge Join Operator [MERGEJOIN_296] (rows=589731268 width=928) - Conds:RS_74._col0=RS_301._col0(Inner),Output:["_col4","_col9","_col10","_col13","_col17","_col18","_col21","_col22","_col23","_col24","_col25"] - <-Map 19 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_301] - PartitionCols:_col0 - Select Operator [SEL_299] (rows=462000 width=384) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - TableScan [TS_22] (rows=462000 width=384) - default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_size","i_color","i_units","i_manager_id"] - <-Reducer 9 [SIMPLE_EDGE] - SHUFFLE [RS_74] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_295] (rows=589731268 width=551) - Conds:RS_71._col2, _col1=RS_72._col9, _col0(Inner),Output:["_col0","_col4","_col9","_col10","_col13","_col17","_col18"] - <-Reducer 15 [SIMPLE_EDGE] - SHUFFLE [RS_72] - PartitionCols:_col9, _col0 - Select Operator [SEL_21] (rows=7276996 width=724) - Output:["_col0","_col2","_col3","_col6","_col9","_col10","_col11"] - Filter Operator [FIL_20] (rows=7276996 width=724) - predicate:(_col12 <> _col3) - Merge Join Operator [MERGEJOIN_289] (rows=7276996 width=724) - Conds:RS_17._col0=RS_322._col1(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col8","_col10","_col11","_col12"] - <-Map 18 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_322] - PartitionCols:_col1 - Select Operator [SEL_321] (rows=80000000 width=280) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_320] (rows=80000000 width=280) - predicate:c_current_addr_sk is not null - TableScan [TS_11] (rows=80000000 width=280) - default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk","c_first_name","c_last_name","c_birth_country"] - <-Reducer 14 [SIMPLE_EDGE] - SHUFFLE [RS_17] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_288] (rows=611379 width=452) - Conds:RS_316._col2=RS_319._col3(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6"] - <-Map 13 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_316] - PartitionCols:_col2 - Select Operator [SEL_315] (rows=40000000 width=363) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_314] (rows=40000000 width=276) - predicate:ca_zip is not null - TableScan [TS_5] (rows=40000000 width=276) - default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state","ca_zip","ca_country"] - <-Map 17 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_319] - PartitionCols:_col3 - Select Operator [SEL_318] (rows=155 width=267) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_317] (rows=155 width=271) - predicate:((s_market_id = 7) and s_zip is not null) - TableScan [TS_8] (rows=1704 width=270) - default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_name","s_market_id","s_state","s_zip"] - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_71] - PartitionCols:_col2, _col1 - Merge Join Operator [MERGEJOIN_292] (rows=537799798 width=118) - Conds:RS_332._col0, _col3=RS_313._col0, _col1(Inner),Output:["_col0","_col1","_col2","_col4"] - <-Map 7 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_313] - PartitionCols:_col0, _col1 - Select Operator [SEL_311] (rows=57591150 width=8) - Output:["_col0","_col1"] - TableScan [TS_3] (rows=57591150 width=8) - default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number"] - <-Map 21 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_332] - PartitionCols:_col0, _col3 - Select Operator [SEL_331] (rows=525333486 width=122) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_330] (rows=525333486 width=122) - predicate:((ss_customer_sk BETWEEN DynamicValue(RS_72_customer_c_customer_sk_min) AND DynamicValue(RS_72_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_72_customer_c_customer_sk_bloom_filter))) and ss_customer_sk is not null and ss_store_sk is not null) - TableScan [TS_44] (rows=575995635 width=122) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_sales_price"] - <-Reducer 16 [BROADCAST_EDGE] vectorized - BROADCAST [RS_329] - Group By Operator [GBY_328] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=6636187)"] - <-Reducer 15 [CUSTOM_SIMPLE_EDGE] - SHUFFLE [RS_231] - Group By Operator [GBY_230] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=6636187)"] - Select Operator [SEL_229] (rows=7276996 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_21] + Filter Operator [FIL_343] (rows=1 width=120) + predicate:(_col0 is not null and _col1 is not null) + Group By Operator [GBY_342] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] + <-Reducer 11 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_341] + Group By Operator [GBY_340] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col10)","count(_col10)"] + Select Operator [SEL_339] (rows=589731268 width=932) + Output:["_col10"] + Group By Operator [GBY_338] (rows=589731268 width=932) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9 + <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_81] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 + Group By Operator [GBY_80] (rows=589731268 width=932) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(_col4)"],keys:_col9, _col10, _col13, _col17, _col18, _col21, _col22, _col23, _col24, _col25 + Merge Join Operator [MERGEJOIN_300] (rows=589731268 width=928) + Conds:RS_76._col0=RS_305._col0(Inner),Output:["_col4","_col9","_col10","_col13","_col17","_col18","_col21","_col22","_col23","_col24","_col25"] + <-Map 19 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_305] + PartitionCols:_col0 + Select Operator [SEL_303] (rows=462000 width=384) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + TableScan [TS_22] (rows=462000 width=384) + default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_size","i_color","i_units","i_manager_id"] + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_76] + PartitionCols:_col0 + Merge Join Operator [MERGEJOIN_299] (rows=589731268 width=551) + Conds:RS_73._col2, _col1=RS_74._col9, _col0(Inner),Output:["_col0","_col4","_col9","_col10","_col13","_col17","_col18"] + <-Reducer 15 [SIMPLE_EDGE] + SHUFFLE [RS_74] + PartitionCols:_col9, _col0 + Select Operator [SEL_21] (rows=7276996 width=724) + Output:["_col0","_col2","_col3","_col6","_col9","_col10","_col11"] + Filter Operator [FIL_20] (rows=7276996 width=724) + predicate:(_col12 <> _col3) + Merge Join Operator [MERGEJOIN_293] (rows=7276996 width=724) + Conds:RS_17._col0=RS_326._col1(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col8","_col10","_col11","_col12"] + <-Map 18 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_326] + PartitionCols:_col1 + Select Operator [SEL_325] (rows=80000000 width=280) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_324] (rows=80000000 width=280) + predicate:c_current_addr_sk is not null + TableScan [TS_11] (rows=80000000 width=280) + default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk","c_first_name","c_last_name","c_birth_country"] + <-Reducer 14 [SIMPLE_EDGE] + SHUFFLE [RS_17] + PartitionCols:_col0 + Merge Join Operator [MERGEJOIN_292] (rows=611379 width=452) + Conds:RS_320._col2=RS_323._col3(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6"] + <-Map 13 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_320] + PartitionCols:_col2 + Select Operator [SEL_319] (rows=40000000 width=363) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_318] (rows=40000000 width=276) + predicate:ca_zip is not null + TableScan [TS_5] (rows=40000000 width=276) + default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state","ca_zip","ca_country"] + <-Map 17 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_323] + PartitionCols:_col3 + Select Operator [SEL_322] (rows=155 width=267) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_321] (rows=155 width=271) + predicate:((s_market_id = 7) and s_zip is not null) + TableScan [TS_8] (rows=1704 width=270) + default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_name","s_market_id","s_state","s_zip"] + <-Reducer 8 [SIMPLE_EDGE] + SHUFFLE [RS_73] + PartitionCols:_col2, _col1 + Merge Join Operator [MERGEJOIN_296] (rows=537799798 width=118) + Conds:RS_337._col0, _col3=RS_317._col0, _col1(Inner),Output:["_col0","_col1","_col2","_col4"] + <-Map 7 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_317] + PartitionCols:_col0, _col1 + Select Operator [SEL_315] (rows=57591150 width=8) + Output:["_col0","_col1"] + TableScan [TS_3] (rows=57591150 width=8) + default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number"] + <-Map 21 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_337] + PartitionCols:_col0, _col3 + Select Operator [SEL_336] (rows=525333486 width=122) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_335] (rows=525333486 width=122) + predicate:((ss_customer_sk BETWEEN DynamicValue(RS_74_customer_c_customer_sk_min) AND DynamicValue(RS_74_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_74_customer_c_customer_sk_bloom_filter))) and ss_customer_sk is not null and ss_store_sk is not null) + TableScan [TS_46] (rows=575995635 width=122) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_sales_price"] + <-Reducer 16 [BROADCAST_EDGE] vectorized + BROADCAST [RS_334] + Group By Operator [GBY_333] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=6636187)"] + <-Reducer 15 [CUSTOM_SIMPLE_EDGE] + SHUFFLE [RS_235] + Group By Operator [GBY_234] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=6636187)"] + Select Operator [SEL_233] (rows=7276996 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_21] <-Reducer 5 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_327] - Select Operator [SEL_326] (rows=15392 width=380) - Output:["_col0","_col1","_col2","_col3"] - Group By Operator [GBY_325] (rows=15392 width=380) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col9)"],keys:_col0, _col1, _col3 - Select Operator [SEL_324] (rows=86004082 width=843) - Output:["_col0","_col1","_col3","_col9"] - Group By Operator [GBY_323] (rows=86004082 width=843) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8 - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_36] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_35] (rows=86004082 width=843) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"],aggregations:["sum(_col4)"],keys:_col9, _col10, _col17, _col13, _col18, _col21, _col22, _col23, _col24 - Merge Join Operator [MERGEJOIN_291] (rows=86004082 width=813) - Conds:RS_31._col0=RS_302._col0(Inner),Output:["_col4","_col9","_col10","_col13","_col17","_col18","_col21","_col22","_col23","_col24"] - <-Map 19 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_302] - PartitionCols:_col0 - Select Operator [SEL_300] (rows=7000 width=295) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_298] (rows=7000 width=384) - predicate:(i_color = 'orchid') - Please refer to the previous TableScan [TS_22] - <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_31] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_290] (rows=589731268 width=551) - Conds:RS_28._col2, _col1=RS_29._col9, _col0(Inner),Output:["_col0","_col4","_col9","_col10","_col13","_col17","_col18"] - <-Reducer 15 [SIMPLE_EDGE] - SHUFFLE [RS_29] - PartitionCols:_col9, _col0 - Please refer to the previous Select Operator [SEL_21] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_28] - PartitionCols:_col2, _col1 - Merge Join Operator [MERGEJOIN_287] (rows=537799798 width=118) - Conds:RS_310._col0, _col3=RS_312._col0, _col1(Inner),Output:["_col0","_col1","_col2","_col4"] - <-Map 7 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_312] - PartitionCols:_col0, _col1 - Please refer to the previous Select Operator [SEL_311] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_310] - PartitionCols:_col0, _col3 - Select Operator [SEL_309] (rows=525333486 width=122) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_308] (rows=525333486 width=122) - predicate:((ss_item_sk BETWEEN DynamicValue(RS_32_item_i_item_sk_min) AND DynamicValue(RS_32_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_32_item_i_item_sk_bloom_filter))) and ss_customer_sk is not null and ss_store_sk is not null) - TableScan [TS_0] (rows=575995635 width=122) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_sales_price"] - <-Reducer 20 [BROADCAST_EDGE] vectorized - BROADCAST [RS_307] - Group By Operator [GBY_306] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 19 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_305] - Group By Operator [GBY_304] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_303] (rows=7000 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_300] + PARTITION_ONLY_SHUFFLE [RS_332] + Filter Operator [FIL_331] (rows=15392 width=380) + predicate:_col3 is not null + Select Operator [SEL_330] (rows=15392 width=380) + Output:["_col0","_col1","_col2","_col3"] + Group By Operator [GBY_329] (rows=15392 width=380) + Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col9)"],keys:_col0, _col1, _col3 + Select Operator [SEL_328] (rows=86004082 width=843) + Output:["_col0","_col1","_col3","_col9"] + Group By Operator [GBY_327] (rows=86004082 width=843) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8 + <-Reducer 4 [SIMPLE_EDGE] + SHUFFLE [RS_36] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_35] (rows=86004082 width=843) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"],aggregations:["sum(_col4)"],keys:_col9, _col10, _col17, _col13, _col18, _col21, _col22, _col23, _col24 + Merge Join Operator [MERGEJOIN_295] (rows=86004082 width=813) + Conds:RS_31._col0=RS_306._col0(Inner),Output:["_col4","_col9","_col10","_col13","_col17","_col18","_col21","_col22","_col23","_col24"] + <-Map 19 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_306] + PartitionCols:_col0 + Select Operator [SEL_304] (rows=7000 width=295) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_302] (rows=7000 width=384) + predicate:(i_color = 'orchid') + Please refer to the previous TableScan [TS_22] + <-Reducer 3 [SIMPLE_EDGE] + SHUFFLE [RS_31] + PartitionCols:_col0 + Merge Join Operator [MERGEJOIN_294] (rows=589731268 width=551) + Conds:RS_28._col2, _col1=RS_29._col9, _col0(Inner),Output:["_col0","_col4","_col9","_col10","_col13","_col17","_col18"] + <-Reducer 15 [SIMPLE_EDGE] + SHUFFLE [RS_29] + PartitionCols:_col9, _col0 + Please refer to the previous Select Operator [SEL_21] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_28] + PartitionCols:_col2, _col1 + Merge Join Operator [MERGEJOIN_291] (rows=537799798 width=118) + Conds:RS_314._col0, _col3=RS_316._col0, _col1(Inner),Output:["_col0","_col1","_col2","_col4"] + <-Map 7 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_316] + PartitionCols:_col0, _col1 + Please refer to the previous Select Operator [SEL_315] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_314] + PartitionCols:_col0, _col3 + Select Operator [SEL_313] (rows=525333486 width=122) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_312] (rows=525333486 width=122) + predicate:((ss_item_sk BETWEEN DynamicValue(RS_32_item_i_item_sk_min) AND DynamicValue(RS_32_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_32_item_i_item_sk_bloom_filter))) and ss_customer_sk is not null and ss_store_sk is not null) + TableScan [TS_0] (rows=575995635 width=122) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_sales_price"] + <-Reducer 20 [BROADCAST_EDGE] vectorized + BROADCAST [RS_311] + Group By Operator [GBY_310] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 19 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_309] + Group By Operator [GBY_308] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_307] (rows=7000 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_304] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query30.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query30.q.out index 7924edd724..37f71b8ed8 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query30.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query30.q.out @@ -87,135 +87,139 @@ Stage-0 limit:100 Stage-1 Reducer 4 vectorized - File Output Operator [FS_210] - Limit [LIM_209] (rows=100 width=942) + File Output Operator [FS_215] + Limit [LIM_214] (rows=100 width=942) Number of rows:100 - Select Operator [SEL_208] (rows=691171 width=942) + Select Operator [SEL_213] (rows=691171 width=942) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12"] <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_63] - Select Operator [SEL_62] (rows=691171 width=942) + SHUFFLE [RS_66] + Select Operator [SEL_65] (rows=691171 width=942) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12"] - Merge Join Operator [MERGEJOIN_177] (rows=691171 width=942) - Conds:RS_59._col0=RS_60._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col17"] + Merge Join Operator [MERGEJOIN_180] (rows=691171 width=942) + Conds:RS_62._col0=RS_63._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col17"] <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_59] + SHUFFLE [RS_62] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_171] (rows=1568628 width=834) - Conds:RS_180._col2=RS_187._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] + Merge Join Operator [MERGEJOIN_174] (rows=1568628 width=834) + Conds:RS_183._col2=RS_190._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_187] + SHUFFLE [RS_190] PartitionCols:_col0 - Select Operator [SEL_184] (rows=784314 width=4) + Select Operator [SEL_187] (rows=784314 width=4) Output:["_col0"] - Filter Operator [FIL_181] (rows=784314 width=90) + Filter Operator [FIL_184] (rows=784314 width=90) predicate:(ca_state = 'IL') TableScan [TS_3] (rows=40000000 width=90) default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state"] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_180] + SHUFFLE [RS_183] PartitionCols:_col2 - Select Operator [SEL_179] (rows=80000000 width=849) + Select Operator [SEL_182] (rows=80000000 width=849) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] - Filter Operator [FIL_178] (rows=80000000 width=849) + Filter Operator [FIL_181] (rows=80000000 width=849) predicate:c_current_addr_sk is not null TableScan [TS_0] (rows=80000000 width=849) default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_customer_id","c_current_addr_sk","c_salutation","c_first_name","c_last_name","c_preferred_cust_flag","c_birth_day","c_birth_month","c_birth_year","c_birth_country","c_login","c_email_address","c_last_review_date"] <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_60] + SHUFFLE [RS_63] PartitionCols:_col0 - Select Operator [SEL_55] (rows=704993 width=227) + Select Operator [SEL_58] (rows=704993 width=227) Output:["_col0","_col2"] - Filter Operator [FIL_54] (rows=704993 width=227) + Filter Operator [FIL_57] (rows=704993 width=227) predicate:(_col2 > _col3) - Merge Join Operator [MERGEJOIN_176] (rows=2114980 width=227) - Conds:RS_202._col1=RS_207._col1(Inner),Output:["_col0","_col2","_col3"] + Merge Join Operator [MERGEJOIN_179] (rows=2114980 width=227) + Conds:RS_206._col1=RS_212._col1(Inner),Output:["_col0","_col2","_col3"] <-Reducer 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_207] + SHUFFLE [RS_212] PartitionCols:_col1 - Select Operator [SEL_206] (rows=6 width=198) + Select Operator [SEL_211] (rows=6 width=198) Output:["_col0","_col1"] - Group By Operator [GBY_205] (rows=6 width=206) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0 - Select Operator [SEL_204] (rows=2537976 width=201) - Output:["_col0","_col2"] - Group By Operator [GBY_203] (rows=2537976 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 9 [SIMPLE_EDGE] - SHUFFLE [RS_43] - PartitionCols:_col0 - Group By Operator [GBY_42] (rows=3923529 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 - Merge Join Operator [MERGEJOIN_175] (rows=3923529 width=184) - Conds:RS_38._col2=RS_189._col0(Inner),Output:["_col1","_col3","_col6"] - <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_189] - PartitionCols:_col0 - Select Operator [SEL_186] (rows=40000000 width=90) - Output:["_col0","_col1"] - Filter Operator [FIL_183] (rows=40000000 width=90) - predicate:ca_state is not null - Please refer to the previous TableScan [TS_3] - <-Reducer 13 [SIMPLE_EDGE] - SHUFFLE [RS_38] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_174] (rows=3923529 width=101) - Conds:RS_195._col0=RS_199._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_195] - PartitionCols:_col0 - Select Operator [SEL_193] (rows=13130761 width=118) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_191] (rows=13130761 width=118) - predicate:(wr_returned_date_sk is not null and wr_returning_addr_sk is not null) - TableScan [TS_6] (rows=14398467 width=118) - default@web_returns,web_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["wr_returned_date_sk","wr_returning_customer_sk","wr_returning_addr_sk","wr_return_amt"] - <-Map 14 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_199] - PartitionCols:_col0 - Select Operator [SEL_197] (rows=652 width=4) - Output:["_col0"] - Filter Operator [FIL_196] (rows=652 width=8) - predicate:(d_year = 2002) - TableScan [TS_9] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + Filter Operator [FIL_210] (rows=6 width=206) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_209] (rows=6 width=206) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0 + Select Operator [SEL_208] (rows=2537976 width=201) + Output:["_col0","_col2"] + Group By Operator [GBY_207] (rows=2537976 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_45] + PartitionCols:_col0 + Group By Operator [GBY_44] (rows=3923529 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 + Merge Join Operator [MERGEJOIN_178] (rows=3923529 width=184) + Conds:RS_40._col2=RS_192._col0(Inner),Output:["_col1","_col3","_col6"] + <-Map 5 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_192] + PartitionCols:_col0 + Select Operator [SEL_189] (rows=40000000 width=90) + Output:["_col0","_col1"] + Filter Operator [FIL_186] (rows=40000000 width=90) + predicate:ca_state is not null + Please refer to the previous TableScan [TS_3] + <-Reducer 13 [SIMPLE_EDGE] + SHUFFLE [RS_40] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_177] (rows=3923529 width=101) + Conds:RS_198._col0=RS_202._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 11 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_198] + PartitionCols:_col0 + Select Operator [SEL_196] (rows=13130761 width=118) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_194] (rows=13130761 width=118) + predicate:(wr_returned_date_sk is not null and wr_returning_addr_sk is not null) + TableScan [TS_6] (rows=14398467 width=118) + default@web_returns,web_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["wr_returned_date_sk","wr_returning_customer_sk","wr_returning_addr_sk","wr_return_amt"] + <-Map 14 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_202] + PartitionCols:_col0 + Select Operator [SEL_200] (rows=652 width=4) + Output:["_col0"] + Filter Operator [FIL_199] (rows=652 width=8) + predicate:(d_year = 2002) + TableScan [TS_9] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] <-Reducer 7 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_202] + SHUFFLE [RS_206] PartitionCols:_col1 - Select Operator [SEL_201] (rows=2114980 width=201) - Output:["_col0","_col1","_col2"] - Group By Operator [GBY_200] (rows=2114980 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_23] - PartitionCols:_col0, _col1 - Group By Operator [GBY_22] (rows=3746772 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 - Merge Join Operator [MERGEJOIN_173] (rows=3746772 width=184) - Conds:RS_18._col2=RS_188._col0(Inner),Output:["_col1","_col3","_col6"] - <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_188] - PartitionCols:_col0 - Select Operator [SEL_185] (rows=40000000 width=90) - Output:["_col0","_col1"] - Filter Operator [FIL_182] (rows=40000000 width=90) - predicate:ca_state is not null - Please refer to the previous TableScan [TS_3] - <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_18] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_172] (rows=3746772 width=101) - Conds:RS_194._col0=RS_198._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_194] - PartitionCols:_col0 - Select Operator [SEL_192] (rows=12539215 width=118) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_190] (rows=12539215 width=118) - predicate:(wr_returned_date_sk is not null and wr_returning_addr_sk is not null and wr_returning_customer_sk is not null) - Please refer to the previous TableScan [TS_6] - <-Map 14 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_198] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_197] + Filter Operator [FIL_205] (rows=2114980 width=201) + predicate:_col2 is not null + Select Operator [SEL_204] (rows=2114980 width=201) + Output:["_col0","_col1","_col2"] + Group By Operator [GBY_203] (rows=2114980 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_23] + PartitionCols:_col0, _col1 + Group By Operator [GBY_22] (rows=3746772 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 + Merge Join Operator [MERGEJOIN_176] (rows=3746772 width=184) + Conds:RS_18._col2=RS_191._col0(Inner),Output:["_col1","_col3","_col6"] + <-Map 5 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_191] + PartitionCols:_col0 + Select Operator [SEL_188] (rows=40000000 width=90) + Output:["_col0","_col1"] + Filter Operator [FIL_185] (rows=40000000 width=90) + predicate:ca_state is not null + Please refer to the previous TableScan [TS_3] + <-Reducer 12 [SIMPLE_EDGE] + SHUFFLE [RS_18] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_175] (rows=3746772 width=101) + Conds:RS_197._col0=RS_201._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 11 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_197] + PartitionCols:_col0 + Select Operator [SEL_195] (rows=12539215 width=118) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_193] (rows=12539215 width=118) + predicate:(wr_returned_date_sk is not null and wr_returning_addr_sk is not null and wr_returning_customer_sk is not null) + Please refer to the previous TableScan [TS_6] + <-Map 14 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_201] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_200] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query32.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query32.q.out index a0cd1d2789..75f57e2786 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query32.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query32.q.out @@ -63,119 +63,107 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Map 1 <- Reducer 9 (BROADCAST_EDGE) -Map 10 <- Reducer 12 (BROADCAST_EDGE) -Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) -Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 8 (ONE_TO_ONE_EDGE) -Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE) -Reducer 6 <- Map 10 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) +Map 1 <- Reducer 10 (BROADCAST_EDGE) +Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) +Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) +Reducer 4 <- Reducer 3 (ONE_TO_ONE_EDGE), Reducer 7 (ONE_TO_ONE_EDGE) +Reducer 5 <- Reducer 4 (CUSTOM_SIMPLE_EDGE) +Reducer 6 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) Reducer 7 <- Reducer 6 (SIMPLE_EDGE) -Reducer 8 <- Map 11 (SIMPLE_EDGE), Reducer 7 (ONE_TO_ONE_EDGE) -Reducer 9 <- Reducer 8 (CUSTOM_SIMPLE_EDGE) Stage-0 Fetch Operator limit:-1 Stage-1 - Reducer 4 vectorized - File Output Operator [FS_128] - Group By Operator [GBY_127] (rows=1 width=112) + Reducer 5 vectorized + File Output Operator [FS_127] + Group By Operator [GBY_126] (rows=1 width=112) Output:["_col0"],aggregations:["sum(VALUE._col0)"] - <-Reducer 3 [CUSTOM_SIMPLE_EDGE] + <-Reducer 4 [CUSTOM_SIMPLE_EDGE] PARTITION_ONLY_SHUFFLE [RS_36] Group By Operator [GBY_35] (rows=1 width=112) Output:["_col0"],aggregations:["sum(_col2)"] - Select Operator [SEL_34] (rows=2478 width=112) + Select Operator [SEL_34] (rows=32 width=115) Output:["_col2"] - Filter Operator [FIL_33] (rows=2478 width=112) - predicate:(_col2 > _col5) - Merge Join Operator [MERGEJOIN_103] (rows=7434 width=112) - Conds:RS_30._col1=RS_31._col2(Inner),Output:["_col2","_col5"] - <-Reducer 8 [ONE_TO_ONE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_31] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_102] (rows=97 width=116) - Conds:RS_121._col0=RS_110._col0(Inner),Output:["_col1","_col2"] - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_110] + Filter Operator [FIL_33] (rows=32 width=115) + predicate:(_col2 > _col6) + Merge Join Operator [MERGEJOIN_103] (rows=97 width=113) + Conds:RS_30._col4=RS_125._col0(Inner),Output:["_col2","_col6"] + <-Reducer 3 [ONE_TO_ONE_EDGE] + FORWARD [RS_30] + PartitionCols:_col4 + Merge Join Operator [MERGEJOIN_101] (rows=441513 width=4) + Conds:RS_27._col1=RS_106._col0(Inner),Output:["_col2","_col4"] + <-Map 9 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_106] PartitionCols:_col0 - Select Operator [SEL_109] (rows=669 width=4) + Select Operator [SEL_105] (rows=669 width=4) Output:["_col0"] - Filter Operator [FIL_108] (rows=669 width=7) + Filter Operator [FIL_104] (rows=669 width=7) predicate:(i_manufact_id = 269) - TableScan [TS_20] (rows=462000 width=7) + TableScan [TS_6] (rows=462000 width=7) default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_manufact_id"] - <-Reducer 7 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_121] - PartitionCols:_col0 - Select Operator [SEL_120] (rows=6951 width=116) - Output:["_col0","_col1"] - Group By Operator [GBY_119] (rows=6951 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_17] - PartitionCols:_col0 - Group By Operator [GBY_16] (rows=97314 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 - Merge Join Operator [MERGEJOIN_101] (rows=31836679 width=110) - Conds:RS_118._col0=RS_107._col0(Inner),Output:["_col1","_col2"] - <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_107] - PartitionCols:_col0 - Select Operator [SEL_105] (rows=8116 width=4) - Output:["_col0"] - Filter Operator [FIL_104] (rows=8116 width=98) - predicate:CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00' AND TIMESTAMP'1998-06-16 00:00:00' - TableScan [TS_3] (rows=73049 width=98) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"] - <-Map 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_118] - PartitionCols:_col0 - Select Operator [SEL_117] (rows=286549727 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_116] (rows=286549727 width=119) - predicate:((cs_item_sk BETWEEN DynamicValue(RS_24_item_i_item_sk_min) AND DynamicValue(RS_24_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_24_item_i_item_sk_bloom_filter))) and cs_sold_date_sk is not null) - TableScan [TS_6] (rows=287989836 width=119) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_ext_discount_amt"] - <-Reducer 12 [BROADCAST_EDGE] vectorized - BROADCAST [RS_115] - Group By Operator [GBY_114] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_113] - Group By Operator [GBY_112] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_111] (rows=669 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_109] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_30] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_100] (rows=31836679 width=110) - Conds:RS_126._col0=RS_106._col0(Inner),Output:["_col1","_col2"] - <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_106] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_105] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_126] - PartitionCols:_col0 - Select Operator [SEL_125] (rows=286549727 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_124] (rows=286549727 width=119) - predicate:((cs_item_sk BETWEEN DynamicValue(RS_31_item_i_item_sk_min) AND DynamicValue(RS_31_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_31_item_i_item_sk_bloom_filter))) and cs_sold_date_sk is not null) - TableScan [TS_0] (rows=287989836 width=119) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_ext_discount_amt"] - <-Reducer 9 [BROADCAST_EDGE] vectorized - BROADCAST [RS_123] - Group By Operator [GBY_122] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Reducer 8 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_64] - Group By Operator [GBY_63] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_62] (rows=97 width=8) - Output:["_col0"] - Please refer to the previous Merge Join Operator [MERGEJOIN_102] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_27] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_100] (rows=31677454 width=110) + Conds:RS_116._col0=RS_120._col0(Inner),Output:["_col1","_col2"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_116] + PartitionCols:_col0 + Select Operator [SEL_114] (rows=285116600 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_112] (rows=285116600 width=119) + predicate:(cs_ext_discount_amt is not null and cs_sold_date_sk is not null) + TableScan [TS_0] (rows=287989836 width=119) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_ext_discount_amt"] + <-Reducer 10 [BROADCAST_EDGE] vectorized + BROADCAST [RS_111] + Group By Operator [GBY_110] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_109] + Group By Operator [GBY_108] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_107] (rows=669 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_105] + <-Map 8 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_120] + PartitionCols:_col0 + Select Operator [SEL_119] (rows=8116 width=4) + Output:["_col0"] + Filter Operator [FIL_118] (rows=8116 width=98) + predicate:CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00' AND TIMESTAMP'1998-06-16 00:00:00' + TableScan [TS_3] (rows=73049 width=98) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"] + <-Reducer 7 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_125] + PartitionCols:_col0 + Select Operator [SEL_124] (rows=6951 width=116) + Output:["_col0","_col1"] + Filter Operator [FIL_123] (rows=6951 width=124) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_122] (rows=6951 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_20] + PartitionCols:_col0 + Group By Operator [GBY_19] (rows=97314 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 + Merge Join Operator [MERGEJOIN_102] (rows=31836679 width=110) + Conds:RS_117._col0=RS_121._col0(Inner),Output:["_col1","_col2"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_117] + PartitionCols:_col0 + Select Operator [SEL_115] (rows=286549727 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_113] (rows=286549727 width=119) + predicate:cs_sold_date_sk is not null + Please refer to the previous TableScan [TS_0] + <-Map 8 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_121] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_119] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out index 3fd361a9f9..da6d3bc7c2 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out @@ -1,4 +1,5 @@ -Warning: Shuffle Join MERGEJOIN[101][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 8' is a cross product +Warning: Shuffle Join MERGEJOIN[149][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 9' is a cross product +Warning: Shuffle Join MERGEJOIN[150][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 10' is a cross product PREHOOK: query: explain select asceding.rnk, i1.i_product_name best_performing, i2.i_product_name worst_performing from(select * @@ -76,118 +77,155 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Reducer 10 <- Reducer 8 (SIMPLE_EDGE) -Reducer 12 <- Map 11 (SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) +Reducer 10 <- Reducer 16 (CUSTOM_SIMPLE_EDGE), Reducer 9 (CUSTOM_SIMPLE_EDGE) +Reducer 11 <- Reducer 10 (SIMPLE_EDGE) +Reducer 12 <- Reducer 10 (SIMPLE_EDGE) +Reducer 14 <- Map 13 (SIMPLE_EDGE) +Reducer 16 <- Map 15 (SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE) Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE) Reducer 4 <- Reducer 3 (SIMPLE_EDGE) -Reducer 5 <- Map 1 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE) +Reducer 5 <- Map 1 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) Reducer 7 <- Map 6 (SIMPLE_EDGE) -Reducer 8 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 7 (CUSTOM_SIMPLE_EDGE) -Reducer 9 <- Reducer 8 (SIMPLE_EDGE) +Reducer 8 <- Reducer 7 (CUSTOM_SIMPLE_EDGE) +Reducer 9 <- Reducer 14 (CUSTOM_SIMPLE_EDGE), Reducer 8 (CUSTOM_SIMPLE_EDGE) Stage-0 Fetch Operator limit:100 Stage-1 Reducer 4 vectorized - File Output Operator [FS_135] - Limit [LIM_134] (rows=100 width=218) + File Output Operator [FS_200] + Limit [LIM_199] (rows=100 width=218) Number of rows:100 - Select Operator [SEL_133] (rows=6951 width=218) + Select Operator [SEL_198] (rows=6951 width=218) Output:["_col0","_col1","_col2"] <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_67] - Select Operator [SEL_66] (rows=6951 width=218) + SHUFFLE [RS_107] + Select Operator [SEL_106] (rows=6951 width=218) Output:["_col0","_col1","_col2"] - Merge Join Operator [MERGEJOIN_105] (rows=6951 width=218) - Conds:RS_63._col3=RS_64._col3(Inner),Output:["_col1","_col3","_col5"] + Merge Join Operator [MERGEJOIN_155] (rows=6951 width=218) + Conds:RS_103._col3=RS_104._col3(Inner),Output:["_col1","_col3","_col5"] <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_63] + SHUFFLE [RS_103] PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_102] (rows=6951 width=111) - Conds:RS_107._col0=RS_127._col0(Inner),Output:["_col1","_col3"] + Merge Join Operator [MERGEJOIN_151] (rows=6951 width=111) + Conds:RS_157._col0=RS_192._col0(Inner),Output:["_col1","_col3"] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_107] + SHUFFLE [RS_157] PartitionCols:_col0 - Select Operator [SEL_106] (rows=462000 width=111) + Select Operator [SEL_156] (rows=462000 width=111) Output:["_col0","_col1"] TableScan [TS_0] (rows=462000 width=111) default@item,i1,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_product_name"] - <-Reducer 9 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_127] + <-Reducer 11 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_192] PartitionCols:_col0 - Select Operator [SEL_126] (rows=6951 width=8) + Select Operator [SEL_191] (rows=6951 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_125] (rows=6951 width=116) + Filter Operator [FIL_190] (rows=6951 width=116) predicate:(rank_window_0 < 11) - PTF Operator [PTF_124] (rows=20854 width=116) - Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"0"}] - Select Operator [SEL_123] (rows=20854 width=116) - Output:["_col0","_col1"] - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_21] + PTF Operator [PTF_189] (rows=20854 width=116) + Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 ASC NULLS FIRST","partition by:":"0"}] + Select Operator [SEL_188] (rows=20854 width=116) + Output:["_col2","_col3"] + <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_41] PartitionCols:0 - Filter Operator [FIL_20] (rows=20854 width=228) - predicate:(_col1 > (0.9 * _col2)) - Merge Join Operator [MERGEJOIN_101] (rows=62562 width=228) - Conds:(Inner),Output:["_col0","_col1","_col2"] - <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_122] - Select Operator [SEL_121] (rows=1 width=112) - Output:["_col0"] - Group By Operator [GBY_120] (rows=1 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_119] - PartitionCols:_col0 - Group By Operator [GBY_118] (rows=258 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","count(_col1)"],keys:true - Select Operator [SEL_117] (rows=287946 width=114) - Output:["_col1"] - Filter Operator [FIL_116] (rows=287946 width=114) - predicate:((ss_store_sk = 410) and ss_hdemo_sk is null) - TableScan [TS_9] (rows=575995635 width=114) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk","ss_net_profit"] - <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_115] - Select Operator [SEL_114] (rows=62562 width=116) + Filter Operator [FIL_40] (rows=20854 width=228) + predicate:(_col3 > (0.9 * _col1)) + Merge Join Operator [MERGEJOIN_150] (rows=62562 width=228) + Conds:(Inner),Output:["_col1","_col2","_col3"] + <-Reducer 16 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_187] + Select Operator [SEL_186] (rows=62562 width=116) Output:["_col0","_col1"] - Group By Operator [GBY_113] (rows=62562 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 - <-Map 6 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_112] - PartitionCols:_col0 - Group By Operator [GBY_111] (rows=3199976 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(ss_net_profit)","count(ss_net_profit)"],keys:ss_item_sk - Select Operator [SEL_110] (rows=6399952 width=114) - Output:["ss_item_sk","ss_net_profit"] - Filter Operator [FIL_109] (rows=6399952 width=114) - predicate:(ss_store_sk = 410) - TableScan [TS_2] (rows=575995635 width=114) - default@store_sales,ss1,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_store_sk","ss_net_profit"] + Filter Operator [FIL_185] (rows=62562 width=124) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_184] (rows=62562 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 + <-Map 15 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_183] + PartitionCols:_col0 + Group By Operator [GBY_182] (rows=3199976 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(ss_net_profit)","count(ss_net_profit)"],keys:ss_item_sk + Select Operator [SEL_181] (rows=6399952 width=114) + Output:["ss_item_sk","ss_net_profit"] + Filter Operator [FIL_180] (rows=6399952 width=114) + predicate:(ss_store_sk = 410) + TableScan [TS_26] (rows=575995635 width=114) + default@store_sales,ss1,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_store_sk","ss_net_profit"] + <-Reducer 9 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_37] + Merge Join Operator [MERGEJOIN_149] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 14 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_179] + Select Operator [SEL_178] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_177] (rows=1 width=120) + predicate:(_col1 is not null and _col2 is not null) + Select Operator [SEL_176] (rows=1 width=120) + Output:["_col1","_col2"] + Group By Operator [GBY_175] (rows=1 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 + <-Map 13 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_174] + PartitionCols:_col0 + Group By Operator [GBY_173] (rows=258 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","count(_col1)"],keys:true + Select Operator [SEL_172] (rows=287946 width=114) + Output:["_col1"] + Filter Operator [FIL_171] (rows=287946 width=114) + predicate:((ss_store_sk = 410) and ss_hdemo_sk is null) + TableScan [TS_17] (rows=575995635 width=114) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk","ss_net_profit"] + <-Reducer 8 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_170] + Select Operator [SEL_169] (rows=1 width=8) + Filter Operator [FIL_168] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_167] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_166] + Group By Operator [GBY_165] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_164] (rows=1 width=4) + Group By Operator [GBY_163] (rows=1 width=4) + Output:["_col0"],keys:KEY._col0 + <-Map 6 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_162] + PartitionCols:_col0 + Group By Operator [GBY_161] (rows=18 width=4) + Output:["_col0"],keys:true + Select Operator [SEL_160] (rows=287946 width=7) + Filter Operator [FIL_159] (rows=287946 width=7) + predicate:((ss_store_sk = 410) and ss_hdemo_sk is null) + TableScan [TS_2] (rows=575995635 width=7) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk"] <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_64] + SHUFFLE [RS_104] PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_104] (rows=6951 width=111) - Conds:RS_108._col0=RS_132._col0(Inner),Output:["_col1","_col3"] + Merge Join Operator [MERGEJOIN_154] (rows=6951 width=111) + Conds:RS_158._col0=RS_197._col0(Inner),Output:["_col1","_col3"] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_108] + SHUFFLE [RS_158] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_106] - <-Reducer 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_132] + Please refer to the previous Select Operator [SEL_156] + <-Reducer 12 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_197] PartitionCols:_col0 - Select Operator [SEL_131] (rows=6951 width=8) + Select Operator [SEL_196] (rows=6951 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_130] (rows=6951 width=116) + Filter Operator [FIL_195] (rows=6951 width=116) predicate:(rank_window_0 < 11) - PTF Operator [PTF_129] (rows=20854 width=116) - Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 DESC NULLS LAST","partition by:":"0"}] - Select Operator [SEL_128] (rows=20854 width=116) - Output:["_col0","_col1"] - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_49] + PTF Operator [PTF_194] (rows=20854 width=116) + Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 DESC NULLS LAST","partition by:":"0"}] + Select Operator [SEL_193] (rows=20854 width=116) + Output:["_col2","_col3"] + <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_89] PartitionCols:0 - Please refer to the previous Filter Operator [FIL_20] + Please refer to the previous Filter Operator [FIL_40] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query54.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query54.q.out index 526fa814b9..34023f78c3 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query54.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query54.q.out @@ -1,7 +1,7 @@ -Warning: Shuffle Join MERGEJOIN[274][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product -Warning: Shuffle Join MERGEJOIN[280][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product -Warning: Shuffle Join MERGEJOIN[279][tables = [$hdt$_4, $hdt$_5]] in Stage 'Reducer 15' is a cross product -Warning: Shuffle Join MERGEJOIN[282][tables = [$hdt$_4, $hdt$_5, $hdt$_6]] in Stage 'Reducer 16' is a cross product +Warning: Shuffle Join MERGEJOIN[280][tables = [$hdt$_4, $hdt$_5]] in Stage 'Reducer 15' is a cross product +Warning: Shuffle Join MERGEJOIN[283][tables = [$hdt$_4, $hdt$_5, $hdt$_6]] in Stage 'Reducer 16' is a cross product +Warning: Shuffle Join MERGEJOIN[275][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product +Warning: Shuffle Join MERGEJOIN[281][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain with my_customers as ( select distinct c_customer_sk @@ -133,26 +133,28 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Map 22 <- Reducer 30 (BROADCAST_EDGE), Union 23 (CONTAINS) -Map 28 <- Reducer 30 (BROADCAST_EDGE), Union 23 (CONTAINS) +Map 1 <- Reducer 17 (BROADCAST_EDGE) +Map 23 <- Reducer 31 (BROADCAST_EDGE), Union 24 (CONTAINS) +Map 29 <- Reducer 31 (BROADCAST_EDGE), Union 24 (CONTAINS) Reducer 10 <- Map 9 (SIMPLE_EDGE) Reducer 11 <- Reducer 10 (CUSTOM_SIMPLE_EDGE) Reducer 12 <- Map 9 (SIMPLE_EDGE) Reducer 13 <- Reducer 12 (CUSTOM_SIMPLE_EDGE) Reducer 14 <- Map 9 (SIMPLE_EDGE) -Reducer 15 <- Map 33 (CUSTOM_SIMPLE_EDGE), Reducer 14 (CUSTOM_SIMPLE_EDGE) -Reducer 16 <- Reducer 15 (CUSTOM_SIMPLE_EDGE), Reducer 17 (CUSTOM_SIMPLE_EDGE) -Reducer 17 <- Map 9 (SIMPLE_EDGE) -Reducer 19 <- Map 18 (SIMPLE_EDGE), Map 21 (SIMPLE_EDGE) +Reducer 15 <- Map 34 (CUSTOM_SIMPLE_EDGE), Reducer 14 (CUSTOM_SIMPLE_EDGE) +Reducer 16 <- Reducer 15 (CUSTOM_SIMPLE_EDGE), Reducer 18 (CUSTOM_SIMPLE_EDGE) +Reducer 17 <- Reducer 16 (CUSTOM_SIMPLE_EDGE) +Reducer 18 <- Map 9 (SIMPLE_EDGE) Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE), Reducer 11 (CUSTOM_SIMPLE_EDGE) -Reducer 20 <- Reducer 19 (SIMPLE_EDGE), Reducer 27 (SIMPLE_EDGE) -Reducer 24 <- Map 29 (SIMPLE_EDGE), Union 23 (SIMPLE_EDGE) -Reducer 25 <- Map 31 (SIMPLE_EDGE), Reducer 24 (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 32 (SIMPLE_EDGE), Reducer 25 (SIMPLE_EDGE) -Reducer 27 <- Reducer 26 (SIMPLE_EDGE) +Reducer 27 <- Map 33 (SIMPLE_EDGE), Reducer 26 (SIMPLE_EDGE) +Reducer 28 <- Reducer 27 (SIMPLE_EDGE) Reducer 3 <- Reducer 13 (CUSTOM_SIMPLE_EDGE), Reducer 2 (CUSTOM_SIMPLE_EDGE) -Reducer 30 <- Map 29 (CUSTOM_SIMPLE_EDGE) -Reducer 4 <- Reducer 20 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) +Reducer 31 <- Map 30 (CUSTOM_SIMPLE_EDGE) +Reducer 4 <- Reducer 21 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) Reducer 5 <- Reducer 16 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) Reducer 6 <- Reducer 5 (SIMPLE_EDGE) Reducer 7 <- Reducer 6 (SIMPLE_EDGE) @@ -163,218 +165,222 @@ Stage-0 limit:100 Stage-1 Reducer 8 vectorized - File Output Operator [FS_363] - Limit [LIM_362] (rows=1 width=16) + File Output Operator [FS_369] + Limit [LIM_368] (rows=1 width=16) Number of rows:100 - Select Operator [SEL_361] (rows=1 width=16) + Select Operator [SEL_367] (rows=1 width=16) Output:["_col0","_col1","_col2"] <-Reducer 7 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_360] - Select Operator [SEL_359] (rows=1 width=16) + SHUFFLE [RS_366] + Select Operator [SEL_365] (rows=1 width=16) Output:["_col0","_col1","_col2"] - Group By Operator [GBY_358] (rows=1 width=12) + Group By Operator [GBY_364] (rows=1 width=12) Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0 <-Reducer 6 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_357] + SHUFFLE [RS_363] PartitionCols:_col0 - Group By Operator [GBY_356] (rows=1 width=12) + Group By Operator [GBY_362] (rows=1 width=12) Output:["_col0","_col1"],aggregations:["count()"],keys:_col0 - Select Operator [SEL_355] (rows=1 width=116) + Select Operator [SEL_361] (rows=1 width=116) Output:["_col0"] - Group By Operator [GBY_354] (rows=1 width=116) + Group By Operator [GBY_360] (rows=1 width=116) Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_118] + SHUFFLE [RS_119] PartitionCols:_col0 - Group By Operator [GBY_117] (rows=1 width=116) + Group By Operator [GBY_118] (rows=1 width=116) Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5 - Merge Join Operator [MERGEJOIN_284] (rows=998811 width=4) - Conds:RS_113._col0=RS_114._col0(Inner),Output:["_col2","_col5"] + Merge Join Operator [MERGEJOIN_285] (rows=998805 width=4) + Conds:RS_114._col0=RS_115._col0(Inner),Output:["_col2","_col5"] <-Reducer 16 [SIMPLE_EDGE] - SHUFFLE [RS_114] + SHUFFLE [RS_115] PartitionCols:_col0 - Select Operator [SEL_103] (rows=5072841 width=12) + Select Operator [SEL_104] (rows=32466 width=12) Output:["_col0"] - Filter Operator [FIL_102] (rows=5072841 width=12) + Filter Operator [FIL_103] (rows=32466 width=12) predicate:(_col1 <= _col3) - Merge Join Operator [MERGEJOIN_282] (rows=15218525 width=12) + Merge Join Operator [MERGEJOIN_283] (rows=97398 width=12) Conds:(Inner),Output:["_col0","_col1","_col3"] <-Reducer 15 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_99] - Filter Operator [FIL_98] (rows=608741 width=12) + PARTITION_ONLY_SHUFFLE [RS_100] + Filter Operator [FIL_99] (rows=48699 width=12) predicate:(_col2 <= _col1) - Merge Join Operator [MERGEJOIN_279] (rows=1826225 width=12) + Merge Join Operator [MERGEJOIN_280] (rows=146098 width=12) Conds:(Inner),Output:["_col0","_col1","_col2"] - <-Map 33 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_351] - Select Operator [SEL_350] (rows=73049 width=8) + <-Map 34 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_315] + Select Operator [SEL_314] (rows=73049 width=8) Output:["_col0","_col1"] - TableScan [TS_77] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"] + Filter Operator [FIL_313] (rows=73049 width=8) + predicate:d_month_seq is not null + TableScan [TS_77] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"] <-Reducer 14 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_349] - Group By Operator [GBY_348] (rows=25 width=4) + PARTITION_ONLY_SHUFFLE [RS_312] + Group By Operator [GBY_311] (rows=2 width=4) Output:["_col0"],keys:KEY._col0 <-Map 9 [SIMPLE_EDGE] vectorized SHUFFLE [RS_309] PartitionCols:_col0 - Group By Operator [GBY_305] (rows=25 width=4) + Group By Operator [GBY_305] (rows=2 width=4) Output:["_col0"],keys:_col0 Select Operator [SEL_301] (rows=50 width=12) Output:["_col0"] - Filter Operator [FIL_298] (rows=50 width=12) - predicate:((d_moy = 3) and (d_year = 1999)) + Filter Operator [FIL_297] (rows=50 width=12) + predicate:((d_moy = 3) and (d_year = 1999) and d_month_seq is not null) TableScan [TS_3] (rows=73049 width=12) default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_month_seq","d_year","d_moy"] - <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_353] - Group By Operator [GBY_352] (rows=25 width=4) + <-Reducer 18 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_317] + Group By Operator [GBY_316] (rows=2 width=4) Output:["_col0"],keys:KEY._col0 <-Map 9 [SIMPLE_EDGE] vectorized SHUFFLE [RS_310] PartitionCols:_col0 - Group By Operator [GBY_306] (rows=25 width=4) + Group By Operator [GBY_306] (rows=2 width=4) Output:["_col0"],keys:_col0 Select Operator [SEL_302] (rows=50 width=12) Output:["_col0"] - Please refer to the previous Filter Operator [FIL_298] + Filter Operator [FIL_298] (rows=50 width=12) + predicate:((d_moy = 3) and (d_year = 1999) and d_month_seq is not null) + Please refer to the previous TableScan [TS_3] <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_113] + SHUFFLE [RS_114] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_283] (rows=8989304 width=4) - Conds:RS_110._col1=RS_111._col0(Inner),Output:["_col0","_col2","_col5"] - <-Reducer 20 [SIMPLE_EDGE] - SHUFFLE [RS_111] + Merge Join Operator [MERGEJOIN_284] (rows=8989304 width=4) + Conds:RS_111._col1=RS_112._col0(Inner),Output:["_col0","_col2","_col5"] + <-Reducer 21 [SIMPLE_EDGE] + SHUFFLE [RS_112] PartitionCols:_col0 Select Operator [SEL_76] (rows=55046 width=4) Output:["_col0"] - Merge Join Operator [MERGEJOIN_281] (rows=55046 width=4) - Conds:RS_73._col0=RS_347._col1(Inner),Output:["_col5"] - <-Reducer 19 [SIMPLE_EDGE] + Merge Join Operator [MERGEJOIN_282] (rows=55046 width=4) + Conds:RS_73._col0=RS_359._col1(Inner),Output:["_col5"] + <-Reducer 20 [SIMPLE_EDGE] SHUFFLE [RS_73] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_275] (rows=39720279 width=4) - Conds:RS_329._col1, _col2=RS_332._col0, _col1(Inner),Output:["_col0"] - <-Map 18 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_329] + Merge Join Operator [MERGEJOIN_276] (rows=39720279 width=4) + Conds:RS_341._col1, _col2=RS_344._col0, _col1(Inner),Output:["_col0"] + <-Map 19 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_341] PartitionCols:_col1, _col2 - Select Operator [SEL_328] (rows=40000000 width=188) + Select Operator [SEL_340] (rows=40000000 width=188) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_327] (rows=40000000 width=188) + Filter Operator [FIL_339] (rows=40000000 width=188) predicate:(ca_county is not null and ca_state is not null) TableScan [TS_33] (rows=40000000 width=188) default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_county","ca_state"] - <-Map 21 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_332] + <-Map 22 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_344] PartitionCols:_col0, _col1 - Select Operator [SEL_331] (rows=1704 width=184) + Select Operator [SEL_343] (rows=1704 width=184) Output:["_col0","_col1"] - Filter Operator [FIL_330] (rows=1704 width=184) + Filter Operator [FIL_342] (rows=1704 width=184) predicate:(s_county is not null and s_state is not null) TableScan [TS_36] (rows=1704 width=184) default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_county","s_state"] - <-Reducer 27 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_347] + <-Reducer 28 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_359] PartitionCols:_col1 - Select Operator [SEL_346] (rows=55046 width=8) + Select Operator [SEL_358] (rows=55046 width=8) Output:["_col0","_col1"] - Group By Operator [GBY_345] (rows=55046 width=8) + Group By Operator [GBY_357] (rows=55046 width=8) Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Reducer 26 [SIMPLE_EDGE] + <-Reducer 27 [SIMPLE_EDGE] SHUFFLE [RS_67] PartitionCols:_col0, _col1 Group By Operator [GBY_66] (rows=55046 width=8) Output:["_col0","_col1"],keys:_col6, _col5 - Merge Join Operator [MERGEJOIN_278] (rows=110092 width=8) - Conds:RS_62._col1=RS_344._col0(Inner),Output:["_col5","_col6"] - <-Map 32 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_344] + Merge Join Operator [MERGEJOIN_279] (rows=110092 width=8) + Conds:RS_62._col1=RS_356._col0(Inner),Output:["_col5","_col6"] + <-Map 33 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_356] PartitionCols:_col0 - Select Operator [SEL_343] (rows=80000000 width=8) + Select Operator [SEL_355] (rows=80000000 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_342] (rows=80000000 width=8) + Filter Operator [FIL_354] (rows=80000000 width=8) predicate:c_current_addr_sk is not null TableScan [TS_53] (rows=80000000 width=8) default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk"] - <-Reducer 25 [SIMPLE_EDGE] + <-Reducer 26 [SIMPLE_EDGE] SHUFFLE [RS_62] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_277] (rows=110092 width=0) - Conds:RS_59._col2=RS_341._col0(Inner),Output:["_col1"] - <-Map 31 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_341] + Merge Join Operator [MERGEJOIN_278] (rows=110092 width=0) + Conds:RS_59._col2=RS_353._col0(Inner),Output:["_col1"] + <-Map 32 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_353] PartitionCols:_col0 - Select Operator [SEL_340] (rows=453 width=4) + Select Operator [SEL_352] (rows=453 width=4) Output:["_col0"] - Filter Operator [FIL_339] (rows=453 width=186) + Filter Operator [FIL_351] (rows=453 width=186) predicate:((i_category = 'Jewelry') and (i_class = 'consignment')) TableScan [TS_50] (rows=462000 width=186) default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_class","i_category"] - <-Reducer 24 [SIMPLE_EDGE] + <-Reducer 25 [SIMPLE_EDGE] SHUFFLE [RS_59] PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_276] (rows=11665117 width=7) - Conds:Union 23._col0=RS_335._col0(Inner),Output:["_col1","_col2"] - <-Map 29 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_335] + Merge Join Operator [MERGEJOIN_277] (rows=11665117 width=7) + Conds:Union 24._col0=RS_347._col0(Inner),Output:["_col1","_col2"] + <-Map 30 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_347] PartitionCols:_col0 - Select Operator [SEL_334] (rows=50 width=4) + Select Operator [SEL_346] (rows=50 width=4) Output:["_col0"] - Filter Operator [FIL_333] (rows=50 width=12) + Filter Operator [FIL_345] (rows=50 width=12) predicate:((d_moy = 3) and (d_year = 1999)) TableScan [TS_47] (rows=73049 width=12) default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"] - <-Union 23 [SIMPLE_EDGE] - <-Map 22 [CONTAINS] vectorized - Reduce Output Operator [RS_369] + <-Union 24 [SIMPLE_EDGE] + <-Map 23 [CONTAINS] vectorized + Reduce Output Operator [RS_375] PartitionCols:_col0 - Select Operator [SEL_368] (rows=285117831 width=11) + Select Operator [SEL_374] (rows=285117831 width=11) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_367] (rows=285117831 width=11) + Filter Operator [FIL_373] (rows=285117831 width=11) predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_57_date_dim_d_date_sk_min) AND DynamicValue(RS_57_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_57_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_sold_date_sk is not null) - TableScan [TS_285] (rows=287989836 width=11) + TableScan [TS_286] (rows=287989836 width=11) Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk"] - <-Reducer 30 [BROADCAST_EDGE] vectorized - BROADCAST [RS_365] - Group By Operator [GBY_364] (rows=1 width=12) + <-Reducer 31 [BROADCAST_EDGE] vectorized + BROADCAST [RS_371] + Group By Operator [GBY_370] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 29 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_338] - Group By Operator [GBY_337] (rows=1 width=12) + <-Map 30 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_350] + Group By Operator [GBY_349] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_336] (rows=50 width=4) + Select Operator [SEL_348] (rows=50 width=4) Output:["_col0"] - Please refer to the previous Select Operator [SEL_334] - <-Map 28 [CONTAINS] vectorized - Reduce Output Operator [RS_372] + Please refer to the previous Select Operator [SEL_346] + <-Map 29 [CONTAINS] vectorized + Reduce Output Operator [RS_378] PartitionCols:_col0 - Select Operator [SEL_371] (rows=143930993 width=11) + Select Operator [SEL_377] (rows=143930993 width=11) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_370] (rows=143930993 width=11) + Filter Operator [FIL_376] (rows=143930993 width=11) predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_57_date_dim_d_date_sk_min) AND DynamicValue(RS_57_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_57_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_sold_date_sk is not null) - TableScan [TS_290] (rows=144002668 width=11) + TableScan [TS_291] (rows=144002668 width=11) Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk"] - <-Reducer 30 [BROADCAST_EDGE] vectorized - BROADCAST [RS_366] - Please refer to the previous Group By Operator [GBY_364] + <-Reducer 31 [BROADCAST_EDGE] vectorized + BROADCAST [RS_372] + Please refer to the previous Group By Operator [GBY_370] <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_110] + SHUFFLE [RS_111] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_280] (rows=525327388 width=114) + Merge Join Operator [MERGEJOIN_281] (rows=525327388 width=114) Conds:(Inner),Output:["_col0","_col1","_col2"] <-Reducer 13 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_326] - Select Operator [SEL_325] (rows=1 width=8) - Filter Operator [FIL_324] (rows=1 width=8) + PARTITION_ONLY_SHUFFLE [RS_338] + Select Operator [SEL_337] (rows=1 width=8) + Filter Operator [FIL_336] (rows=1 width=8) predicate:(sq_count_check(_col0) <= 1) - Group By Operator [GBY_323] (rows=1 width=8) + Group By Operator [GBY_335] (rows=1 width=8) Output:["_col0"],aggregations:["count(VALUE._col0)"] <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_322] - Group By Operator [GBY_321] (rows=1 width=8) + PARTITION_ONLY_SHUFFLE [RS_334] + Group By Operator [GBY_333] (rows=1 width=8) Output:["_col0"],aggregations:["count()"] - Select Operator [SEL_320] (rows=25 width=4) - Group By Operator [GBY_319] (rows=25 width=4) + Select Operator [SEL_332] (rows=25 width=4) + Group By Operator [GBY_331] (rows=25 width=4) Output:["_col0"],keys:KEY._col0 <-Map 9 [SIMPLE_EDGE] vectorized SHUFFLE [RS_308] @@ -383,32 +389,45 @@ Stage-0 Output:["_col0"],keys:_col0 Select Operator [SEL_300] (rows=50 width=12) Output:["_col0"] - Please refer to the previous Filter Operator [FIL_298] + Filter Operator [FIL_296] (rows=50 width=12) + predicate:((d_moy = 3) and (d_year = 1999)) + Please refer to the previous TableScan [TS_3] <-Reducer 2 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_107] - Merge Join Operator [MERGEJOIN_274] (rows=525327388 width=114) + PARTITION_ONLY_SHUFFLE [RS_108] + Merge Join Operator [MERGEJOIN_275] (rows=525327388 width=114) Conds:(Inner),Output:["_col0","_col1","_col2"] <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_297] - Select Operator [SEL_296] (rows=525327388 width=114) + PARTITION_ONLY_SHUFFLE [RS_322] + Select Operator [SEL_321] (rows=525327388 width=114) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_295] (rows=525327388 width=114) - predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null) + Filter Operator [FIL_320] (rows=525327388 width=114) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_115_date_dim_d_date_sk_min) AND DynamicValue(RS_115_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_115_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null) TableScan [TS_0] (rows=575995635 width=114) default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_customer_sk","ss_ext_sales_price"] + <-Reducer 17 [BROADCAST_EDGE] vectorized + BROADCAST [RS_319] + Group By Operator [GBY_318] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Reducer 16 [CUSTOM_SIMPLE_EDGE] + SHUFFLE [RS_205] + Group By Operator [GBY_204] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_203] (rows=32466 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_104] <-Reducer 11 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_318] - Select Operator [SEL_317] (rows=1 width=8) - Filter Operator [FIL_316] (rows=1 width=8) + PARTITION_ONLY_SHUFFLE [RS_330] + Select Operator [SEL_329] (rows=1 width=8) + Filter Operator [FIL_328] (rows=1 width=8) predicate:(sq_count_check(_col0) <= 1) - Group By Operator [GBY_315] (rows=1 width=8) + Group By Operator [GBY_327] (rows=1 width=8) Output:["_col0"],aggregations:["count(VALUE._col0)"] <-Reducer 10 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_314] - Group By Operator [GBY_313] (rows=1 width=8) + PARTITION_ONLY_SHUFFLE [RS_326] + Group By Operator [GBY_325] (rows=1 width=8) Output:["_col0"],aggregations:["count()"] - Select Operator [SEL_312] (rows=25 width=4) - Group By Operator [GBY_311] (rows=25 width=4) + Select Operator [SEL_324] (rows=25 width=4) + Group By Operator [GBY_323] (rows=25 width=4) Output:["_col0"],keys:KEY._col0 <-Map 9 [SIMPLE_EDGE] vectorized SHUFFLE [RS_307] @@ -417,5 +436,5 @@ Stage-0 Output:["_col0"],keys:_col0 Select Operator [SEL_299] (rows=50 width=12) Output:["_col0"] - Please refer to the previous Filter Operator [FIL_298] + Please refer to the previous Filter Operator [FIL_296] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query6.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query6.q.out index 7aea119ac3..ae74d0bab8 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query6.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query6.q.out @@ -1,4 +1,4 @@ -Warning: Map Join MAPJOIN[170][bigTable=?] in task 'Map 11' is a cross product +Warning: Map Join MAPJOIN[171][bigTable=?] in task 'Map 12' is a cross product PREHOOK: query: explain select a.ca_state state, count(*) cnt from customer_address a @@ -64,174 +64,163 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Map 1 <- Reducer 3 (BROADCAST_EDGE) -Map 11 <- Reducer 5 (BROADCAST_EDGE) -Map 14 <- Reducer 17 (BROADCAST_EDGE) -Map 6 <- Map 1 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE) -Reducer 10 <- Reducer 9 (SIMPLE_EDGE) -Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 13 (SIMPLE_EDGE) -Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE) -Reducer 17 <- Map 16 (SIMPLE_EDGE) -Reducer 3 <- Map 2 (SIMPLE_EDGE) -Reducer 4 <- Map 2 (SIMPLE_EDGE) -Reducer 5 <- Reducer 4 (CUSTOM_SIMPLE_EDGE) -Reducer 7 <- Map 6 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) -Reducer 8 <- Map 14 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE) -Reducer 9 <- Reducer 8 (SIMPLE_EDGE) +Map 1 <- Reducer 4 (BROADCAST_EDGE) +Map 12 <- Reducer 11 (BROADCAST_EDGE) +Map 5 <- Reducer 7 (BROADCAST_EDGE) +Map 6 <- Reducer 9 (BROADCAST_EDGE) +Reducer 10 <- Map 8 (SIMPLE_EDGE) +Reducer 11 <- Reducer 10 (CUSTOM_SIMPLE_EDGE) +Reducer 13 <- Map 12 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE), Reducer 2 (BROADCAST_EDGE) +Reducer 14 <- Reducer 13 (SIMPLE_EDGE) +Reducer 15 <- Reducer 14 (SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE), Map 6 (BROADCAST_EDGE) +Reducer 4 <- Map 3 (SIMPLE_EDGE) +Reducer 7 <- Map 6 (CUSTOM_SIMPLE_EDGE) +Reducer 9 <- Map 8 (SIMPLE_EDGE) Stage-0 Fetch Operator limit:100 Stage-1 - Reducer 10 vectorized + Reducer 15 vectorized File Output Operator [FS_233] Limit [LIM_232] (rows=1 width=94) Number of rows:100 Select Operator [SEL_231] (rows=1 width=94) Output:["_col0","_col1"] - <-Reducer 9 [SIMPLE_EDGE] vectorized + <-Reducer 14 [SIMPLE_EDGE] vectorized SHUFFLE [RS_230] Filter Operator [FIL_229] (rows=1 width=94) predicate:(_col1 >= 10L) Group By Operator [GBY_228] (rows=1 width=94) Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0 - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_68] + <-Reducer 13 [SIMPLE_EDGE] + SHUFFLE [RS_69] PartitionCols:_col0 - Group By Operator [GBY_67] (rows=1 width=94) - Output:["_col0","_col1"],aggregations:["count()"],keys:_col10 - Merge Join Operator [MERGEJOIN_174] (rows=500 width=86) - Conds:RS_63._col4=RS_204._col0(Inner),Output:["_col10"] - <-Map 14 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_204] - PartitionCols:_col0 - Select Operator [SEL_203] (rows=154000 width=227) - Output:["_col0"] - Filter Operator [FIL_202] (rows=154000 width=227) - predicate:(_col1 > _col4) - Map Join Operator [MAPJOIN_201] (rows=462000 width=227) - Conds:SEL_200._col2=RS_198._col0(Inner),HybridGraceHashJoin:true,Output:["_col0","_col1","_col4"] - <-Reducer 17 [BROADCAST_EDGE] vectorized - BROADCAST [RS_198] - PartitionCols:_col0 - Select Operator [SEL_197] (rows=10 width=202) - Output:["_col0","_col1"] - Group By Operator [GBY_196] (rows=10 width=210) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 - <-Map 16 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_195] - PartitionCols:_col0 - Group By Operator [GBY_194] (rows=10 width=210) - Output:["_col0","_col1","_col2"],aggregations:["sum(i_current_price)","count(i_current_price)"],keys:i_category - Filter Operator [FIL_193] (rows=462000 width=201) - predicate:i_category is not null - TableScan [TS_42] (rows=462000 width=201) - default@item,j,Tbl:COMPLETE,Col:COMPLETE,Output:["i_current_price","i_category"] - <-Select Operator [SEL_200] (rows=462000 width=205) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_199] (rows=462000 width=205) - predicate:i_category is not null - TableScan [TS_39] (rows=462000 width=205) - default@item,i,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_category"] - <-Reducer 7 [SIMPLE_EDGE] - SHUFFLE [RS_63] - PartitionCols:_col4 - Merge Join Operator [MERGEJOIN_173] (rows=7192227 width=90) - Conds:RS_213._col5=RS_61._col0(Inner),Output:["_col4","_col10"] - <-Map 6 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_213] - PartitionCols:_col5 - Map Join Operator [MAPJOIN_212] (rows=7192227 width=4) - Conds:RS_192._col0=SEL_211._col0(Inner),HybridGraceHashJoin:true,Output:["_col4","_col5"] - <-Map 1 [BROADCAST_EDGE] vectorized - BROADCAST [RS_192] + Group By Operator [GBY_68] (rows=1 width=94) + Output:["_col0","_col1"],aggregations:["count()"],keys:_col15 + Map Join Operator [MAPJOIN_174] (rows=500 width=86) + Conds:RS_64._col7=MERGEJOIN_172._col0(Inner),HybridGraceHashJoin:true,Output:["_col15"] + <-Reducer 2 [BROADCAST_EDGE] + BROADCAST [RS_64] + PartitionCols:_col7 + Map Join Operator [MAPJOIN_173] (rows=500 width=0) + Conds:MERGEJOIN_169._col5=RS_217._col0(Inner),HybridGraceHashJoin:true,Output:["_col7"] + <-Map 6 [BROADCAST_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_217] + PartitionCols:_col0 + Map Join Operator [MAPJOIN_216] (rows=660 width=4) + Conds:SEL_215._col1=RS_213._col0(Inner),HybridGraceHashJoin:true,Output:["_col0"] + <-Reducer 9 [BROADCAST_EDGE] vectorized + BROADCAST [RS_213] PartitionCols:_col0 - Map Join Operator [MAPJOIN_191] (rows=660 width=4) - Conds:SEL_190._col1=RS_188._col0(Inner),HybridGraceHashJoin:true,Output:["_col0"] - <-Reducer 3 [BROADCAST_EDGE] vectorized - BROADCAST [RS_188] + Group By Operator [GBY_212] (rows=25 width=4) + Output:["_col0"],keys:KEY._col0 + <-Map 8 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_186] PartitionCols:_col0 - Group By Operator [GBY_187] (rows=25 width=4) - Output:["_col0"],keys:KEY._col0 - <-Map 2 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_185] - PartitionCols:_col0 - Group By Operator [GBY_183] (rows=25 width=4) - Output:["_col0"],keys:d_month_seq - Select Operator [SEL_181] (rows=50 width=12) - Output:["d_month_seq"] - Filter Operator [FIL_179] (rows=50 width=12) - predicate:((d_moy = 2) and (d_year = 2000) and d_month_seq is not null) - TableScan [TS_3] (rows=73049 width=12) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_month_seq","d_year","d_moy"] - <-Select Operator [SEL_190] (rows=73049 width=8) - Output:["_col0","_col1"] - Filter Operator [FIL_189] (rows=73049 width=8) - predicate:d_month_seq is not null - TableScan [TS_0] (rows=73049 width=8) - default@date_dim,d,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"] - <-Select Operator [SEL_211] (rows=525327388 width=11) + Group By Operator [GBY_184] (rows=25 width=4) + Output:["_col0"],keys:d_month_seq + Select Operator [SEL_182] (rows=50 width=12) + Output:["d_month_seq"] + Filter Operator [FIL_180] (rows=50 width=12) + predicate:((d_moy = 2) and (d_year = 2000) and d_month_seq is not null) + TableScan [TS_17] (rows=73049 width=12) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_month_seq","d_year","d_moy"] + <-Select Operator [SEL_215] (rows=73049 width=8) + Output:["_col0","_col1"] + Filter Operator [FIL_214] (rows=73049 width=8) + predicate:d_month_seq is not null + TableScan [TS_14] (rows=73049 width=8) + default@date_dim,d,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"] + <-Merge Join Operator [MERGEJOIN_169] (rows=36482 width=0) + Conds:RS_211._col0=RS_225._col1(Inner),Output:["_col5","_col7"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_211] + PartitionCols:_col0 + Filter Operator [FIL_210] (rows=153611 width=227) + predicate:(_col1 > _col4) + Map Join Operator [MAPJOIN_209] (rows=460833 width=227) + Conds:SEL_208._col2=RS_206._col0(Inner),HybridGraceHashJoin:true,Output:["_col0","_col1","_col4"] + <-Reducer 4 [BROADCAST_EDGE] vectorized + BROADCAST [RS_206] + PartitionCols:_col0 + Select Operator [SEL_205] (rows=10 width=202) + Output:["_col0","_col1"] + Filter Operator [FIL_204] (rows=10 width=210) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_203] (rows=10 width=210) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 + <-Map 3 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_202] + PartitionCols:_col0 + Group By Operator [GBY_201] (rows=10 width=210) + Output:["_col0","_col1","_col2"],aggregations:["sum(i_current_price)","count(i_current_price)"],keys:i_category + Filter Operator [FIL_200] (rows=462000 width=201) + predicate:i_category is not null + TableScan [TS_3] (rows=462000 width=201) + default@item,j,Tbl:COMPLETE,Col:COMPLETE,Output:["i_current_price","i_category"] + <-Select Operator [SEL_208] (rows=460833 width=205) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_207] (rows=460833 width=205) + predicate:(i_category is not null and i_current_price is not null) + TableScan [TS_0] (rows=462000 width=205) + default@item,i,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_category"] + <-Map 5 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_225] + PartitionCols:_col1 + Select Operator [SEL_224] (rows=525327388 width=11) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_210] (rows=525327388 width=11) - predicate:((ss_item_sk BETWEEN DynamicValue(RS_64_i_i_item_sk_min) AND DynamicValue(RS_64_i_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_64_i_i_item_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null) - TableScan [TS_10] (rows=575995635 width=11) + Filter Operator [FIL_223] (rows=525327388 width=11) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_62_d_d_date_sk_min) AND DynamicValue(RS_62_d_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_62_d_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null) + TableScan [TS_11] (rows=575995635 width=11) default@store_sales,s,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk"] - <-Reducer 15 [BROADCAST_EDGE] vectorized - BROADCAST [RS_209] - Group By Operator [GBY_208] (rows=1 width=12) + <-Reducer 7 [BROADCAST_EDGE] vectorized + BROADCAST [RS_222] + Group By Operator [GBY_221] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_207] - Group By Operator [GBY_206] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_205] (rows=154000 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_203] - <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_61] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_171] (rows=80000000 width=90) - Conds:RS_225._col1=RS_227._col0(Inner),Output:["_col0","_col4"] - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_225] - PartitionCols:_col1 - Map Join Operator [MAPJOIN_224] (rows=80000000 width=8) - Conds:(Inner),Output:["_col0","_col1"] - <-Reducer 5 [BROADCAST_EDGE] vectorized - BROADCAST [RS_221] - Select Operator [SEL_220] (rows=1 width=8) - Filter Operator [FIL_219] (rows=1 width=8) - predicate:(sq_count_check(_col0) <= 1) - Group By Operator [GBY_218] (rows=1 width=8) - Output:["_col0"],aggregations:["count(VALUE._col0)"] - <-Reducer 4 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_217] - Group By Operator [GBY_216] (rows=1 width=8) - Output:["_col0"],aggregations:["count()"] - Select Operator [SEL_215] (rows=25 width=4) - Group By Operator [GBY_214] (rows=25 width=4) - Output:["_col0"],keys:KEY._col0 - <-Map 2 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_186] - PartitionCols:_col0 - Group By Operator [GBY_184] (rows=25 width=4) - Output:["_col0"],keys:d_month_seq - Select Operator [SEL_182] (rows=50 width=12) - Output:["d_month_seq"] - Filter Operator [FIL_180] (rows=50 width=12) - predicate:((d_moy = 2) and (d_year = 2000)) - Please refer to the previous TableScan [TS_3] - <-Select Operator [SEL_223] (rows=80000000 width=8) - Output:["_col0","_col1"] - Filter Operator [FIL_222] (rows=80000000 width=8) - predicate:c_current_addr_sk is not null - TableScan [TS_13] (rows=80000000 width=8) - default@customer,c,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk"] - <-Map 13 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_227] - PartitionCols:_col0 - Select Operator [SEL_226] (rows=40000000 width=90) - Output:["_col0","_col1"] - TableScan [TS_30] (rows=40000000 width=90) - default@customer_address,a,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state"] + <-Merge Join Operator [MERGEJOIN_172] (rows=80000000 width=90) + Conds:RS_199._col1=RS_227._col0(Inner),Output:["_col0","_col4"] + <-Map 12 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_199] + PartitionCols:_col1 + Map Join Operator [MAPJOIN_198] (rows=80000000 width=8) + Conds:(Inner),Output:["_col0","_col1"] + <-Reducer 11 [BROADCAST_EDGE] vectorized + BROADCAST [RS_195] + Select Operator [SEL_194] (rows=1 width=8) + Filter Operator [FIL_193] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_192] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Reducer 10 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_191] + Group By Operator [GBY_190] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_189] (rows=25 width=4) + Group By Operator [GBY_188] (rows=25 width=4) + Output:["_col0"],keys:KEY._col0 + <-Map 8 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_187] + PartitionCols:_col0 + Group By Operator [GBY_185] (rows=25 width=4) + Output:["_col0"],keys:d_month_seq + Select Operator [SEL_183] (rows=50 width=12) + Output:["d_month_seq"] + Filter Operator [FIL_181] (rows=50 width=12) + predicate:((d_moy = 2) and (d_year = 2000)) + Please refer to the previous TableScan [TS_17] + <-Select Operator [SEL_197] (rows=80000000 width=8) + Output:["_col0","_col1"] + Filter Operator [FIL_196] (rows=80000000 width=8) + predicate:c_current_addr_sk is not null + TableScan [TS_28] (rows=80000000 width=8) + default@customer,c,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk"] + <-Map 16 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_227] + PartitionCols:_col0 + Select Operator [SEL_226] (rows=40000000 width=90) + Output:["_col0","_col1"] + TableScan [TS_45] (rows=40000000 width=90) + default@customer_address,a,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state"] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query64.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query64.q.out index 3a37902cd2..502a46ccfd 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query64.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query64.q.out @@ -315,455 +315,463 @@ Stage-0 limit:-1 Stage-1 Reducer 18 vectorized - File Output Operator [FS_1071] - Select Operator [SEL_1070] (rows=104583667777 width=1702) + File Output Operator [FS_1079] + Select Operator [SEL_1078] (rows=104583667777 width=1702) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20"] <-Reducer 17 [SIMPLE_EDGE] - SHUFFLE [RS_197] - Select Operator [SEL_196] (rows=104583667777 width=1694) + SHUFFLE [RS_201] + Select Operator [SEL_200] (rows=104583667777 width=1694) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18"] - Filter Operator [FIL_195] (rows=104583667777 width=1694) - predicate:(_col19 <= _col12) - Merge Join Operator [MERGEJOIN_973] (rows=313751003333 width=1694) - Conds:RS_1046._col2, _col1, _col3=RS_1069._col1, _col0, _col2(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col19","_col20","_col21","_col22"] + Filter Operator [FIL_199] (rows=104583667777 width=1694) + predicate:(_col3 <= _col19) + Merge Join Operator [MERGEJOIN_977] (rows=313751003333 width=1694) + Conds:RS_1052._col1, _col0, _col2=RS_1077._col2, _col1, _col3(Inner),Output:["_col3","_col4","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22"] <-Reducer 16 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1046] - PartitionCols:_col2, _col1, _col3 - Select Operator [SEL_1045] (rows=21299858 width=1354) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] - Group By Operator [GBY_1044] (rows=21299858 width=1362) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9, KEY._col10, KEY._col11, KEY._col12, KEY._col13 - <-Reducer 15 [SIMPLE_EDGE] - SHUFFLE [RS_93] - PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13 - Group By Operator [GBY_92] (rows=21299858 width=1362) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count()","sum(_col8)","sum(_col9)","sum(_col10)"],keys:_col24, _col11, _col25, _col12, _col29, _col31, _col37, _col38, _col39, _col40, _col42, _col43, _col44, _col45 - Merge Join Operator [MERGEJOIN_957] (rows=21299858 width=1155) - Conds:RS_88._col17=RS_1041._col0(Inner),Output:["_col8","_col9","_col10","_col11","_col12","_col24","_col25","_col29","_col31","_col37","_col38","_col39","_col40","_col42","_col43","_col44","_col45"] - <-Map 49 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1041] - PartitionCols:_col0 - Select Operator [SEL_1039] (rows=40000000 width=365) - Output:["_col0","_col1","_col2","_col3","_col4"] - TableScan [TS_44] (rows=40000000 width=365) - default@customer_address,ad1,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_street_number","ca_street_name","ca_city","ca_zip"] - <-Reducer 14 [SIMPLE_EDGE] - SHUFFLE [RS_88] - PartitionCols:_col17 - Merge Join Operator [MERGEJOIN_956] (rows=21299858 width=798) - Conds:RS_85._col5=RS_1040._col0(Inner),Output:["_col8","_col9","_col10","_col11","_col12","_col17","_col24","_col25","_col29","_col31","_col37","_col38","_col39","_col40"] + SHUFFLE [RS_1052] + PartitionCols:_col1, _col0, _col2 + Select Operator [SEL_1051] (rows=21299858 width=525) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"] + Filter Operator [FIL_1050] (rows=21299858 width=1255) + predicate:_col13 is not null + Select Operator [SEL_1049] (rows=21299858 width=1255) + Output:["_col0","_col1","_col2","_col13","_col14","_col15","_col16"] + Group By Operator [GBY_1048] (rows=21299858 width=1255) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9, KEY._col10, KEY._col11, KEY._col12 + <-Reducer 15 [SIMPLE_EDGE] + SHUFFLE [RS_93] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12 + Group By Operator [GBY_92] (rows=21299858 width=1255) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16"],aggregations:["count()","sum(_col8)","sum(_col9)","sum(_col10)"],keys:_col24, _col11, _col25, _col29, _col31, _col37, _col38, _col39, _col40, _col42, _col43, _col44, _col45 + Merge Join Operator [MERGEJOIN_961] (rows=21299858 width=1048) + Conds:RS_88._col17=RS_1045._col0(Inner),Output:["_col8","_col9","_col10","_col11","_col24","_col25","_col29","_col31","_col37","_col38","_col39","_col40","_col42","_col43","_col44","_col45"] <-Map 49 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1040] + SHUFFLE [RS_1045] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1039] - <-Reducer 13 [SIMPLE_EDGE] - SHUFFLE [RS_85] - PartitionCols:_col5 - Filter Operator [FIL_84] (rows=21299858 width=609) - predicate:(_col33 <> _col35) - Merge Join Operator [MERGEJOIN_955] (rows=21299858 width=609) - Conds:RS_81._col15=RS_1036._col0(Inner),Output:["_col5","_col8","_col9","_col10","_col11","_col12","_col17","_col24","_col25","_col29","_col31","_col33","_col35"] - <-Map 48 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1036] - PartitionCols:_col0 - Select Operator [SEL_1034] (rows=1861800 width=89) - Output:["_col0","_col1"] - TableScan [TS_40] (rows=1861800 width=89) - default@customer_demographics,cd1,Tbl:COMPLETE,Col:COMPLETE,Output:["cd_demo_sk","cd_marital_status"] - <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_81] - PartitionCols:_col15 - Merge Join Operator [MERGEJOIN_954] (rows=21002853 width=525) - Conds:RS_78._col3=RS_1035._col0(Inner),Output:["_col5","_col8","_col9","_col10","_col11","_col12","_col15","_col17","_col24","_col25","_col29","_col31","_col33"] + Select Operator [SEL_1043] (rows=40000000 width=365) + Output:["_col0","_col1","_col2","_col3","_col4"] + TableScan [TS_44] (rows=40000000 width=365) + default@customer_address,ad1,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_street_number","ca_street_name","ca_city","ca_zip"] + <-Reducer 14 [SIMPLE_EDGE] + SHUFFLE [RS_88] + PartitionCols:_col17 + Merge Join Operator [MERGEJOIN_960] (rows=21299858 width=691) + Conds:RS_85._col5=RS_1044._col0(Inner),Output:["_col8","_col9","_col10","_col11","_col17","_col24","_col25","_col29","_col31","_col37","_col38","_col39","_col40"] + <-Map 49 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1044] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1043] + <-Reducer 13 [SIMPLE_EDGE] + SHUFFLE [RS_85] + PartitionCols:_col5 + Filter Operator [FIL_84] (rows=21299858 width=502) + predicate:(_col33 <> _col35) + Merge Join Operator [MERGEJOIN_959] (rows=21299858 width=502) + Conds:RS_81._col15=RS_1040._col0(Inner),Output:["_col5","_col8","_col9","_col10","_col11","_col17","_col24","_col25","_col29","_col31","_col33","_col35"] <-Map 48 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1035] + SHUFFLE [RS_1040] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1034] - <-Reducer 11 [SIMPLE_EDGE] - SHUFFLE [RS_78] - PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_953] (rows=20709989 width=438) - Conds:RS_75._col18=RS_980._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col12","_col15","_col17","_col24","_col25","_col29","_col31"] - <-Map 44 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_980] + Select Operator [SEL_1038] (rows=1861800 width=89) + Output:["_col0","_col1"] + TableScan [TS_40] (rows=1861800 width=89) + default@customer_demographics,cd1,Tbl:COMPLETE,Col:COMPLETE,Output:["cd_demo_sk","cd_marital_status"] + <-Reducer 12 [SIMPLE_EDGE] + SHUFFLE [RS_81] + PartitionCols:_col15 + Merge Join Operator [MERGEJOIN_958] (rows=21002853 width=418) + Conds:RS_78._col3=RS_1039._col0(Inner),Output:["_col5","_col8","_col9","_col10","_col11","_col15","_col17","_col24","_col25","_col29","_col31","_col33"] + <-Map 48 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1039] PartitionCols:_col0 - Select Operator [SEL_974] (rows=73049 width=8) - Output:["_col0","_col1"] - TableScan [TS_38] (rows=73049 width=8) - default@date_dim,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Reducer 10 [SIMPLE_EDGE] - SHUFFLE [RS_75] - PartitionCols:_col18 - Merge Join Operator [MERGEJOIN_952] (rows=20709989 width=438) - Conds:RS_72._col19=RS_982._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col12","_col15","_col17","_col18","_col24","_col25","_col29"] + Please refer to the previous Select Operator [SEL_1038] + <-Reducer 11 [SIMPLE_EDGE] + SHUFFLE [RS_78] + PartitionCols:_col3 + Merge Join Operator [MERGEJOIN_957] (rows=20709989 width=331) + Conds:RS_75._col18=RS_984._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col15","_col17","_col24","_col25","_col29","_col31"] <-Map 44 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_982] + PARTITION_ONLY_SHUFFLE [RS_984] PartitionCols:_col0 - Select Operator [SEL_976] (rows=73049 width=8) + Select Operator [SEL_978] (rows=73049 width=8) Output:["_col0","_col1"] - Please refer to the previous TableScan [TS_38] - <-Reducer 9 [SIMPLE_EDGE] - SHUFFLE [RS_72] - PartitionCols:_col19 - Merge Join Operator [MERGEJOIN_951] (rows=20709989 width=437) - Conds:RS_69._col16=RS_1031._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col12","_col15","_col17","_col18","_col19","_col24","_col25"] - <-Map 43 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1031] + TableScan [TS_38] (rows=73049 width=8) + default@date_dim,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_75] + PartitionCols:_col18 + Merge Join Operator [MERGEJOIN_956] (rows=20709989 width=331) + Conds:RS_72._col19=RS_986._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col15","_col17","_col18","_col24","_col25","_col29"] + <-Map 44 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_986] PartitionCols:_col0 - Select Operator [SEL_1029] (rows=7200 width=4) - Output:["_col0"] - Filter Operator [FIL_1028] (rows=7200 width=8) - predicate:hd_income_band_sk is not null - TableScan [TS_30] (rows=7200 width=8) - default@household_demographics,hd1,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_income_band_sk"] - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_69] - PartitionCols:_col16 - Merge Join Operator [MERGEJOIN_950] (rows=20709989 width=441) - Conds:RS_66._col4=RS_1030._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col12","_col15","_col16","_col17","_col18","_col19","_col24","_col25"] + Select Operator [SEL_980] (rows=73049 width=8) + Output:["_col0","_col1"] + Please refer to the previous TableScan [TS_38] + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_72] + PartitionCols:_col19 + Merge Join Operator [MERGEJOIN_955] (rows=20709989 width=330) + Conds:RS_69._col16=RS_1035._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col15","_col17","_col18","_col19","_col24","_col25"] <-Map 43 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1030] + SHUFFLE [RS_1035] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1029] - <-Reducer 7 [SIMPLE_EDGE] - SHUFFLE [RS_66] - PartitionCols:_col4 - Merge Join Operator [MERGEJOIN_949] (rows=20709989 width=443) - Conds:RS_63._col6=RS_1026._col0(Inner),Output:["_col3","_col4","_col5","_col8","_col9","_col10","_col11","_col12","_col15","_col16","_col17","_col18","_col19","_col24","_col25"] - <-Map 42 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1026] + Select Operator [SEL_1033] (rows=7200 width=4) + Output:["_col0"] + Filter Operator [FIL_1032] (rows=7200 width=8) + predicate:hd_income_band_sk is not null + TableScan [TS_30] (rows=7200 width=8) + default@household_demographics,hd1,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_income_band_sk"] + <-Reducer 8 [SIMPLE_EDGE] + SHUFFLE [RS_69] + PartitionCols:_col16 + Merge Join Operator [MERGEJOIN_954] (rows=20709989 width=334) + Conds:RS_66._col4=RS_1034._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col15","_col16","_col17","_col18","_col19","_col24","_col25"] + <-Map 43 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1034] PartitionCols:_col0 - Select Operator [SEL_1025] (rows=1704 width=181) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1024] (rows=1704 width=181) - predicate:(s_store_name is not null and s_zip is not null) - TableScan [TS_27] (rows=1704 width=181) - default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_name","s_zip"] - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_63] - PartitionCols:_col6 - Merge Join Operator [MERGEJOIN_948] (rows=20709989 width=267) - Conds:RS_60._col1, _col7=RS_1022._col0, _col1(Inner),Output:["_col3","_col4","_col5","_col6","_col8","_col9","_col10","_col11","_col12","_col15","_col16","_col17","_col18","_col19"] - <-Map 41 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1022] - PartitionCols:_col0, _col1 - Select Operator [SEL_1021] (rows=57591150 width=8) - Output:["_col0","_col1"] - TableScan [TS_25] (rows=57591150 width=8) - default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number"] - <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_60] - PartitionCols:_col1, _col7 - Merge Join Operator [MERGEJOIN_947] (rows=12561347 width=135) - Conds:RS_57._col1=RS_1020._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col15","_col16","_col17","_col18","_col19"] - <-Reducer 37 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_1020] - PartitionCols:_col0 - Select Operator [SEL_1019] (rows=13257 width=4) - Output:["_col0"] - Filter Operator [FIL_1018] (rows=13257 width=228) - predicate:(_col1 > (2 * _col2)) - Group By Operator [GBY_1017] (rows=39773 width=228) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 - <-Reducer 36 [SIMPLE_EDGE] - SHUFFLE [RS_21] - PartitionCols:_col0 - Group By Operator [GBY_20] (rows=6482999 width=228) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","sum(_col5)"],keys:_col0 - Merge Join Operator [MERGEJOIN_946] (rows=183085709 width=227) - Conds:RS_1013._col0, _col1=RS_1015._col0, _col1(Inner),Output:["_col0","_col2","_col5"] - <-Map 38 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1015] - PartitionCols:_col0, _col1 - Select Operator [SEL_1014] (rows=28798881 width=120) - Output:["_col0","_col1","_col2"] - TableScan [TS_14] (rows=28798881 width=337) - default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_item_sk","cr_order_number","cr_refunded_cash","cr_reversed_charge","cr_store_credit"] - <-Map 35 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1013] - PartitionCols:_col0, _col1 - Select Operator [SEL_1012] (rows=287989836 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1011] (rows=287989836 width=119) - predicate:(cs_item_sk BETWEEN DynamicValue(RS_49_item_i_item_sk_min) AND DynamicValue(RS_49_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_49_item_i_item_sk_bloom_filter))) - TableScan [TS_12] (rows=287989836 width=119) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_item_sk","cs_order_number","cs_ext_list_price"] - <-Reducer 20 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1010] - Group By Operator [GBY_1009] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 19 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1004] - Group By Operator [GBY_1003] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1002] (rows=4666 width=4) - Output:["_col0"] - Select Operator [SEL_1000] (rows=4666 width=111) - Output:["_col0","_col1"] - Filter Operator [FIL_999] (rows=4666 width=311) - predicate:((i_color) IN ('maroon', 'burnished', 'dim', 'steel', 'navajo', 'chocolate') and i_current_price BETWEEN 36 AND 45) - TableScan [TS_3] (rows=462000 width=311) - default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_color","i_product_name"] - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_57] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_945] (rows=12561347 width=135) - Conds:RS_54._col2=RS_1007._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col15","_col16","_col17","_col18","_col19"] - <-Map 21 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1007] + Please refer to the previous Select Operator [SEL_1033] + <-Reducer 7 [SIMPLE_EDGE] + SHUFFLE [RS_66] + PartitionCols:_col4 + Merge Join Operator [MERGEJOIN_953] (rows=20709989 width=336) + Conds:RS_63._col6=RS_1030._col0(Inner),Output:["_col3","_col4","_col5","_col8","_col9","_col10","_col11","_col15","_col16","_col17","_col18","_col19","_col24","_col25"] + <-Map 42 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1030] + PartitionCols:_col0 + Select Operator [SEL_1029] (rows=1704 width=181) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1028] (rows=1704 width=181) + predicate:(s_store_name is not null and s_zip is not null) + TableScan [TS_27] (rows=1704 width=181) + default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_name","s_zip"] + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_63] + PartitionCols:_col6 + Merge Join Operator [MERGEJOIN_952] (rows=20709989 width=160) + Conds:RS_60._col1, _col7=RS_1026._col0, _col1(Inner),Output:["_col3","_col4","_col5","_col6","_col8","_col9","_col10","_col11","_col15","_col16","_col17","_col18","_col19"] + <-Map 41 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1026] + PartitionCols:_col0, _col1 + Select Operator [SEL_1025] (rows=57591150 width=8) + Output:["_col0","_col1"] + TableScan [TS_25] (rows=57591150 width=8) + default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number"] + <-Reducer 5 [SIMPLE_EDGE] + SHUFFLE [RS_60] + PartitionCols:_col1, _col7 + Merge Join Operator [MERGEJOIN_951] (rows=12561347 width=28) + Conds:RS_57._col1=RS_1024._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col15","_col16","_col17","_col18","_col19"] + <-Reducer 37 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_1024] PartitionCols:_col0 - Select Operator [SEL_1006] (rows=69376329 width=23) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_1005] (rows=69376329 width=23) - predicate:(c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_current_hdemo_sk is not null and c_first_sales_date_sk is not null and c_first_shipto_date_sk is not null) - TableScan [TS_9] (rows=80000000 width=23) - default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,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 3 [SIMPLE_EDGE] - SHUFFLE [RS_54] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_944] (rows=14484878 width=119) - Conds:RS_51._col0=RS_986._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12"] - <-Map 44 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_986] - PartitionCols:_col0 - Select Operator [SEL_981] (rows=652 width=4) - Output:["_col0"] - Filter Operator [FIL_975] (rows=652 width=8) - predicate:(d_year = 2000) - Please refer to the previous TableScan [TS_38] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_51] + Select Operator [SEL_1023] (rows=13257 width=4) + Output:["_col0"] + Filter Operator [FIL_1022] (rows=13257 width=228) + predicate:(_col1 > (2 * _col2)) + Group By Operator [GBY_1021] (rows=39773 width=228) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 + <-Reducer 36 [SIMPLE_EDGE] + SHUFFLE [RS_21] + PartitionCols:_col0 + Group By Operator [GBY_20] (rows=6482999 width=228) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","sum(_col5)"],keys:_col0 + Merge Join Operator [MERGEJOIN_950] (rows=183085709 width=227) + Conds:RS_1017._col0, _col1=RS_1019._col0, _col1(Inner),Output:["_col0","_col2","_col5"] + <-Map 38 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1019] + PartitionCols:_col0, _col1 + Select Operator [SEL_1018] (rows=28798881 width=120) + Output:["_col0","_col1","_col2"] + TableScan [TS_14] (rows=28798881 width=337) + default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_item_sk","cr_order_number","cr_refunded_cash","cr_reversed_charge","cr_store_credit"] + <-Map 35 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1017] + PartitionCols:_col0, _col1 + Select Operator [SEL_1016] (rows=287989836 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1015] (rows=287989836 width=119) + predicate:(cs_item_sk BETWEEN DynamicValue(RS_49_item_i_item_sk_min) AND DynamicValue(RS_49_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_49_item_i_item_sk_bloom_filter))) + TableScan [TS_12] (rows=287989836 width=119) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_item_sk","cs_order_number","cs_ext_list_price"] + <-Reducer 20 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1014] + Group By Operator [GBY_1013] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 19 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1008] + Group By Operator [GBY_1007] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1006] (rows=4666 width=4) + Output:["_col0"] + Select Operator [SEL_1004] (rows=4666 width=4) + Output:["_col0"] + Filter Operator [FIL_1003] (rows=4666 width=204) + predicate:((i_color) IN ('maroon', 'burnished', 'dim', 'steel', 'navajo', 'chocolate') and i_current_price BETWEEN 36 AND 45) + TableScan [TS_3] (rows=462000 width=204) + default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_color"] + <-Reducer 4 [SIMPLE_EDGE] + SHUFFLE [RS_57] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_949] (rows=12561347 width=28) + Conds:RS_54._col2=RS_1011._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col15","_col16","_col17","_col18","_col19"] + <-Map 21 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1011] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_943] (rows=40567099 width=312) - Conds:RS_998._col1=RS_1001._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12"] - <-Map 19 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1001] + Select Operator [SEL_1010] (rows=69376329 width=23) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_1009] (rows=69376329 width=23) + predicate:(c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_current_hdemo_sk is not null and c_first_sales_date_sk is not null and c_first_shipto_date_sk is not null) + TableScan [TS_9] (rows=80000000 width=23) + default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,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 3 [SIMPLE_EDGE] + SHUFFLE [RS_54] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_948] (rows=14484878 width=12) + Conds:RS_51._col0=RS_990._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"] + <-Map 44 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_990] + PartitionCols:_col0 + Select Operator [SEL_985] (rows=652 width=4) + Output:["_col0"] + Filter Operator [FIL_979] (rows=652 width=8) + predicate:(d_year = 2001) + Please refer to the previous TableScan [TS_38] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_51] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1000] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_998] - PartitionCols:_col1 - Select Operator [SEL_997] (rows=417313408 width=351) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"] - Filter Operator [FIL_996] (rows=417313408 width=355) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_52_d1_d_date_sk_min) AND DynamicValue(RS_52_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_52_d1_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) - TableScan [TS_0] (rows=575995635 width=355) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,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"] - <-Reducer 45 [BROADCAST_EDGE] vectorized - BROADCAST [RS_995] - Group By Operator [GBY_994] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 44 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_992] - Group By Operator [GBY_990] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_987] (rows=652 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_981] + Merge Join Operator [MERGEJOIN_947] (rows=40567099 width=205) + Conds:RS_1002._col1=RS_1005._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"] + <-Map 19 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1005] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1004] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1002] + PartitionCols:_col1 + Select Operator [SEL_1001] (rows=417313408 width=351) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"] + Filter Operator [FIL_1000] (rows=417313408 width=355) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_52_d1_d_date_sk_min) AND DynamicValue(RS_52_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_52_d1_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) + TableScan [TS_0] (rows=575995635 width=355) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,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"] + <-Reducer 45 [BROADCAST_EDGE] vectorized + BROADCAST [RS_999] + Group By Operator [GBY_998] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 44 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_996] + Group By Operator [GBY_994] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_991] (rows=652 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_985] <-Reducer 34 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1069] - PartitionCols:_col1, _col0, _col2 - Select Operator [SEL_1068] (rows=21299858 width=525) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"] - Group By Operator [GBY_1067] (rows=21299858 width=1255) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9, KEY._col10, KEY._col11, KEY._col12 - <-Reducer 33 [SIMPLE_EDGE] - SHUFFLE [RS_189] - PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12 - Group By Operator [GBY_188] (rows=21299858 width=1255) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16"],aggregations:["count()","sum(_col8)","sum(_col9)","sum(_col10)"],keys:_col24, _col11, _col25, _col29, _col31, _col37, _col38, _col39, _col40, _col42, _col43, _col44, _col45 - Merge Join Operator [MERGEJOIN_972] (rows=21299858 width=1048) - Conds:RS_184._col17=RS_1043._col0(Inner),Output:["_col8","_col9","_col10","_col11","_col24","_col25","_col29","_col31","_col37","_col38","_col39","_col40","_col42","_col43","_col44","_col45"] - <-Map 49 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1043] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1039] - <-Reducer 32 [SIMPLE_EDGE] - SHUFFLE [RS_184] - PartitionCols:_col17 - Merge Join Operator [MERGEJOIN_971] (rows=21299858 width=691) - Conds:RS_181._col5=RS_1042._col0(Inner),Output:["_col8","_col9","_col10","_col11","_col17","_col24","_col25","_col29","_col31","_col37","_col38","_col39","_col40"] + SHUFFLE [RS_1077] + PartitionCols:_col2, _col1, _col3 + Select Operator [SEL_1076] (rows=21299858 width=1354) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + Filter Operator [FIL_1075] (rows=21299858 width=1362) + predicate:_col14 is not null + Select Operator [SEL_1074] (rows=21299858 width=1362) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col14","_col15","_col16","_col17"] + Group By Operator [GBY_1073] (rows=21299858 width=1362) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9, KEY._col10, KEY._col11, KEY._col12, KEY._col13 + <-Reducer 33 [SIMPLE_EDGE] + SHUFFLE [RS_191] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13 + Group By Operator [GBY_190] (rows=21299858 width=1362) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count()","sum(_col8)","sum(_col9)","sum(_col10)"],keys:_col24, _col11, _col25, _col12, _col29, _col31, _col37, _col38, _col39, _col40, _col42, _col43, _col44, _col45 + Merge Join Operator [MERGEJOIN_976] (rows=21299858 width=1155) + Conds:RS_186._col17=RS_1047._col0(Inner),Output:["_col8","_col9","_col10","_col11","_col12","_col24","_col25","_col29","_col31","_col37","_col38","_col39","_col40","_col42","_col43","_col44","_col45"] <-Map 49 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1042] + SHUFFLE [RS_1047] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1039] - <-Reducer 31 [SIMPLE_EDGE] - SHUFFLE [RS_181] - PartitionCols:_col5 - Filter Operator [FIL_180] (rows=21299858 width=502) - predicate:(_col33 <> _col35) - Merge Join Operator [MERGEJOIN_970] (rows=21299858 width=502) - Conds:RS_177._col15=RS_1038._col0(Inner),Output:["_col5","_col8","_col9","_col10","_col11","_col17","_col24","_col25","_col29","_col31","_col33","_col35"] - <-Map 48 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1038] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1034] - <-Reducer 30 [SIMPLE_EDGE] - SHUFFLE [RS_177] - PartitionCols:_col15 - Merge Join Operator [MERGEJOIN_969] (rows=21002853 width=418) - Conds:RS_174._col3=RS_1037._col0(Inner),Output:["_col5","_col8","_col9","_col10","_col11","_col15","_col17","_col24","_col25","_col29","_col31","_col33"] + Please refer to the previous Select Operator [SEL_1043] + <-Reducer 32 [SIMPLE_EDGE] + SHUFFLE [RS_186] + PartitionCols:_col17 + Merge Join Operator [MERGEJOIN_975] (rows=21299858 width=798) + Conds:RS_183._col5=RS_1046._col0(Inner),Output:["_col8","_col9","_col10","_col11","_col12","_col17","_col24","_col25","_col29","_col31","_col37","_col38","_col39","_col40"] + <-Map 49 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1046] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1043] + <-Reducer 31 [SIMPLE_EDGE] + SHUFFLE [RS_183] + PartitionCols:_col5 + Filter Operator [FIL_182] (rows=21299858 width=609) + predicate:(_col33 <> _col35) + Merge Join Operator [MERGEJOIN_974] (rows=21299858 width=609) + Conds:RS_179._col15=RS_1042._col0(Inner),Output:["_col5","_col8","_col9","_col10","_col11","_col12","_col17","_col24","_col25","_col29","_col31","_col33","_col35"] <-Map 48 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1037] + SHUFFLE [RS_1042] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1034] - <-Reducer 29 [SIMPLE_EDGE] - SHUFFLE [RS_174] - PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_968] (rows=20709989 width=331) - Conds:RS_171._col18=RS_984._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col15","_col17","_col24","_col25","_col29","_col31"] - <-Map 44 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_984] + Please refer to the previous Select Operator [SEL_1038] + <-Reducer 30 [SIMPLE_EDGE] + SHUFFLE [RS_179] + PartitionCols:_col15 + Merge Join Operator [MERGEJOIN_973] (rows=21002853 width=525) + Conds:RS_176._col3=RS_1041._col0(Inner),Output:["_col5","_col8","_col9","_col10","_col11","_col12","_col15","_col17","_col24","_col25","_col29","_col31","_col33"] + <-Map 48 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1041] PartitionCols:_col0 - Select Operator [SEL_978] (rows=73049 width=8) - Output:["_col0","_col1"] - Please refer to the previous TableScan [TS_38] - <-Reducer 28 [SIMPLE_EDGE] - SHUFFLE [RS_171] - PartitionCols:_col18 - Merge Join Operator [MERGEJOIN_967] (rows=20709989 width=331) - Conds:RS_168._col19=RS_983._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col15","_col17","_col18","_col24","_col25","_col29"] + Please refer to the previous Select Operator [SEL_1038] + <-Reducer 29 [SIMPLE_EDGE] + SHUFFLE [RS_176] + PartitionCols:_col3 + Merge Join Operator [MERGEJOIN_972] (rows=20709989 width=438) + Conds:RS_173._col18=RS_988._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col12","_col15","_col17","_col24","_col25","_col29","_col31"] <-Map 44 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_983] + PARTITION_ONLY_SHUFFLE [RS_988] PartitionCols:_col0 - Select Operator [SEL_977] (rows=73049 width=8) + Select Operator [SEL_982] (rows=73049 width=8) Output:["_col0","_col1"] Please refer to the previous TableScan [TS_38] - <-Reducer 27 [SIMPLE_EDGE] - SHUFFLE [RS_168] - PartitionCols:_col19 - Merge Join Operator [MERGEJOIN_966] (rows=20709989 width=330) - Conds:RS_165._col16=RS_1033._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col15","_col17","_col18","_col19","_col24","_col25"] - <-Map 43 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1033] + <-Reducer 28 [SIMPLE_EDGE] + SHUFFLE [RS_173] + PartitionCols:_col18 + Merge Join Operator [MERGEJOIN_971] (rows=20709989 width=438) + Conds:RS_170._col19=RS_987._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col12","_col15","_col17","_col18","_col24","_col25","_col29"] + <-Map 44 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_987] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1029] - <-Reducer 26 [SIMPLE_EDGE] - SHUFFLE [RS_165] - PartitionCols:_col16 - Merge Join Operator [MERGEJOIN_965] (rows=20709989 width=334) - Conds:RS_162._col4=RS_1032._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col15","_col16","_col17","_col18","_col19","_col24","_col25"] + Select Operator [SEL_981] (rows=73049 width=8) + Output:["_col0","_col1"] + Please refer to the previous TableScan [TS_38] + <-Reducer 27 [SIMPLE_EDGE] + SHUFFLE [RS_170] + PartitionCols:_col19 + Merge Join Operator [MERGEJOIN_970] (rows=20709989 width=437) + Conds:RS_167._col16=RS_1037._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col12","_col15","_col17","_col18","_col19","_col24","_col25"] <-Map 43 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1032] + SHUFFLE [RS_1037] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1029] - <-Reducer 25 [SIMPLE_EDGE] - SHUFFLE [RS_162] - PartitionCols:_col4 - Merge Join Operator [MERGEJOIN_964] (rows=20709989 width=336) - Conds:RS_159._col6=RS_1027._col0(Inner),Output:["_col3","_col4","_col5","_col8","_col9","_col10","_col11","_col15","_col16","_col17","_col18","_col19","_col24","_col25"] - <-Map 42 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1027] + Please refer to the previous Select Operator [SEL_1033] + <-Reducer 26 [SIMPLE_EDGE] + SHUFFLE [RS_167] + PartitionCols:_col16 + Merge Join Operator [MERGEJOIN_969] (rows=20709989 width=441) + Conds:RS_164._col4=RS_1036._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col10","_col11","_col12","_col15","_col16","_col17","_col18","_col19","_col24","_col25"] + <-Map 43 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1036] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1025] - <-Reducer 24 [SIMPLE_EDGE] - SHUFFLE [RS_159] - PartitionCols:_col6 - Merge Join Operator [MERGEJOIN_963] (rows=20709989 width=160) - Conds:RS_156._col1, _col7=RS_1023._col0, _col1(Inner),Output:["_col3","_col4","_col5","_col6","_col8","_col9","_col10","_col11","_col15","_col16","_col17","_col18","_col19"] - <-Map 41 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1023] - PartitionCols:_col0, _col1 - Please refer to the previous Select Operator [SEL_1021] - <-Reducer 23 [SIMPLE_EDGE] - SHUFFLE [RS_156] - PartitionCols:_col1, _col7 - Merge Join Operator [MERGEJOIN_962] (rows=12561347 width=28) - Conds:RS_153._col1=RS_1066._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col15","_col16","_col17","_col18","_col19"] - <-Reducer 22 [SIMPLE_EDGE] - SHUFFLE [RS_153] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_960] (rows=12561347 width=28) - Conds:RS_150._col2=RS_1008._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col15","_col16","_col17","_col18","_col19"] - <-Map 21 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1008] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1006] - <-Reducer 46 [SIMPLE_EDGE] - SHUFFLE [RS_150] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_959] (rows=14484878 width=12) - Conds:RS_147._col0=RS_988._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"] - <-Map 44 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_988] + Please refer to the previous Select Operator [SEL_1033] + <-Reducer 25 [SIMPLE_EDGE] + SHUFFLE [RS_164] + PartitionCols:_col4 + Merge Join Operator [MERGEJOIN_968] (rows=20709989 width=443) + Conds:RS_161._col6=RS_1031._col0(Inner),Output:["_col3","_col4","_col5","_col8","_col9","_col10","_col11","_col12","_col15","_col16","_col17","_col18","_col19","_col24","_col25"] + <-Map 42 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1031] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1029] + <-Reducer 24 [SIMPLE_EDGE] + SHUFFLE [RS_161] + PartitionCols:_col6 + Merge Join Operator [MERGEJOIN_967] (rows=20709989 width=267) + Conds:RS_158._col1, _col7=RS_1027._col0, _col1(Inner),Output:["_col3","_col4","_col5","_col6","_col8","_col9","_col10","_col11","_col12","_col15","_col16","_col17","_col18","_col19"] + <-Map 41 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1027] + PartitionCols:_col0, _col1 + Please refer to the previous Select Operator [SEL_1025] + <-Reducer 23 [SIMPLE_EDGE] + SHUFFLE [RS_158] + PartitionCols:_col1, _col7 + Merge Join Operator [MERGEJOIN_966] (rows=12561347 width=135) + Conds:RS_155._col1=RS_1072._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col15","_col16","_col17","_col18","_col19"] + <-Reducer 22 [SIMPLE_EDGE] + SHUFFLE [RS_155] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_964] (rows=12561347 width=135) + Conds:RS_152._col2=RS_1012._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col15","_col16","_col17","_col18","_col19"] + <-Map 21 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1012] PartitionCols:_col0 - Select Operator [SEL_985] (rows=652 width=4) - Output:["_col0"] - Filter Operator [FIL_979] (rows=652 width=8) - predicate:(d_year = 2001) - Please refer to the previous TableScan [TS_38] - <-Reducer 51 [SIMPLE_EDGE] - SHUFFLE [RS_147] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_958] (rows=40567099 width=205) - Conds:RS_1051._col1=RS_1054._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"] - <-Map 52 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1054] + Please refer to the previous Select Operator [SEL_1010] + <-Reducer 46 [SIMPLE_EDGE] + SHUFFLE [RS_152] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_963] (rows=14484878 width=119) + Conds:RS_149._col0=RS_992._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12"] + <-Map 44 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_992] PartitionCols:_col0 - Select Operator [SEL_1053] (rows=4666 width=4) + Select Operator [SEL_989] (rows=652 width=4) Output:["_col0"] - Filter Operator [FIL_1052] (rows=4666 width=204) - predicate:((i_color) IN ('maroon', 'burnished', 'dim', 'steel', 'navajo', 'chocolate') and i_current_price BETWEEN 36 AND 45) - TableScan [TS_99] (rows=462000 width=204) - default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_color"] - <-Map 50 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1051] - PartitionCols:_col1 - Select Operator [SEL_1050] (rows=417313408 width=351) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"] - Filter Operator [FIL_1049] (rows=417313408 width=355) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_148_d1_d_date_sk_min) AND DynamicValue(RS_148_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_148_d1_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) - TableScan [TS_96] (rows=575995635 width=355) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,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"] - <-Reducer 47 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1048] - Group By Operator [GBY_1047] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 44 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_993] - Group By Operator [GBY_991] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_989] (rows=652 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_985] - <-Reducer 40 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_1066] - PartitionCols:_col0 - Select Operator [SEL_1065] (rows=13257 width=4) - Output:["_col0"] - Filter Operator [FIL_1064] (rows=13257 width=228) - predicate:(_col1 > (2 * _col2)) - Group By Operator [GBY_1063] (rows=39773 width=228) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 - <-Reducer 39 [SIMPLE_EDGE] - SHUFFLE [RS_117] - PartitionCols:_col0 - Group By Operator [GBY_116] (rows=6482999 width=228) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","sum(_col5)"],keys:_col0 - Merge Join Operator [MERGEJOIN_961] (rows=183085709 width=227) - Conds:RS_1062._col0, _col1=RS_1016._col0, _col1(Inner),Output:["_col0","_col2","_col5"] - <-Map 38 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1016] - PartitionCols:_col0, _col1 - Please refer to the previous Select Operator [SEL_1014] - <-Map 54 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1062] - PartitionCols:_col0, _col1 - Select Operator [SEL_1061] (rows=287989836 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1060] (rows=287989836 width=119) - predicate:(cs_item_sk BETWEEN DynamicValue(RS_145_item_i_item_sk_min) AND DynamicValue(RS_145_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_145_item_i_item_sk_bloom_filter))) - TableScan [TS_108] (rows=287989836 width=119) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_item_sk","cs_order_number","cs_ext_list_price"] - <-Reducer 53 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1059] - Group By Operator [GBY_1058] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 52 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1057] - Group By Operator [GBY_1056] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1055] (rows=4666 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1053] + Filter Operator [FIL_983] (rows=652 width=8) + predicate:(d_year = 2000) + Please refer to the previous TableScan [TS_38] + <-Reducer 51 [SIMPLE_EDGE] + SHUFFLE [RS_149] + PartitionCols:_col0 + Merge Join Operator [MERGEJOIN_962] (rows=40567099 width=312) + Conds:RS_1057._col1=RS_1060._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12"] + <-Map 52 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1060] + PartitionCols:_col0 + Select Operator [SEL_1059] (rows=4666 width=111) + Output:["_col0","_col1"] + Filter Operator [FIL_1058] (rows=4666 width=311) + predicate:((i_color) IN ('maroon', 'burnished', 'dim', 'steel', 'navajo', 'chocolate') and i_current_price BETWEEN 36 AND 45) + TableScan [TS_101] (rows=462000 width=311) + default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_color","i_product_name"] + <-Map 50 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1057] + PartitionCols:_col1 + Select Operator [SEL_1056] (rows=417313408 width=351) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"] + Filter Operator [FIL_1055] (rows=417313408 width=355) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_150_d1_d_date_sk_min) AND DynamicValue(RS_150_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_150_d1_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) + TableScan [TS_98] (rows=575995635 width=355) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,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"] + <-Reducer 47 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1054] + Group By Operator [GBY_1053] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 44 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_997] + Group By Operator [GBY_995] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_993] (rows=652 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_989] + <-Reducer 40 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_1072] + PartitionCols:_col0 + Select Operator [SEL_1071] (rows=13257 width=4) + Output:["_col0"] + Filter Operator [FIL_1070] (rows=13257 width=228) + predicate:(_col1 > (2 * _col2)) + Group By Operator [GBY_1069] (rows=39773 width=228) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 + <-Reducer 39 [SIMPLE_EDGE] + SHUFFLE [RS_119] + PartitionCols:_col0 + Group By Operator [GBY_118] (rows=6482999 width=228) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","sum(_col5)"],keys:_col0 + Merge Join Operator [MERGEJOIN_965] (rows=183085709 width=227) + Conds:RS_1068._col0, _col1=RS_1020._col0, _col1(Inner),Output:["_col0","_col2","_col5"] + <-Map 38 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1020] + PartitionCols:_col0, _col1 + Please refer to the previous Select Operator [SEL_1018] + <-Map 54 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1068] + PartitionCols:_col0, _col1 + Select Operator [SEL_1067] (rows=287989836 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1066] (rows=287989836 width=119) + predicate:(cs_item_sk BETWEEN DynamicValue(RS_147_item_i_item_sk_min) AND DynamicValue(RS_147_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_147_item_i_item_sk_bloom_filter))) + TableScan [TS_110] (rows=287989836 width=119) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_item_sk","cs_order_number","cs_ext_list_price"] + <-Reducer 53 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1065] + Group By Operator [GBY_1064] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 52 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1063] + Group By Operator [GBY_1062] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1061] (rows=4666 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1059] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query65.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query65.q.out index 84a2334e25..40ab3b721d 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query65.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query65.q.out @@ -82,97 +82,101 @@ Stage-0 limit:100 Stage-1 Reducer 7 vectorized - File Output Operator [FS_159] - Limit [LIM_158] (rows=100 width=705) + File Output Operator [FS_164] + Limit [LIM_163] (rows=100 width=705) Number of rows:100 - Select Operator [SEL_157] (rows=65392 width=704) + Select Operator [SEL_162] (rows=65392 width=704) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_48] - Select Operator [SEL_47] (rows=65392 width=704) + SHUFFLE [RS_51] + Select Operator [SEL_50] (rows=65392 width=704) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Merge Join Operator [MERGEJOIN_134] (rows=65392 width=704) - Conds:RS_44._col1=RS_156._col0(Inner),Output:["_col2","_col6","_col8","_col9","_col10","_col11"] + Merge Join Operator [MERGEJOIN_137] (rows=65392 width=704) + Conds:RS_47._col1=RS_161._col0(Inner),Output:["_col2","_col6","_col8","_col9","_col10","_col11"] <-Map 12 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_156] + SHUFFLE [RS_161] PartitionCols:_col0 - Select Operator [SEL_155] (rows=462000 width=511) + Select Operator [SEL_160] (rows=462000 width=511) Output:["_col0","_col1","_col2","_col3","_col4"] - TableScan [TS_35] (rows=462000 width=511) + TableScan [TS_38] (rows=462000 width=511) default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_desc","i_current_price","i_wholesale_cost","i_brand"] <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_44] + SHUFFLE [RS_47] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_133] (rows=65392 width=204) - Conds:RS_41._col0=RS_154._col0(Inner),Output:["_col1","_col2","_col6"] + Merge Join Operator [MERGEJOIN_136] (rows=65392 width=204) + Conds:RS_44._col0=RS_159._col0(Inner),Output:["_col1","_col2","_col6"] <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_154] + SHUFFLE [RS_159] PartitionCols:_col0 - Select Operator [SEL_153] (rows=1704 width=92) + Select Operator [SEL_158] (rows=1704 width=92) Output:["_col0","_col1"] - TableScan [TS_33] (rows=1704 width=92) + TableScan [TS_36] (rows=1704 width=92) default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_name"] <-Reducer 4 [ONE_TO_ONE_EDGE] - FORWARD [RS_41] + FORWARD [RS_44] PartitionCols:_col0 - Filter Operator [FIL_40] (rows=65392 width=231) + Filter Operator [FIL_43] (rows=65392 width=231) predicate:(_col2 <= _col4) - Merge Join Operator [MERGEJOIN_132] (rows=196176 width=231) - Conds:RS_147._col0=RS_152._col0(Inner),Output:["_col0","_col1","_col2","_col4"] + Merge Join Operator [MERGEJOIN_135] (rows=196176 width=231) + Conds:RS_151._col0=RS_157._col0(Inner),Output:["_col0","_col1","_col2","_col4"] <-Reducer 3 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_147] + SHUFFLE [RS_151] PartitionCols:_col0 - Group By Operator [GBY_146] (rows=184637 width=118) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_11] - PartitionCols:_col0, _col1 - Group By Operator [GBY_10] (rows=6093021 width=118) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 - Merge Join Operator [MERGEJOIN_130] (rows=91197860 width=89) - Conds:RS_145._col0=RS_137._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 9 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_137] - PartitionCols:_col0 - Select Operator [SEL_136] (rows=317 width=4) - Output:["_col0"] - Filter Operator [FIL_135] (rows=317 width=8) - predicate:d_month_seq BETWEEN 1212 AND 1223 - TableScan [TS_3] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_145] - PartitionCols:_col0 - Select Operator [SEL_144] (rows=525329897 width=118) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_143] (rows=525329897 width=118) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_7_date_dim_d_date_sk_min) AND DynamicValue(RS_7_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_7_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_store_sk is not null) - TableScan [TS_0] (rows=575995635 width=118) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_sales_price"] - <-Reducer 10 [BROADCAST_EDGE] vectorized - BROADCAST [RS_142] - Group By Operator [GBY_141] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_140] - Group By Operator [GBY_139] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_138] (rows=317 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_136] + Filter Operator [FIL_150] (rows=184637 width=118) + predicate:_col2 is not null + Group By Operator [GBY_149] (rows=184637 width=118) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_11] + PartitionCols:_col0, _col1 + Group By Operator [GBY_10] (rows=6093021 width=118) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 + Merge Join Operator [MERGEJOIN_133] (rows=91197860 width=89) + Conds:RS_148._col0=RS_140._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 9 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_140] + PartitionCols:_col0 + Select Operator [SEL_139] (rows=317 width=4) + Output:["_col0"] + Filter Operator [FIL_138] (rows=317 width=8) + predicate:d_month_seq BETWEEN 1212 AND 1223 + TableScan [TS_3] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_148] + PartitionCols:_col0 + Select Operator [SEL_147] (rows=525329897 width=118) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_146] (rows=525329897 width=118) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_7_date_dim_d_date_sk_min) AND DynamicValue(RS_7_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_7_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_store_sk is not null) + TableScan [TS_0] (rows=575995635 width=118) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_sales_price"] + <-Reducer 10 [BROADCAST_EDGE] vectorized + BROADCAST [RS_145] + Group By Operator [GBY_144] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_143] + Group By Operator [GBY_142] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_141] (rows=317 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_139] <-Reducer 8 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_152] + SHUFFLE [RS_157] PartitionCols:_col0 - Select Operator [SEL_151] (rows=17 width=115) + Select Operator [SEL_156] (rows=17 width=115) Output:["_col0","_col1"] - Group By Operator [GBY_150] (rows=17 width=123) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 - Select Operator [SEL_149] (rows=184637 width=118) - Output:["_col1","_col2"] - Group By Operator [GBY_148] (rows=184637 width=118) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_25] - PartitionCols:_col0 - Please refer to the previous Group By Operator [GBY_10] + Filter Operator [FIL_155] (rows=17 width=123) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_154] (rows=17 width=123) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 + Select Operator [SEL_153] (rows=184637 width=118) + Output:["_col1","_col2"] + Group By Operator [GBY_152] (rows=184637 width=118) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_27] + PartitionCols:_col0 + Please refer to the previous Group By Operator [GBY_10] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query72.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query72.q.out index 1a9c2cf203..52fcc73ae9 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query72.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query72.q.out @@ -101,170 +101,174 @@ Stage-0 limit:100 Stage-1 Reducer 12 vectorized - File Output Operator [FS_277] - Limit [LIM_276] (rows=100 width=312) + File Output Operator [FS_281] + Limit [LIM_280] (rows=100 width=312) Number of rows:100 - Select Operator [SEL_275] (rows=193558220 width=312) + Select Operator [SEL_279] (rows=182953402 width=312) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] <-Reducer 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_274] - Group By Operator [GBY_273] (rows=193558220 width=312) + SHUFFLE [RS_278] + Group By Operator [GBY_277] (rows=182953402 width=312) Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(VALUE._col0)","count(VALUE._col1)","count(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2 <-Reducer 10 [SIMPLE_EDGE] - SHUFFLE [RS_64] + SHUFFLE [RS_66] PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_63] (rows=193558220 width=312) + Group By Operator [GBY_65] (rows=182953402 width=312) Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(_col3)","count(_col4)","count()"],keys:_col0, _col1, _col2 - Select Operator [SEL_61] (rows=499184560 width=292) + Select Operator [SEL_63] (rows=471834849 width=292) Output:["_col0","_col1","_col2","_col3","_col4"] - Merge Join Operator [MERGEJOIN_243] (rows=499184560 width=292) - Conds:RS_58._col4, _col6=RS_272._col0, _col1(Left Outer),Output:["_col13","_col15","_col19","_col25"] + Merge Join Operator [MERGEJOIN_245] (rows=471834849 width=292) + Conds:RS_60._col4, _col6=RS_276._col0, _col1(Left Outer),Output:["_col13","_col15","_col19","_col25"] <-Map 24 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_272] + SHUFFLE [RS_276] PartitionCols:_col0, _col1 - Select Operator [SEL_271] (rows=28798881 width=8) + Select Operator [SEL_275] (rows=28798881 width=8) Output:["_col0","_col1"] - TableScan [TS_56] (rows=28798881 width=8) + TableScan [TS_58] (rows=28798881 width=8) default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_item_sk","cr_order_number"] <-Reducer 9 [SIMPLE_EDGE] - SHUFFLE [RS_58] + SHUFFLE [RS_60] PartitionCols:_col4, _col6 - Select Operator [SEL_55] (rows=193558220 width=300) + Select Operator [SEL_57] (rows=182953402 width=300) Output:["_col4","_col6","_col13","_col15","_col19","_col25"] - Merge Join Operator [MERGEJOIN_242] (rows=193558220 width=300) - Conds:RS_52._col5=RS_270._col0(Left Outer),Output:["_col4","_col6","_col13","_col20","_col24","_col25"] + Merge Join Operator [MERGEJOIN_244] (rows=182953402 width=300) + Conds:RS_54._col5=RS_274._col0(Left Outer),Output:["_col4","_col6","_col13","_col20","_col24","_col25"] <-Map 23 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_270] + SHUFFLE [RS_274] PartitionCols:_col0 - Select Operator [SEL_269] (rows=2300 width=4) + Select Operator [SEL_273] (rows=2300 width=4) Output:["_col0"] - TableScan [TS_27] (rows=2300 width=4) + TableScan [TS_29] (rows=2300 width=4) default@promotion,promotion,Tbl:COMPLETE,Col:COMPLETE,Output:["p_promo_sk"] <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_52] + SHUFFLE [RS_54] PartitionCols:_col5 - Merge Join Operator [MERGEJOIN_241] (rows=193558220 width=299) - Conds:RS_49._col4=RS_268._col0(Inner),Output:["_col4","_col5","_col6","_col13","_col20","_col24"] + Merge Join Operator [MERGEJOIN_243] (rows=182953402 width=299) + Conds:RS_51._col4=RS_272._col0(Inner),Output:["_col4","_col5","_col6","_col13","_col20","_col24"] <-Map 22 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_268] + SHUFFLE [RS_272] PartitionCols:_col0 - Select Operator [SEL_267] (rows=462000 width=188) + Select Operator [SEL_271] (rows=462000 width=188) Output:["_col0","_col1"] - TableScan [TS_25] (rows=462000 width=188) + TableScan [TS_27] (rows=462000 width=188) default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_desc"] <-Reducer 7 [SIMPLE_EDGE] - SHUFFLE [RS_49] + SHUFFLE [RS_51] PartitionCols:_col4 - Filter Operator [FIL_48] (rows=193558220 width=131) + Filter Operator [FIL_50] (rows=182953402 width=131) predicate:(_col22 > _col14) - Merge Join Operator [MERGEJOIN_240] (rows=580674662 width=131) - Conds:RS_45._col1=RS_266._col0(Inner),Output:["_col4","_col5","_col6","_col13","_col14","_col20","_col22"] + Merge Join Operator [MERGEJOIN_242] (rows=548860207 width=131) + Conds:RS_47._col1=RS_270._col0(Inner),Output:["_col4","_col5","_col6","_col13","_col14","_col20","_col22"] <-Map 21 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_266] + SHUFFLE [RS_270] PartitionCols:_col0 - Select Operator [SEL_265] (rows=73049 width=12) + Select Operator [SEL_269] (rows=73049 width=12) Output:["_col0","_col1"] - TableScan [TS_23] (rows=73049 width=98) - default@date_dim,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"] + Filter Operator [FIL_268] (rows=73049 width=98) + predicate:d_date is not null + TableScan [TS_24] (rows=73049 width=98) + default@date_dim,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"] <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_45] + SHUFFLE [RS_47] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_239] (rows=580674662 width=127) - Conds:RS_42._col17=RS_264._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col13","_col14","_col20"] + Merge Join Operator [MERGEJOIN_241] (rows=548860207 width=127) + Conds:RS_44._col17=RS_267._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col13","_col14","_col20"] <-Map 20 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_264] + SHUFFLE [RS_267] PartitionCols:_col0 - Select Operator [SEL_263] (rows=27 width=104) + Select Operator [SEL_266] (rows=27 width=104) Output:["_col0","_col1"] - TableScan [TS_21] (rows=27 width=104) + TableScan [TS_22] (rows=27 width=104) default@warehouse,warehouse,Tbl:COMPLETE,Col:COMPLETE,Output:["w_warehouse_sk","w_warehouse_name"] <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_42] + SHUFFLE [RS_44] PartitionCols:_col17 - Filter Operator [FIL_41] (rows=580674662 width=39) + Filter Operator [FIL_43] (rows=548860207 width=39) predicate:(_col18 < _col7) - Merge Join Operator [MERGEJOIN_238] (rows=1742023986 width=39) - Conds:RS_38._col10, _col4=RS_262._col0, _col1(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col13","_col14","_col17","_col18"] + Merge Join Operator [MERGEJOIN_240] (rows=1646580622 width=39) + Conds:RS_40._col10, _col4=RS_265._col0, _col1(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col13","_col14","_col17","_col18"] <-Map 19 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_262] + SHUFFLE [RS_265] PartitionCols:_col0, _col1 - Select Operator [SEL_261] (rows=37584000 width=15) + Select Operator [SEL_264] (rows=35703276 width=15) Output:["_col0","_col1","_col2","_col3"] - TableScan [TS_19] (rows=37584000 width=15) - default@inventory,inventory,Tbl:COMPLETE,Col:COMPLETE,Output:["inv_date_sk","inv_item_sk","inv_warehouse_sk","inv_quantity_on_hand"] + Filter Operator [FIL_263] (rows=35703276 width=15) + predicate:inv_quantity_on_hand is not null + TableScan [TS_19] (rows=37584000 width=15) + default@inventory,inventory,Tbl:COMPLETE,Col:COMPLETE,Output:["inv_date_sk","inv_item_sk","inv_warehouse_sk","inv_quantity_on_hand"] <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_38] + SHUFFLE [RS_40] PartitionCols:_col10, _col4 - Merge Join Operator [MERGEJOIN_237] (rows=2899758 width=30) - Conds:RS_35._col0=RS_36._col2(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col10","_col13","_col14"] + Merge Join Operator [MERGEJOIN_239] (rows=2885264 width=30) + Conds:RS_37._col0=RS_38._col2(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col10","_col13","_col14"] <-Reducer 16 [SIMPLE_EDGE] - SHUFFLE [RS_36] + SHUFFLE [RS_38] PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_236] (rows=3621 width=20) - Conds:RS_246._col1=RS_249._col1(Inner),Output:["_col0","_col2","_col3","_col4"] + Merge Join Operator [MERGEJOIN_238] (rows=3621 width=20) + Conds:RS_248._col1=RS_251._col1(Inner),Output:["_col0","_col2","_col3","_col4"] <-Map 15 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_246] + SHUFFLE [RS_248] PartitionCols:_col1 - Select Operator [SEL_245] (rows=73049 width=8) + Select Operator [SEL_247] (rows=73049 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_244] (rows=73049 width=8) + Filter Operator [FIL_246] (rows=73049 width=8) predicate:d_week_seq is not null TableScan [TS_9] (rows=73049 width=8) default@date_dim,d2,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_week_seq"] <-Map 18 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_249] + SHUFFLE [RS_251] PartitionCols:_col1 - Select Operator [SEL_248] (rows=652 width=16) + Select Operator [SEL_250] (rows=652 width=16) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_247] (rows=652 width=106) - predicate:((d_year = 2001) and d_week_seq is not null) + Filter Operator [FIL_249] (rows=652 width=106) + predicate:((d_year = 2001) and d_date is not null and d_week_seq is not null) TableScan [TS_12] (rows=73049 width=106) default@date_dim,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date","d_week_seq","d_year"] <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_35] + SHUFFLE [RS_37] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_235] (rows=8179029 width=21) - Conds:RS_32._col3=RS_260._col0(Inner),Output:["_col0","_col1","_col4","_col5","_col6","_col7"] + Merge Join Operator [MERGEJOIN_237] (rows=8138146 width=21) + Conds:RS_34._col3=RS_262._col0(Inner),Output:["_col0","_col1","_col4","_col5","_col6","_col7"] <-Map 14 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_260] + SHUFFLE [RS_262] PartitionCols:_col0 - Select Operator [SEL_259] (rows=1440 width=4) + Select Operator [SEL_261] (rows=1440 width=4) Output:["_col0"] - Filter Operator [FIL_258] (rows=1440 width=96) + Filter Operator [FIL_260] (rows=1440 width=96) predicate:(hd_buy_potential = '1001-5000') TableScan [TS_6] (rows=7200 width=96) default@household_demographics,household_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_buy_potential"] <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_32] + SHUFFLE [RS_34] PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_234] (rows=40895144 width=27) - Conds:RS_254._col2=RS_257._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7"] + Merge Join Operator [MERGEJOIN_236] (rows=40690728 width=27) + Conds:RS_256._col2=RS_259._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7"] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_254] + SHUFFLE [RS_256] PartitionCols:_col2 - Select Operator [SEL_253] (rows=282274763 width=31) + Select Operator [SEL_255] (rows=280863799 width=31) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] - Filter Operator [FIL_252] (rows=282274763 width=31) - predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_36_d1_d_date_sk_min) AND DynamicValue(RS_36_d1_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_36_d1_d_date_sk_bloom_filter))) and cs_bill_cdemo_sk is not null and cs_bill_hdemo_sk is not null and cs_ship_date_sk is not null and cs_sold_date_sk is not null) + Filter Operator [FIL_254] (rows=280863799 width=31) + predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_38_d1_d_date_sk_min) AND DynamicValue(RS_38_d1_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_38_d1_d_date_sk_bloom_filter))) and cs_bill_cdemo_sk is not null and cs_bill_hdemo_sk is not null and cs_quantity is not null and cs_ship_date_sk is not null and cs_sold_date_sk is not null) TableScan [TS_0] (rows=287989836 width=31) default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,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 17 [BROADCAST_EDGE] vectorized - BROADCAST [RS_251] - Group By Operator [GBY_250] (rows=1 width=12) + BROADCAST [RS_253] + Group By Operator [GBY_252] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] <-Reducer 16 [CUSTOM_SIMPLE_EDGE] - SHUFFLE [RS_138] - Group By Operator [GBY_137] (rows=1 width=12) + SHUFFLE [RS_140] + Group By Operator [GBY_139] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_136] (rows=3621 width=8) + Select Operator [SEL_138] (rows=3621 width=8) Output:["_col0"] - Please refer to the previous Merge Join Operator [MERGEJOIN_236] + Please refer to the previous Merge Join Operator [MERGEJOIN_238] <-Map 13 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_257] + SHUFFLE [RS_259] PartitionCols:_col0 - Select Operator [SEL_256] (rows=265971 width=4) + Select Operator [SEL_258] (rows=265971 width=4) Output:["_col0"] - Filter Operator [FIL_255] (rows=265971 width=89) + Filter Operator [FIL_257] (rows=265971 width=89) predicate:(cd_marital_status = 'M') TableScan [TS_3] (rows=1861800 width=89) default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["cd_demo_sk","cd_marital_status"] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query81.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query81.q.out index bcfe19e196..513e38c575 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query81.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query81.q.out @@ -87,133 +87,137 @@ Stage-0 limit:-1 Stage-1 Reducer 4 vectorized - File Output Operator [FS_210] - Select Operator [SEL_209] (rows=100 width=1506) + File Output Operator [FS_215] + Select Operator [SEL_214] (rows=100 width=1506) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] - Limit [LIM_208] (rows=100 width=1420) + Limit [LIM_213] (rows=100 width=1420) Number of rows:100 - Select Operator [SEL_207] (rows=1577696 width=1418) + Select Operator [SEL_212] (rows=1577696 width=1418) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"] <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_63] - Select Operator [SEL_62] (rows=1577696 width=1418) + SHUFFLE [RS_66] + Select Operator [SEL_65] (rows=1577696 width=1418) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"] - Merge Join Operator [MERGEJOIN_178] (rows=1577696 width=1418) - Conds:RS_59._col0=RS_60._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col19"] + Merge Join Operator [MERGEJOIN_181] (rows=1577696 width=1418) + Conds:RS_62._col0=RS_63._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col19"] <-Reducer 10 [SIMPLE_EDGE] - SHUFFLE [RS_60] + SHUFFLE [RS_63] PartitionCols:_col0 - Select Operator [SEL_55] (rows=1609248 width=227) + Select Operator [SEL_58] (rows=1609248 width=227) Output:["_col0","_col2"] - Filter Operator [FIL_54] (rows=1609248 width=227) + Filter Operator [FIL_57] (rows=1609248 width=227) predicate:(_col2 > _col3) - Merge Join Operator [MERGEJOIN_177] (rows=4827746 width=227) - Conds:RS_201._col1=RS_206._col1(Inner),Output:["_col0","_col2","_col3"] + Merge Join Operator [MERGEJOIN_180] (rows=4827746 width=227) + Conds:RS_205._col1=RS_211._col1(Inner),Output:["_col0","_col2","_col3"] <-Reducer 13 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_206] + SHUFFLE [RS_211] PartitionCols:_col1 - Select Operator [SEL_205] (rows=12 width=198) + Select Operator [SEL_210] (rows=12 width=198) Output:["_col0","_col1"] - Group By Operator [GBY_204] (rows=12 width=206) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0 - Select Operator [SEL_203] (rows=5266632 width=201) - Output:["_col0","_col2"] - Group By Operator [GBY_202] (rows=5266632 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_43] - PartitionCols:_col0 - Group By Operator [GBY_42] (rows=8749496 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 - Merge Join Operator [MERGEJOIN_176] (rows=8749496 width=194) - Conds:RS_38._col2=RS_198._col0(Inner),Output:["_col1","_col3","_col6"] - <-Map 15 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_198] - PartitionCols:_col0 - Select Operator [SEL_196] (rows=40000000 width=90) - Output:["_col0","_col1"] - Filter Operator [FIL_195] (rows=40000000 width=90) - predicate:ca_state is not null - TableScan [TS_12] (rows=40000000 width=90) - default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state"] - <-Reducer 11 [SIMPLE_EDGE] - SHUFFLE [RS_38] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_175] (rows=8749496 width=112) - Conds:RS_190._col0=RS_194._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 14 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_194] - PartitionCols:_col0 - Select Operator [SEL_192] (rows=652 width=4) - Output:["_col0"] - Filter Operator [FIL_191] (rows=652 width=8) - predicate:(d_year = 1998) - TableScan [TS_9] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Map 6 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_190] - PartitionCols:_col0 - Select Operator [SEL_188] (rows=28221532 width=121) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_186] (rows=28221532 width=121) - predicate:(cr_returned_date_sk is not null and cr_returning_addr_sk is not null) - TableScan [TS_6] (rows=28798881 width=121) - default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_returned_date_sk","cr_returning_customer_sk","cr_returning_addr_sk","cr_return_amt_inc_tax"] + Filter Operator [FIL_209] (rows=12 width=206) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_208] (rows=12 width=206) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0 + Select Operator [SEL_207] (rows=5266632 width=201) + Output:["_col0","_col2"] + Group By Operator [GBY_206] (rows=5266632 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 12 [SIMPLE_EDGE] + SHUFFLE [RS_45] + PartitionCols:_col0 + Group By Operator [GBY_44] (rows=8749496 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 + Merge Join Operator [MERGEJOIN_179] (rows=8749496 width=194) + Conds:RS_40._col2=RS_201._col0(Inner),Output:["_col1","_col3","_col6"] + <-Map 15 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_201] + PartitionCols:_col0 + Select Operator [SEL_199] (rows=40000000 width=90) + Output:["_col0","_col1"] + Filter Operator [FIL_198] (rows=40000000 width=90) + predicate:ca_state is not null + TableScan [TS_12] (rows=40000000 width=90) + default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state"] + <-Reducer 11 [SIMPLE_EDGE] + SHUFFLE [RS_40] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_178] (rows=8749496 width=112) + Conds:RS_193._col0=RS_197._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 14 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_197] + PartitionCols:_col0 + Select Operator [SEL_195] (rows=652 width=4) + Output:["_col0"] + Filter Operator [FIL_194] (rows=652 width=8) + predicate:(d_year = 1998) + TableScan [TS_9] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Map 6 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_193] + PartitionCols:_col0 + Select Operator [SEL_191] (rows=28221532 width=121) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_189] (rows=28221532 width=121) + predicate:(cr_returned_date_sk is not null and cr_returning_addr_sk is not null) + TableScan [TS_6] (rows=28798881 width=121) + default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_returned_date_sk","cr_returning_customer_sk","cr_returning_addr_sk","cr_return_amt_inc_tax"] <-Reducer 9 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_201] + SHUFFLE [RS_205] PartitionCols:_col1 - Select Operator [SEL_200] (rows=4827746 width=201) - Output:["_col0","_col1","_col2"] - Group By Operator [GBY_199] (rows=4827746 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_23] - PartitionCols:_col0, _col1 - Group By Operator [GBY_22] (rows=8574602 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 - Merge Join Operator [MERGEJOIN_174] (rows=8574602 width=194) - Conds:RS_18._col2=RS_197._col0(Inner),Output:["_col1","_col3","_col6"] - <-Map 15 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_197] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_196] - <-Reducer 7 [SIMPLE_EDGE] - SHUFFLE [RS_18] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_173] (rows=8574602 width=112) - Conds:RS_189._col0=RS_193._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 14 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_193] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_192] - <-Map 6 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_189] - PartitionCols:_col0 - Select Operator [SEL_187] (rows=27657410 width=121) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_185] (rows=27657410 width=121) - predicate:(cr_returned_date_sk is not null and cr_returning_addr_sk is not null and cr_returning_customer_sk is not null) - Please refer to the previous TableScan [TS_6] + Filter Operator [FIL_204] (rows=4827746 width=201) + predicate:_col2 is not null + Select Operator [SEL_203] (rows=4827746 width=201) + Output:["_col0","_col1","_col2"] + Group By Operator [GBY_202] (rows=4827746 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 8 [SIMPLE_EDGE] + SHUFFLE [RS_23] + PartitionCols:_col0, _col1 + Group By Operator [GBY_22] (rows=8574602 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 + Merge Join Operator [MERGEJOIN_177] (rows=8574602 width=194) + Conds:RS_18._col2=RS_200._col0(Inner),Output:["_col1","_col3","_col6"] + <-Map 15 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_200] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_199] + <-Reducer 7 [SIMPLE_EDGE] + SHUFFLE [RS_18] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_176] (rows=8574602 width=112) + Conds:RS_192._col0=RS_196._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 14 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_196] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_195] + <-Map 6 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_192] + PartitionCols:_col0 + Select Operator [SEL_190] (rows=27657410 width=121) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_188] (rows=27657410 width=121) + predicate:(cr_returned_date_sk is not null and cr_returning_addr_sk is not null and cr_returning_customer_sk is not null) + Please refer to the previous TableScan [TS_6] <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_59] + SHUFFLE [RS_62] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_172] (rows=1568628 width=1310) - Conds:RS_181._col2=RS_184._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16"] + Merge Join Operator [MERGEJOIN_175] (rows=1568628 width=1310) + Conds:RS_184._col2=RS_187._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16"] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_181] + SHUFFLE [RS_184] PartitionCols:_col2 - Select Operator [SEL_180] (rows=80000000 width=375) + Select Operator [SEL_183] (rows=80000000 width=375) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_179] (rows=80000000 width=375) + Filter Operator [FIL_182] (rows=80000000 width=375) predicate:c_current_addr_sk is not null TableScan [TS_0] (rows=80000000 width=375) default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_customer_id","c_current_addr_sk","c_salutation","c_first_name","c_last_name"] <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_184] + SHUFFLE [RS_187] PartitionCols:_col0 - Select Operator [SEL_183] (rows=784314 width=941) + Select Operator [SEL_186] (rows=784314 width=941) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"] - Filter Operator [FIL_182] (rows=784314 width=1027) + Filter Operator [FIL_185] (rows=784314 width=1027) predicate:(ca_state = 'IL') TableScan [TS_3] (rows=40000000 width=1027) default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_street_number","ca_street_name","ca_street_type","ca_suite_number","ca_city","ca_county","ca_state","ca_zip","ca_country","ca_gmt_offset","ca_location_type"] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query92.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query92.q.out index f60d789eb4..ea6eb8c1a6 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query92.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query92.q.out @@ -67,119 +67,107 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Map 1 <- Reducer 9 (BROADCAST_EDGE) -Map 10 <- Reducer 12 (BROADCAST_EDGE) -Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) -Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 8 (ONE_TO_ONE_EDGE) -Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE) -Reducer 6 <- Map 10 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) +Map 1 <- Reducer 10 (BROADCAST_EDGE) +Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) +Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) +Reducer 4 <- Reducer 3 (ONE_TO_ONE_EDGE), Reducer 7 (ONE_TO_ONE_EDGE) +Reducer 5 <- Reducer 4 (CUSTOM_SIMPLE_EDGE) +Reducer 6 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) Reducer 7 <- Reducer 6 (SIMPLE_EDGE) -Reducer 8 <- Map 11 (SIMPLE_EDGE), Reducer 7 (ONE_TO_ONE_EDGE) -Reducer 9 <- Reducer 8 (CUSTOM_SIMPLE_EDGE) Stage-0 Fetch Operator limit:-1 Stage-1 - Reducer 4 vectorized - File Output Operator [FS_128] - Group By Operator [GBY_127] (rows=1 width=112) + Reducer 5 vectorized + File Output Operator [FS_127] + Group By Operator [GBY_126] (rows=1 width=112) Output:["_col0"],aggregations:["sum(VALUE._col0)"] - <-Reducer 3 [CUSTOM_SIMPLE_EDGE] + <-Reducer 4 [CUSTOM_SIMPLE_EDGE] PARTITION_ONLY_SHUFFLE [RS_36] Group By Operator [GBY_35] (rows=1 width=112) Output:["_col0"],aggregations:["sum(_col2)"] - Select Operator [SEL_34] (rows=2478 width=112) + Select Operator [SEL_34] (rows=32 width=115) Output:["_col2"] - Filter Operator [FIL_33] (rows=2478 width=112) - predicate:(_col2 > _col5) - Merge Join Operator [MERGEJOIN_103] (rows=7434 width=112) - Conds:RS_30._col1=RS_31._col2(Inner),Output:["_col2","_col5"] - <-Reducer 8 [ONE_TO_ONE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_31] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_102] (rows=97 width=116) - Conds:RS_121._col0=RS_110._col0(Inner),Output:["_col1","_col2"] - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_110] + Filter Operator [FIL_33] (rows=32 width=115) + predicate:(_col2 > _col6) + Merge Join Operator [MERGEJOIN_103] (rows=97 width=113) + Conds:RS_30._col4=RS_125._col0(Inner),Output:["_col2","_col6"] + <-Reducer 3 [ONE_TO_ONE_EDGE] + FORWARD [RS_30] + PartitionCols:_col4 + Merge Join Operator [MERGEJOIN_101] (rows=222882 width=97) + Conds:RS_27._col1=RS_106._col0(Inner),Output:["_col2","_col4"] + <-Map 9 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_106] PartitionCols:_col0 - Select Operator [SEL_109] (rows=669 width=4) + Select Operator [SEL_105] (rows=669 width=4) Output:["_col0"] - Filter Operator [FIL_108] (rows=669 width=7) + Filter Operator [FIL_104] (rows=669 width=7) predicate:(i_manufact_id = 269) - TableScan [TS_20] (rows=462000 width=7) + TableScan [TS_6] (rows=462000 width=7) default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_manufact_id"] - <-Reducer 7 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_121] - PartitionCols:_col0 - Select Operator [SEL_120] (rows=6951 width=116) - Output:["_col0","_col1"] - Group By Operator [GBY_119] (rows=6951 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_17] - PartitionCols:_col0 - Group By Operator [GBY_16] (rows=55608 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 - Merge Join Operator [MERGEJOIN_101] (rows=15995224 width=115) - Conds:RS_118._col0=RS_107._col0(Inner),Output:["_col1","_col2"] - <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_107] - PartitionCols:_col0 - Select Operator [SEL_105] (rows=8116 width=4) - Output:["_col0"] - Filter Operator [FIL_104] (rows=8116 width=98) - predicate:CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00' AND TIMESTAMP'1998-06-16 00:00:00' - TableScan [TS_3] (rows=73049 width=98) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"] - <-Map 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_118] - PartitionCols:_col0 - Select Operator [SEL_117] (rows=143966864 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_116] (rows=143966864 width=119) - predicate:((ws_item_sk BETWEEN DynamicValue(RS_24_item_i_item_sk_min) AND DynamicValue(RS_24_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_24_item_i_item_sk_bloom_filter))) and ws_sold_date_sk is not null) - TableScan [TS_6] (rows=144002668 width=119) - default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_ext_discount_amt"] - <-Reducer 12 [BROADCAST_EDGE] vectorized - BROADCAST [RS_115] - Group By Operator [GBY_114] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_113] - Group By Operator [GBY_112] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_111] (rows=669 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_109] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_30] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_100] (rows=15995224 width=115) - Conds:RS_126._col0=RS_106._col0(Inner),Output:["_col1","_col2"] - <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_106] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_105] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_126] - PartitionCols:_col0 - Select Operator [SEL_125] (rows=143966864 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_124] (rows=143966864 width=119) - predicate:((ws_item_sk BETWEEN DynamicValue(RS_31_item_i_item_sk_min) AND DynamicValue(RS_31_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_31_item_i_item_sk_bloom_filter))) and ws_sold_date_sk is not null) - TableScan [TS_0] (rows=144002668 width=119) - default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_ext_discount_amt"] - <-Reducer 9 [BROADCAST_EDGE] vectorized - BROADCAST [RS_123] - Group By Operator [GBY_122] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Reducer 8 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_64] - Group By Operator [GBY_63] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_62] (rows=97 width=8) - Output:["_col0"] - Please refer to the previous Merge Join Operator [MERGEJOIN_102] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_27] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_100] (rows=15991229 width=115) + Conds:RS_116._col0=RS_120._col0(Inner),Output:["_col1","_col2"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_116] + PartitionCols:_col0 + Select Operator [SEL_114] (rows=143930905 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_112] (rows=143930905 width=119) + predicate:(ws_ext_discount_amt is not null and ws_sold_date_sk is not null) + TableScan [TS_0] (rows=144002668 width=119) + default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_ext_discount_amt"] + <-Reducer 10 [BROADCAST_EDGE] vectorized + BROADCAST [RS_111] + Group By Operator [GBY_110] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_109] + Group By Operator [GBY_108] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_107] (rows=669 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_105] + <-Map 8 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_120] + PartitionCols:_col0 + Select Operator [SEL_119] (rows=8116 width=4) + Output:["_col0"] + Filter Operator [FIL_118] (rows=8116 width=98) + predicate:CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00' AND TIMESTAMP'1998-06-16 00:00:00' + TableScan [TS_3] (rows=73049 width=98) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"] + <-Reducer 7 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_125] + PartitionCols:_col0 + Select Operator [SEL_124] (rows=6951 width=116) + Output:["_col0","_col1"] + Filter Operator [FIL_123] (rows=6951 width=124) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_122] (rows=6951 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_20] + PartitionCols:_col0 + Group By Operator [GBY_19] (rows=55608 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 + Merge Join Operator [MERGEJOIN_102] (rows=15995224 width=115) + Conds:RS_117._col0=RS_121._col0(Inner),Output:["_col1","_col2"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_117] + PartitionCols:_col0 + Select Operator [SEL_115] (rows=143966864 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_113] (rows=143966864 width=119) + predicate:ws_sold_date_sk is not null + Please refer to the previous TableScan [TS_0] + <-Map 8 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_121] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_119] diff --git a/ql/src/test/results/clientpositive/perf/tez/query1.q.out b/ql/src/test/results/clientpositive/perf/tez/query1.q.out index 532133600d..c6bff1d9b7 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query1.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query1.q.out @@ -59,121 +59,125 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 10 (SIMPLE_EDGE) -Reducer 3 <- Reducer 2 (SIMPLE_EDGE) -Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) -Reducer 5 <- Map 12 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) -Reducer 6 <- Reducer 5 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) -Reducer 7 <- Reducer 6 (SIMPLE_EDGE) -Reducer 8 <- Map 1 (SIMPLE_EDGE), Map 10 (SIMPLE_EDGE) -Reducer 9 <- Reducer 8 (SIMPLE_EDGE) +Reducer 10 <- Reducer 9 (SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 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 <- Reducer 4 (SIMPLE_EDGE) +Reducer 7 <- Map 11 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE) +Reducer 8 <- Reducer 7 (SIMPLE_EDGE) +Reducer 9 <- Map 11 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE) Stage-0 Fetch Operator limit:100 Stage-1 - Reducer 7 vectorized - File Output Operator [FS_161] - Limit [LIM_160] (rows=100 width=100) + Reducer 5 vectorized + File Output Operator [FS_165] + Limit [LIM_164] (rows=100 width=100) Number of rows:100 - Select Operator [SEL_159] (rows=816091 width=100) + Select Operator [SEL_163] (rows=816091 width=100) Output:["_col0"] - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_50] - Select Operator [SEL_49] (rows=816091 width=100) + <-Reducer 4 [SIMPLE_EDGE] + SHUFFLE [RS_52] + Select Operator [SEL_51] (rows=816091 width=100) Output:["_col0"] - Filter Operator [FIL_48] (rows=816091 width=324) - predicate:(_col2 > _col6) - Merge Join Operator [MERGEJOIN_134] (rows=2448274 width=324) - Conds:RS_45._col1=RS_158._col1(Inner),Output:["_col2","_col5","_col6"] - <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_45] + Filter Operator [FIL_50] (rows=816091 width=324) + predicate:(_col3 > _col6) + Merge Join Operator [MERGEJOIN_136] (rows=2448274 width=324) + Conds:RS_47._col2=RS_162._col1(Inner),Output:["_col3","_col5","_col6"] + <-Reducer 10 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_162] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_132] (rows=2369298 width=213) - Conds:RS_42._col0=RS_153._col0(Inner),Output:["_col1","_col2","_col5"] + Select Operator [SEL_161] (rows=31 width=115) + Output:["_col0","_col1"] + Filter Operator [FIL_160] (rows=31 width=123) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_159] (rows=31 width=123) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 + Select Operator [SEL_158] (rows=14291868 width=119) + Output:["_col1","_col2"] + Group By Operator [GBY_157] (rows=14291868 width=119) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_32] + PartitionCols:_col0 + Group By Operator [GBY_31] (rows=17467258 width=119) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 + Merge Join Operator [MERGEJOIN_135] (rows=17467258 width=107) + Conds:RS_145._col0=RS_149._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 11 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_149] + PartitionCols:_col0 + Select Operator [SEL_147] (rows=652 width=4) + Output:["_col0"] + Filter Operator [FIL_146] (rows=652 width=8) + predicate:((d_year = 2000) and d_date_sk is not null) + TableScan [TS_6] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Map 6 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_145] + PartitionCols:_col0 + Select Operator [SEL_143] (rows=53634860 width=119) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_141] (rows=53634860 width=119) + predicate:(sr_returned_date_sk is not null and sr_store_sk is not null) + TableScan [TS_3] (rows=57591150 width=119) + default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_returned_date_sk","sr_customer_sk","sr_store_sk","sr_fee"] + <-Reducer 3 [SIMPLE_EDGE] + SHUFFLE [RS_47] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_134] (rows=2369298 width=213) + Conds:RS_44._col1=RS_156._col0(Inner),Output:["_col2","_col3","_col5"] <-Map 12 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_153] + SHUFFLE [RS_156] PartitionCols:_col0 - Select Operator [SEL_152] (rows=80000000 width=104) + Select Operator [SEL_155] (rows=80000000 width=104) Output:["_col0","_col1"] - Filter Operator [FIL_151] (rows=80000000 width=104) + Filter Operator [FIL_154] (rows=80000000 width=104) predicate:c_customer_sk is not null - TableScan [TS_17] (rows=80000000 width=104) + TableScan [TS_18] (rows=80000000 width=104) default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_customer_id"] - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_42] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_131] (rows=2369298 width=114) - Conds:RS_147._col1=RS_150._col0(Inner),Output:["_col0","_col1","_col2"] - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_150] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_44] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_133] (rows=2369298 width=114) + Conds:RS_139._col0=RS_153._col1(Inner),Output:["_col1","_col2","_col3"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_139] PartitionCols:_col0 - Select Operator [SEL_149] (rows=35 width=4) + Select Operator [SEL_138] (rows=35 width=4) Output:["_col0"] - Filter Operator [FIL_148] (rows=35 width=90) + Filter Operator [FIL_137] (rows=35 width=90) predicate:((s_state = 'NM') and s_store_sk is not null) - TableScan [TS_14] (rows=1704 width=90) + TableScan [TS_0] (rows=1704 width=90) default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_state"] - <-Reducer 3 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_147] + <-Reducer 8 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_153] PartitionCols:_col1 - Select Operator [SEL_146] (rows=14291868 width=119) + Select Operator [SEL_152] (rows=14291868 width=119) Output:["_col0","_col1","_col2"] - Group By Operator [GBY_145] (rows=14291868 width=119) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_11] - PartitionCols:_col0, _col1 - Group By Operator [GBY_10] (rows=16855704 width=119) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 - Merge Join Operator [MERGEJOIN_130] (rows=16855704 width=107) - Conds:RS_139._col0=RS_143._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_139] - PartitionCols:_col0 - Select Operator [SEL_137] (rows=51757026 width=119) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_135] (rows=51757026 width=119) - predicate:(sr_customer_sk is not null and sr_returned_date_sk is not null and sr_store_sk is not null) - TableScan [TS_0] (rows=57591150 width=119) - default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_returned_date_sk","sr_customer_sk","sr_store_sk","sr_fee"] - <-Map 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_143] - PartitionCols:_col0 - Select Operator [SEL_142] (rows=652 width=4) - Output:["_col0"] - Filter Operator [FIL_141] (rows=652 width=8) - predicate:((d_year = 2000) and d_date_sk is not null) - TableScan [TS_3] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Reducer 9 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_158] - PartitionCols:_col1 - Select Operator [SEL_157] (rows=31 width=115) - Output:["_col0","_col1"] - Group By Operator [GBY_156] (rows=31 width=123) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 - Select Operator [SEL_155] (rows=14291868 width=119) - Output:["_col1","_col2"] - Group By Operator [GBY_154] (rows=14291868 width=119) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_31] - PartitionCols:_col0 - Group By Operator [GBY_30] (rows=17467258 width=119) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 - Merge Join Operator [MERGEJOIN_133] (rows=17467258 width=107) - Conds:RS_140._col0=RS_144._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_140] - PartitionCols:_col0 - Select Operator [SEL_138] (rows=53634860 width=119) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_136] (rows=53634860 width=119) - predicate:(sr_returned_date_sk is not null and sr_store_sk is not null) - Please refer to the previous TableScan [TS_0] - <-Map 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_144] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_142] + Filter Operator [FIL_151] (rows=14291868 width=119) + predicate:_col2 is not null + Group By Operator [GBY_150] (rows=14291868 width=119) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 7 [SIMPLE_EDGE] + SHUFFLE [RS_14] + PartitionCols:_col0, _col1 + Group By Operator [GBY_13] (rows=16855704 width=119) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 + Merge Join Operator [MERGEJOIN_132] (rows=16855704 width=107) + Conds:RS_144._col0=RS_148._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 11 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_148] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_147] + <-Map 6 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_144] + PartitionCols:_col0 + Select Operator [SEL_142] (rows=51757026 width=119) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_140] (rows=51757026 width=119) + predicate:(sr_customer_sk is not null and sr_returned_date_sk is not null and sr_store_sk is not null) + Please refer to the previous TableScan [TS_3] diff --git a/ql/src/test/results/clientpositive/perf/tez/query14.q.out b/ql/src/test/results/clientpositive/perf/tez/query14.q.out index fd8eb9b2f3..ba3ece7c8d 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query14.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query14.q.out @@ -1,6 +1,9 @@ -Warning: Shuffle Join MERGEJOIN[1164][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 6' is a cross product -Warning: Shuffle Join MERGEJOIN[1171][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 16' is a cross product -Warning: Shuffle Join MERGEJOIN[1178][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 22' is a cross product +Warning: Shuffle Join MERGEJOIN[1449][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 5' is a cross product +Warning: Shuffle Join MERGEJOIN[1461][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[1451][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 13' is a cross product +Warning: Shuffle Join MERGEJOIN[1474][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 14' is a cross product +Warning: Shuffle Join MERGEJOIN[1453][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 18' is a cross product +Warning: Shuffle Join MERGEJOIN[1487][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 19' is a cross product PREHOOK: query: explain with cross_items as (select i_item_sk ss_item_sk @@ -222,840 +225,1128 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Map 1 <- Reducer 11 (BROADCAST_EDGE) -Map 46 <- Reducer 49 (BROADCAST_EDGE) -Map 64 <- Reducer 51 (BROADCAST_EDGE) -Map 65 <- Reducer 53 (BROADCAST_EDGE) -Map 66 <- Reducer 57 (BROADCAST_EDGE) -Map 67 <- Reducer 72 (BROADCAST_EDGE) -Map 73 <- Reducer 78 (BROADCAST_EDGE) -Map 79 <- Reducer 17 (BROADCAST_EDGE) -Map 80 <- Reducer 23 (BROADCAST_EDGE) -Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE) -Reducer 12 <- Map 10 (SIMPLE_EDGE), Map 79 (SIMPLE_EDGE) -Reducer 13 <- Map 24 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) -Reducer 14 <- Reducer 13 (ONE_TO_ONE_EDGE), Reducer 33 (SIMPLE_EDGE) -Reducer 15 <- Reducer 14 (SIMPLE_EDGE) -Reducer 16 <- Reducer 15 (CUSTOM_SIMPLE_EDGE), Reducer 60 (CUSTOM_SIMPLE_EDGE), Union 7 (CONTAINS) -Reducer 17 <- Map 10 (CUSTOM_SIMPLE_EDGE) -Reducer 18 <- Map 10 (SIMPLE_EDGE), Map 80 (SIMPLE_EDGE) -Reducer 19 <- Map 24 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 10 (SIMPLE_EDGE) -Reducer 20 <- Reducer 19 (ONE_TO_ONE_EDGE), Reducer 37 (SIMPLE_EDGE) -Reducer 21 <- Reducer 20 (SIMPLE_EDGE) -Reducer 22 <- Reducer 21 (CUSTOM_SIMPLE_EDGE), Reducer 63 (CUSTOM_SIMPLE_EDGE), Union 7 (CONTAINS) -Reducer 23 <- Map 10 (CUSTOM_SIMPLE_EDGE) -Reducer 25 <- Map 24 (SIMPLE_EDGE), Reducer 29 (ONE_TO_ONE_EDGE) -Reducer 26 <- Map 24 (SIMPLE_EDGE), Reducer 47 (SIMPLE_EDGE) -Reducer 27 <- Reducer 26 (SIMPLE_EDGE), Union 28 (CONTAINS) -Reducer 29 <- Union 28 (SIMPLE_EDGE) -Reducer 3 <- Map 24 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) -Reducer 30 <- Reducer 26 (SIMPLE_EDGE), Union 31 (CONTAINS) -Reducer 32 <- Union 31 (SIMPLE_EDGE) -Reducer 33 <- Map 24 (SIMPLE_EDGE), Reducer 32 (ONE_TO_ONE_EDGE) -Reducer 34 <- Reducer 26 (SIMPLE_EDGE), Union 35 (CONTAINS) -Reducer 36 <- Union 35 (SIMPLE_EDGE) -Reducer 37 <- Map 24 (SIMPLE_EDGE), Reducer 36 (ONE_TO_ONE_EDGE) -Reducer 38 <- Map 24 (SIMPLE_EDGE), Reducer 50 (SIMPLE_EDGE) -Reducer 39 <- Reducer 38 (SIMPLE_EDGE), Union 28 (CONTAINS) -Reducer 4 <- Reducer 25 (SIMPLE_EDGE), Reducer 3 (ONE_TO_ONE_EDGE) -Reducer 40 <- Reducer 38 (SIMPLE_EDGE), Union 31 (CONTAINS) -Reducer 41 <- Reducer 38 (SIMPLE_EDGE), Union 35 (CONTAINS) -Reducer 42 <- Map 24 (SIMPLE_EDGE), Reducer 52 (SIMPLE_EDGE) -Reducer 43 <- Reducer 42 (SIMPLE_EDGE), Union 28 (CONTAINS) -Reducer 44 <- Reducer 42 (SIMPLE_EDGE), Union 31 (CONTAINS) -Reducer 45 <- Reducer 42 (SIMPLE_EDGE), Union 35 (CONTAINS) -Reducer 47 <- Map 46 (SIMPLE_EDGE), Map 48 (SIMPLE_EDGE) -Reducer 49 <- Map 48 (CUSTOM_SIMPLE_EDGE) -Reducer 5 <- Reducer 4 (SIMPLE_EDGE) -Reducer 50 <- Map 48 (SIMPLE_EDGE), Map 64 (SIMPLE_EDGE) -Reducer 51 <- Map 48 (CUSTOM_SIMPLE_EDGE) -Reducer 52 <- Map 48 (SIMPLE_EDGE), Map 65 (SIMPLE_EDGE) -Reducer 53 <- Map 48 (CUSTOM_SIMPLE_EDGE) -Reducer 54 <- Map 48 (SIMPLE_EDGE), Map 66 (SIMPLE_EDGE), Union 55 (CONTAINS) -Reducer 56 <- Union 55 (CUSTOM_SIMPLE_EDGE) -Reducer 57 <- Map 48 (CUSTOM_SIMPLE_EDGE) -Reducer 58 <- Map 48 (SIMPLE_EDGE), Map 66 (SIMPLE_EDGE), Union 59 (CONTAINS) +Map 1 <- Reducer 99 (BROADCAST_EDGE) +Map 101 <- Reducer 96 (BROADCAST_EDGE) +Map 102 <- Reducer 98 (BROADCAST_EDGE) +Map 103 <- Reducer 63 (BROADCAST_EDGE) +Map 104 <- Reducer 68 (BROADCAST_EDGE) +Map 20 <- Reducer 25 (BROADCAST_EDGE) +Map 36 <- Reducer 41 (BROADCAST_EDGE) +Map 46 <- Reducer 100 (BROADCAST_EDGE) +Map 50 <- Reducer 29 (BROADCAST_EDGE) +Map 51 <- Reducer 43 (BROADCAST_EDGE) +Map 52 <- Reducer 58 (BROADCAST_EDGE) +Map 91 <- Reducer 94 (BROADCAST_EDGE) +Reducer 10 <- Map 1 (SIMPLE_EDGE), Map 93 (SIMPLE_EDGE), Union 11 (CONTAINS) +Reducer 100 <- Map 93 (CUSTOM_SIMPLE_EDGE) +Reducer 12 <- Union 11 (CUSTOM_SIMPLE_EDGE) +Reducer 13 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 32 (CUSTOM_SIMPLE_EDGE) +Reducer 14 <- Reducer 13 (CUSTOM_SIMPLE_EDGE), Reducer 62 (CUSTOM_SIMPLE_EDGE), Union 7 (CONTAINS) +Reducer 15 <- Map 1 (SIMPLE_EDGE), Map 93 (SIMPLE_EDGE), Union 16 (CONTAINS) +Reducer 17 <- Union 16 (CUSTOM_SIMPLE_EDGE) +Reducer 18 <- Reducer 17 (CUSTOM_SIMPLE_EDGE), Reducer 35 (CUSTOM_SIMPLE_EDGE) +Reducer 19 <- Reducer 18 (CUSTOM_SIMPLE_EDGE), Reducer 67 (CUSTOM_SIMPLE_EDGE), Union 7 (CONTAINS) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 93 (SIMPLE_EDGE), Union 3 (CONTAINS) +Reducer 21 <- Map 20 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE), Union 3 (CONTAINS) +Reducer 22 <- Map 20 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE), Union 11 (CONTAINS) +Reducer 23 <- Map 20 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE), Union 16 (CONTAINS) +Reducer 25 <- Map 24 (CUSTOM_SIMPLE_EDGE) +Reducer 26 <- Map 24 (SIMPLE_EDGE), Map 50 (SIMPLE_EDGE), Union 27 (CONTAINS) +Reducer 28 <- Union 27 (CUSTOM_SIMPLE_EDGE) +Reducer 29 <- Map 24 (CUSTOM_SIMPLE_EDGE) +Reducer 30 <- Map 24 (SIMPLE_EDGE), Map 50 (SIMPLE_EDGE), Union 31 (CONTAINS) +Reducer 32 <- Union 31 (CUSTOM_SIMPLE_EDGE) +Reducer 33 <- Map 24 (SIMPLE_EDGE), Map 50 (SIMPLE_EDGE), Union 34 (CONTAINS) +Reducer 35 <- Union 34 (CUSTOM_SIMPLE_EDGE) +Reducer 37 <- Map 36 (SIMPLE_EDGE), Map 40 (SIMPLE_EDGE), Union 3 (CONTAINS) +Reducer 38 <- Map 36 (SIMPLE_EDGE), Map 40 (SIMPLE_EDGE), Union 11 (CONTAINS) +Reducer 39 <- Map 36 (SIMPLE_EDGE), Map 40 (SIMPLE_EDGE), Union 16 (CONTAINS) +Reducer 4 <- Union 3 (CUSTOM_SIMPLE_EDGE) +Reducer 41 <- Map 40 (CUSTOM_SIMPLE_EDGE) +Reducer 42 <- Map 40 (SIMPLE_EDGE), Map 51 (SIMPLE_EDGE), Union 27 (CONTAINS) +Reducer 43 <- Map 40 (CUSTOM_SIMPLE_EDGE) +Reducer 44 <- Map 40 (SIMPLE_EDGE), Map 51 (SIMPLE_EDGE), Union 31 (CONTAINS) +Reducer 45 <- Map 40 (SIMPLE_EDGE), Map 51 (SIMPLE_EDGE), Union 34 (CONTAINS) +Reducer 47 <- Map 46 (SIMPLE_EDGE), Map 93 (SIMPLE_EDGE), Union 27 (CONTAINS) +Reducer 48 <- Map 46 (SIMPLE_EDGE), Map 93 (SIMPLE_EDGE), Union 31 (CONTAINS) +Reducer 49 <- Map 46 (SIMPLE_EDGE), Map 93 (SIMPLE_EDGE), Union 34 (CONTAINS) +Reducer 5 <- Reducer 28 (CUSTOM_SIMPLE_EDGE), Reducer 4 (CUSTOM_SIMPLE_EDGE) +Reducer 53 <- Map 52 (SIMPLE_EDGE), Map 57 (SIMPLE_EDGE) +Reducer 54 <- Map 69 (SIMPLE_EDGE), Reducer 53 (SIMPLE_EDGE) +Reducer 55 <- Reducer 54 (ONE_TO_ONE_EDGE), Reducer 70 (SIMPLE_EDGE) +Reducer 56 <- Reducer 55 (SIMPLE_EDGE) +Reducer 58 <- Map 57 (CUSTOM_SIMPLE_EDGE) +Reducer 59 <- Map 103 (SIMPLE_EDGE), Map 57 (SIMPLE_EDGE) Reducer 6 <- Reducer 5 (CUSTOM_SIMPLE_EDGE), Reducer 56 (CUSTOM_SIMPLE_EDGE), Union 7 (CONTAINS) -Reducer 60 <- Union 59 (CUSTOM_SIMPLE_EDGE) -Reducer 61 <- Map 48 (SIMPLE_EDGE), Map 66 (SIMPLE_EDGE), Union 62 (CONTAINS) -Reducer 63 <- Union 62 (CUSTOM_SIMPLE_EDGE) -Reducer 68 <- Map 67 (SIMPLE_EDGE), Map 71 (SIMPLE_EDGE), Union 55 (CONTAINS) -Reducer 69 <- Map 67 (SIMPLE_EDGE), Map 71 (SIMPLE_EDGE), Union 59 (CONTAINS) -Reducer 70 <- Map 67 (SIMPLE_EDGE), Map 71 (SIMPLE_EDGE), Union 62 (CONTAINS) -Reducer 72 <- Map 71 (CUSTOM_SIMPLE_EDGE) -Reducer 74 <- Map 73 (SIMPLE_EDGE), Map 77 (SIMPLE_EDGE), Union 55 (CONTAINS) -Reducer 75 <- Map 73 (SIMPLE_EDGE), Map 77 (SIMPLE_EDGE), Union 59 (CONTAINS) -Reducer 76 <- Map 73 (SIMPLE_EDGE), Map 77 (SIMPLE_EDGE), Union 62 (CONTAINS) -Reducer 78 <- Map 77 (CUSTOM_SIMPLE_EDGE) +Reducer 60 <- Map 69 (SIMPLE_EDGE), Reducer 59 (SIMPLE_EDGE) +Reducer 61 <- Reducer 60 (ONE_TO_ONE_EDGE), Reducer 78 (SIMPLE_EDGE) +Reducer 62 <- Reducer 61 (SIMPLE_EDGE) +Reducer 63 <- Map 57 (CUSTOM_SIMPLE_EDGE) +Reducer 64 <- Map 104 (SIMPLE_EDGE), Map 57 (SIMPLE_EDGE) +Reducer 65 <- Map 69 (SIMPLE_EDGE), Reducer 64 (SIMPLE_EDGE) +Reducer 66 <- Reducer 65 (ONE_TO_ONE_EDGE), Reducer 82 (SIMPLE_EDGE) +Reducer 67 <- Reducer 66 (SIMPLE_EDGE) +Reducer 68 <- Map 57 (CUSTOM_SIMPLE_EDGE) +Reducer 70 <- Map 69 (SIMPLE_EDGE), Reducer 74 (ONE_TO_ONE_EDGE) +Reducer 71 <- Map 69 (SIMPLE_EDGE), Reducer 92 (SIMPLE_EDGE) +Reducer 72 <- Reducer 71 (SIMPLE_EDGE), Union 73 (CONTAINS) +Reducer 74 <- Union 73 (SIMPLE_EDGE) +Reducer 75 <- Reducer 71 (SIMPLE_EDGE), Union 76 (CONTAINS) +Reducer 77 <- Union 76 (SIMPLE_EDGE) +Reducer 78 <- Map 69 (SIMPLE_EDGE), Reducer 77 (ONE_TO_ONE_EDGE) +Reducer 79 <- Reducer 71 (SIMPLE_EDGE), Union 80 (CONTAINS) Reducer 8 <- Union 7 (SIMPLE_EDGE) +Reducer 81 <- Union 80 (SIMPLE_EDGE) +Reducer 82 <- Map 69 (SIMPLE_EDGE), Reducer 81 (ONE_TO_ONE_EDGE) +Reducer 83 <- Map 69 (SIMPLE_EDGE), Reducer 95 (SIMPLE_EDGE) +Reducer 84 <- Reducer 83 (SIMPLE_EDGE), Union 73 (CONTAINS) +Reducer 85 <- Reducer 83 (SIMPLE_EDGE), Union 76 (CONTAINS) +Reducer 86 <- Reducer 83 (SIMPLE_EDGE), Union 80 (CONTAINS) +Reducer 87 <- Map 69 (SIMPLE_EDGE), Reducer 97 (SIMPLE_EDGE) +Reducer 88 <- Reducer 87 (SIMPLE_EDGE), Union 73 (CONTAINS) +Reducer 89 <- Reducer 87 (SIMPLE_EDGE), Union 76 (CONTAINS) Reducer 9 <- Reducer 8 (SIMPLE_EDGE) +Reducer 90 <- Reducer 87 (SIMPLE_EDGE), Union 80 (CONTAINS) +Reducer 92 <- Map 91 (SIMPLE_EDGE), Map 93 (SIMPLE_EDGE) +Reducer 94 <- Map 93 (CUSTOM_SIMPLE_EDGE) +Reducer 95 <- Map 101 (SIMPLE_EDGE), Map 93 (SIMPLE_EDGE) +Reducer 96 <- Map 93 (CUSTOM_SIMPLE_EDGE) +Reducer 97 <- Map 102 (SIMPLE_EDGE), Map 93 (SIMPLE_EDGE) +Reducer 98 <- Map 93 (CUSTOM_SIMPLE_EDGE) +Reducer 99 <- Map 93 (CUSTOM_SIMPLE_EDGE) Stage-0 Fetch Operator limit:100 Stage-1 Reducer 9 vectorized - File Output Operator [FS_1335] - Limit [LIM_1334] (rows=7 width=192) + File Output Operator [FS_1721] + Limit [LIM_1720] (rows=7 width=192) Number of rows:100 - Select Operator [SEL_1333] (rows=7 width=192) + Select Operator [SEL_1719] (rows=7 width=192) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] <-Reducer 8 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1332] - Select Operator [SEL_1331] (rows=7 width=192) + SHUFFLE [RS_1718] + Select Operator [SEL_1717] (rows=7 width=192) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Group By Operator [GBY_1330] (rows=7 width=200) + Group By Operator [GBY_1716] (rows=7 width=200) Output:["_col0","_col1","_col2","_col3","_col5","_col6"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4 <-Union 7 [SIMPLE_EDGE] - <-Reducer 16 [CONTAINS] - Reduce Output Operator [RS_1177] + <-Reducer 14 [CONTAINS] + Reduce Output Operator [RS_1480] PartitionCols:_col0, _col1, _col2, _col3, _col4 - Group By Operator [GBY_1176] (rows=7 width=200) + Group By Operator [GBY_1479] (rows=7 width=200) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col4)","sum(_col5)"],keys:_col0, _col1, _col2, _col3, 0L - Top N Key Operator [TNK_1175] (rows=3 width=221) + Top N Key Operator [TNK_1478] (rows=3 width=221) keys:_col0, _col1, _col2, _col3, 0L,sort order:+++++,top n:100 - Select Operator [SEL_1173] (rows=1 width=223) + Select Operator [SEL_1476] (rows=1 width=223) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_1172] (rows=1 width=244) - predicate:(_col3 > _col5) - Merge Join Operator [MERGEJOIN_1171] (rows=1 width=244) - Conds:(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - <-Reducer 15 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1346] - Group By Operator [GBY_1345] (rows=1 width=132) - Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 14 [SIMPLE_EDGE] - SHUFFLE [RS_241] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_240] (rows=1 width=132) - Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2 - Select Operator [SEL_238] (rows=1 width=128) - Output:["_col0","_col1","_col2","_col3"] - Merge Join Operator [MERGEJOIN_1159] (rows=1 width=128) - Conds:RS_235._col1=RS_236._col0(Left Semi),Output:["_col2","_col3","_col6","_col7","_col8"] - <-Reducer 13 [ONE_TO_ONE_EDGE] - FORWARD [RS_235] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1135] (rows=7790806 width=110) - Conds:RS_230._col1=RS_1317._col0(Inner),Output:["_col1","_col2","_col3","_col6","_col7","_col8"] - <-Map 24 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1317] - PartitionCols:_col0 - Select Operator [SEL_1308] (rows=462000 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1299] (rows=462000 width=15) - predicate:i_item_sk is not null - TableScan [TS_6] (rows=462000 width=15) - default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_brand_id","i_class_id","i_category_id"] - <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_230] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1134] (rows=7790806 width=98) - Conds:RS_1340._col0=RS_1279._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 10 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1279] - PartitionCols:_col0 - Select Operator [SEL_1276] (rows=50 width=4) + Filter Operator [FIL_1475] (rows=1 width=244) + predicate:(_col5 > _col1) + Merge Join Operator [MERGEJOIN_1474] (rows=1 width=244) + Conds:(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"] + <-Reducer 13 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_383] + Merge Join Operator [MERGEJOIN_1451] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1727] + Select Operator [SEL_1726] (rows=1 width=8) + Filter Operator [FIL_1725] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_1724] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_1723] (rows=1 width=8) + Group By Operator [GBY_1722] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Union 11 [CUSTOM_SIMPLE_EDGE] + <-Reducer 10 [CONTAINS] + Reduce Output Operator [RS_1473] + Group By Operator [GBY_1472] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1471] (rows=26270325 width=1) Output:["_col0"] - Filter Operator [FIL_1275] (rows=50 width=12) - predicate:((d_moy = 11) and (d_year = 2000) and d_date_sk is not null) - TableScan [TS_3] (rows=73049 width=12) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"] - <-Map 79 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1340] - PartitionCols:_col0 - Select Operator [SEL_1339] (rows=286549727 width=123) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1338] (rows=286549727 width=123) - predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_228_date_dim_d_date_sk_min) AND DynamicValue(RS_228_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_228_date_dim_d_date_sk_bloom_filter))) and cs_item_sk is not null and cs_sold_date_sk is not null) - TableScan [TS_143] (rows=287989836 width=123) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_quantity","cs_list_price"] - <-Reducer 17 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1337] - Group By Operator [GBY_1336] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1287] - Group By Operator [GBY_1284] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1280] (rows=50 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1276] - <-Reducer 33 [SIMPLE_EDGE] - SHUFFLE [RS_236] - PartitionCols:_col0 - Group By Operator [GBY_234] (rows=362 width=4) - Output:["_col0"],keys:_col0 - Merge Join Operator [MERGEJOIN_1142] (rows=724 width=4) - Conds:RS_1318._col1, _col2, _col3=RS_1344._col0, _col1, _col2(Inner),Output:["_col0"] - <-Map 24 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1318] - PartitionCols:_col1, _col2, _col3 - Select Operator [SEL_1309] (rows=458612 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1300] (rows=458612 width=15) - predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null) - Please refer to the previous TableScan [TS_6] - <-Reducer 32 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_1344] - PartitionCols:_col0, _col1, _col2 - Select Operator [SEL_1343] (rows=1 width=12) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1342] (rows=1 width=20) - predicate:(_col3 = 3L) - Group By Operator [GBY_1341] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Union 31 [SIMPLE_EDGE] - <-Reducer 30 [CONTAINS] vectorized - Reduce Output Operator [RS_1394] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1393] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1392] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 26 [SIMPLE_EDGE] - SHUFFLE [RS_172] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_28] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col5, _col6 - Merge Join Operator [MERGEJOIN_1125] (rows=14628613 width=11) - Conds:RS_24._col1=RS_1314._col0(Inner),Output:["_col4","_col5","_col6"] - <-Map 24 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1314] - PartitionCols:_col0 - Select Operator [SEL_1305] (rows=458612 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1296] (rows=458612 width=15) - predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null) - Please refer to the previous TableScan [TS_6] - <-Reducer 47 [SIMPLE_EDGE] - SHUFFLE [RS_24] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1124] (rows=14736682 width=4) - Conds:RS_1388._col0=RS_1366._col0(Inner),Output:["_col1"] - <-Map 48 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1366] - PartitionCols:_col0 - Select Operator [SEL_1365] (rows=1957 width=4) - Output:["_col0"] - Filter Operator [FIL_1364] (rows=1957 width=8) - predicate:(d_date_sk is not null and d_year BETWEEN 1999 AND 2001) - TableScan [TS_15] (rows=73049 width=8) - default@date_dim,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Map 46 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1388] - PartitionCols:_col0 - Select Operator [SEL_1387] (rows=550076554 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_1386] (rows=550076554 width=7) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_22_d1_d_date_sk_min) AND DynamicValue(RS_22_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_22_d1_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null) - TableScan [TS_12] (rows=575995635 width=7) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk"] - <-Reducer 49 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1385] - Group By Operator [GBY_1384] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 48 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_1380] - Group By Operator [GBY_1376] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1367] (rows=1957 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1365] - <-Reducer 40 [CONTAINS] vectorized - Reduce Output Operator [RS_1408] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1407] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1406] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 38 [SIMPLE_EDGE] - SHUFFLE [RS_192] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_48] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col5, _col6 - Merge Join Operator [MERGEJOIN_1127] (rows=7620440 width=11) - Conds:RS_44._col1=RS_1315._col0(Inner),Output:["_col4","_col5","_col6"] - <-Map 24 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1315] - PartitionCols:_col0 - Select Operator [SEL_1306] (rows=458612 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1297] (rows=458612 width=15) - predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null) - Please refer to the previous TableScan [TS_6] - <-Reducer 50 [SIMPLE_EDGE] - SHUFFLE [RS_44] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1126] (rows=7676736 width=4) - Conds:RS_1402._col0=RS_1368._col0(Inner),Output:["_col1"] - <-Map 48 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1368] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1365] - <-Map 64 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1402] - PartitionCols:_col0 - Select Operator [SEL_1401] (rows=286549727 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_1400] (rows=286549727 width=7) - predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_42_d2_d_date_sk_min) AND DynamicValue(RS_42_d2_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_42_d2_d_date_sk_bloom_filter))) and cs_item_sk is not null and cs_sold_date_sk is not null) - TableScan [TS_32] (rows=287989836 width=7) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk"] - <-Reducer 51 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1399] - Group By Operator [GBY_1398] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 48 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_1381] - Group By Operator [GBY_1377] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1369] (rows=1957 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1365] - <-Reducer 44 [CONTAINS] vectorized - Reduce Output Operator [RS_1422] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1421] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1420] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 42 [SIMPLE_EDGE] - SHUFFLE [RS_213] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_69] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col5, _col6 - Merge Join Operator [MERGEJOIN_1129] (rows=3828623 width=11) - Conds:RS_65._col1=RS_1316._col0(Inner),Output:["_col4","_col5","_col6"] - <-Map 24 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1316] - PartitionCols:_col0 - Select Operator [SEL_1307] (rows=458612 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1298] (rows=458612 width=15) - predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null) - Please refer to the previous TableScan [TS_6] - <-Reducer 52 [SIMPLE_EDGE] - SHUFFLE [RS_65] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1128] (rows=3856907 width=4) - Conds:RS_1416._col0=RS_1370._col0(Inner),Output:["_col1"] - <-Map 48 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1370] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1365] - <-Map 65 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1416] - PartitionCols:_col0 - Select Operator [SEL_1415] (rows=143966864 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_1414] (rows=143966864 width=7) - predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_63_d3_d_date_sk_min) AND DynamicValue(RS_63_d3_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_63_d3_d_date_sk_bloom_filter))) and ws_item_sk is not null and ws_sold_date_sk is not null) - TableScan [TS_53] (rows=144002668 width=7) - default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk"] - <-Reducer 53 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1413] - Group By Operator [GBY_1412] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 48 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_1382] - Group By Operator [GBY_1378] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1371] (rows=1957 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1365] - <-Reducer 60 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1349] - Select Operator [SEL_1348] (rows=1 width=112) - Output:["_col0"] - Group By Operator [GBY_1347] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] - <-Union 59 [CUSTOM_SIMPLE_EDGE] - <-Reducer 58 [CONTAINS] - Reduce Output Operator [RS_1232] - Group By Operator [GBY_1231] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1230] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1228] (rows=14736682 width=0) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1227] (rows=14736682 width=0) - Conds:RS_1431._col0=RS_1374._col0(Inner),Output:["_col1","_col2"] - <-Map 48 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1374] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1365] - <-Map 66 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1431] - PartitionCols:_col0 - Select Operator [SEL_1429] (rows=550076554 width=114) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1428] (rows=550076554 width=114) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_108_date_dim_d_date_sk_min) AND DynamicValue(RS_108_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_108_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null) - TableScan [TS_101] (rows=575995635 width=114) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_quantity","ss_list_price"] - <-Reducer 57 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1427] - Group By Operator [GBY_1426] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 48 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_1383] - Group By Operator [GBY_1379] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1373] (rows=1957 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1365] - <-Reducer 69 [CONTAINS] - Reduce Output Operator [RS_1250] - Group By Operator [GBY_1249] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1248] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1246] (rows=7676736 width=94) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1245] (rows=7676736 width=94) - Conds:RS_1446._col0=RS_1437._col0(Inner),Output:["_col1","_col2"] - <-Map 71 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1437] - PartitionCols:_col0 - Select Operator [SEL_1434] (rows=1957 width=4) - Output:["_col0"] - Filter Operator [FIL_1433] (rows=1957 width=8) - predicate:(d_date_sk is not null and d_year BETWEEN 1998 AND 2000) - TableScan [TS_114] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Map 67 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1446] - PartitionCols:_col0 - Select Operator [SEL_1444] (rows=286549727 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1443] (rows=286549727 width=119) - predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_118_date_dim_d_date_sk_min) AND DynamicValue(RS_118_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_118_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null) - TableScan [TS_111] (rows=287989836 width=119) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_quantity","cs_list_price"] - <-Reducer 72 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1442] - Group By Operator [GBY_1441] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 71 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1440] - Group By Operator [GBY_1439] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1436] (rows=1957 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1434] - <-Reducer 75 [CONTAINS] - Reduce Output Operator [RS_1268] - Group By Operator [GBY_1267] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1266] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1264] (rows=3856907 width=114) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1263] (rows=3856907 width=114) - Conds:RS_1461._col0=RS_1452._col0(Inner),Output:["_col1","_col2"] - <-Map 77 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1452] - PartitionCols:_col0 - Select Operator [SEL_1449] (rows=1957 width=4) - Output:["_col0"] - Filter Operator [FIL_1448] (rows=1957 width=8) - predicate:(d_date_sk is not null and d_year BETWEEN 1998 AND 2000) - TableScan [TS_125] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Map 73 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1461] + Select Operator [SEL_1469] (rows=14736682 width=0) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1468] (rows=14736682 width=0) + Conds:RS_1651._col0=RS_1632._col0(Inner),Output:["_col1"] + <-Map 93 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1632] + PartitionCols:_col0 + Select Operator [SEL_1621] (rows=1957 width=4) + Output:["_col0"] + Filter Operator [FIL_1620] (rows=1957 width=8) + predicate:(d_date_sk is not null and d_year BETWEEN 1999 AND 2001) + TableScan [TS_99] (rows=73049 width=8) + default@date_dim,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1651] + PartitionCols:_col0 + Select Operator [SEL_1649] (rows=550076554 width=7) + Output:["_col0","_col1"] + Filter Operator [FIL_1648] (rows=550076554 width=7) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_7_date_dim_d_date_sk_min) AND DynamicValue(RS_7_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_7_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null) + TableScan [TS_0] (rows=575995635 width=7) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_quantity"] + <-Reducer 99 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1647] + Group By Operator [GBY_1646] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 93 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1644] + Group By Operator [GBY_1639] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1629] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1621] + <-Reducer 22 [CONTAINS] + Reduce Output Operator [RS_1505] + Group By Operator [GBY_1504] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1503] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1501] (rows=7676736 width=3) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1500] (rows=7676736 width=3) + Conds:RS_1785._col0=RS_1772._col0(Inner),Output:["_col1"] + <-Map 24 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1772] + PartitionCols:_col0 + Select Operator [SEL_1767] (rows=1957 width=4) + Output:["_col0"] + Filter Operator [FIL_1766] (rows=1957 width=8) + predicate:(d_date_sk is not null and d_year BETWEEN 1998 AND 2000) + TableScan [TS_13] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Map 20 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1785] + PartitionCols:_col0 + Select Operator [SEL_1783] (rows=286549727 width=7) + Output:["_col0","_col1"] + Filter Operator [FIL_1782] (rows=286549727 width=7) + predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_17_date_dim_d_date_sk_min) AND DynamicValue(RS_17_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_17_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null) + TableScan [TS_10] (rows=287989836 width=7) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_quantity"] + <-Reducer 25 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1781] + Group By Operator [GBY_1780] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 24 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_1778] + Group By Operator [GBY_1776] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1769] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1767] + <-Reducer 38 [CONTAINS] + Reduce Output Operator [RS_1541] + Group By Operator [GBY_1540] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1539] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1537] (rows=3856907 width=3) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1536] (rows=3856907 width=3) + Conds:RS_1813._col0=RS_1800._col0(Inner),Output:["_col1"] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1800] + PartitionCols:_col0 + Select Operator [SEL_1795] (rows=1957 width=4) + Output:["_col0"] + Filter Operator [FIL_1794] (rows=1957 width=8) + predicate:(d_date_sk is not null and d_year BETWEEN 1998 AND 2000) + TableScan [TS_24] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Map 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1813] + PartitionCols:_col0 + Select Operator [SEL_1811] (rows=143966864 width=7) + Output:["_col0","_col1"] + Filter Operator [FIL_1810] (rows=143966864 width=7) + predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_28_date_dim_d_date_sk_min) AND DynamicValue(RS_28_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_28_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null) + TableScan [TS_21] (rows=144002668 width=7) + default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_quantity"] + <-Reducer 41 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1809] + Group By Operator [GBY_1808] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 40 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_1806] + Group By Operator [GBY_1804] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1797] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1795] + <-Reducer 32 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1731] + Select Operator [SEL_1730] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_1729] (rows=1 width=120) + predicate:(_col0 is not null and _col1 is not null) + Group By Operator [GBY_1728] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] + <-Union 31 [CUSTOM_SIMPLE_EDGE] + <-Reducer 30 [CONTAINS] + Reduce Output Operator [RS_1523] + Group By Operator [GBY_1522] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1521] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1519] (rows=7676736 width=94) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1518] (rows=7676736 width=94) + Conds:RS_1792._col0=RS_1773._col0(Inner),Output:["_col1","_col2"] + <-Map 24 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1773] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1767] + <-Map 50 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1792] + PartitionCols:_col0 + Select Operator [SEL_1790] (rows=286549727 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1789] (rows=286549727 width=119) + predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_62_date_dim_d_date_sk_min) AND DynamicValue(RS_62_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_62_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null) + TableScan [TS_55] (rows=287989836 width=119) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_quantity","cs_list_price"] + <-Reducer 29 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1788] + Group By Operator [GBY_1787] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 24 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_1779] + Group By Operator [GBY_1777] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1771] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1767] + <-Reducer 44 [CONTAINS] + Reduce Output Operator [RS_1559] + Group By Operator [GBY_1558] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1557] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1555] (rows=3856907 width=114) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1554] (rows=3856907 width=114) + Conds:RS_1820._col0=RS_1801._col0(Inner),Output:["_col1","_col2"] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1801] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1795] + <-Map 51 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1820] + PartitionCols:_col0 + Select Operator [SEL_1818] (rows=143966864 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1817] (rows=143966864 width=119) + predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_73_date_dim_d_date_sk_min) AND DynamicValue(RS_73_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_73_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null) + TableScan [TS_66] (rows=144002668 width=119) + default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_quantity","ws_list_price"] + <-Reducer 43 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1816] + Group By Operator [GBY_1815] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 40 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_1807] + Group By Operator [GBY_1805] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1799] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1795] + <-Reducer 48 [CONTAINS] + Reduce Output Operator [RS_1577] + Group By Operator [GBY_1576] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1575] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1573] (rows=14736682 width=0) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1572] (rows=14736682 width=0) + Conds:RS_1827._col0=RS_1633._col0(Inner),Output:["_col1","_col2"] + <-Map 93 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1633] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1621] + <-Map 46 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1827] + PartitionCols:_col0 + Select Operator [SEL_1825] (rows=550076554 width=114) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1824] (rows=550076554 width=114) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_52_date_dim_d_date_sk_min) AND DynamicValue(RS_52_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_52_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null) + TableScan [TS_45] (rows=575995635 width=114) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_quantity","ss_list_price"] + <-Reducer 100 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1823] + Group By Operator [GBY_1822] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 93 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1645] + Group By Operator [GBY_1640] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1631] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1621] + <-Reducer 62 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1743] + Filter Operator [FIL_1742] (rows=1 width=132) + predicate:_col3 is not null + Group By Operator [GBY_1741] (rows=1 width=132) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 61 [SIMPLE_EDGE] + SHUFFLE [RS_376] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_375] (rows=1 width=132) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2 + Select Operator [SEL_373] (rows=1 width=128) + Output:["_col0","_col1","_col2","_col3"] + Merge Join Operator [MERGEJOIN_1447] (rows=1 width=128) + Conds:RS_370._col1=RS_371._col0(Left Semi),Output:["_col2","_col3","_col6","_col7","_col8"] + <-Reducer 60 [ONE_TO_ONE_EDGE] + FORWARD [RS_370] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1423] (rows=7790806 width=110) + Conds:RS_365._col1=RS_1705._col0(Inner),Output:["_col1","_col2","_col3","_col6","_col7","_col8"] + <-Map 69 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1705] PartitionCols:_col0 - Select Operator [SEL_1459] (rows=143966864 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1458] (rows=143966864 width=119) - predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_129_date_dim_d_date_sk_min) AND DynamicValue(RS_129_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_129_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null) - TableScan [TS_122] (rows=144002668 width=119) - default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_quantity","ws_list_price"] - <-Reducer 78 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1457] - Group By Operator [GBY_1456] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 77 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1455] - Group By Operator [GBY_1454] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1451] (rows=1957 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1449] - <-Reducer 22 [CONTAINS] - Reduce Output Operator [RS_1184] + Select Operator [SEL_1696] (rows=462000 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1687] (rows=462000 width=15) + predicate:i_item_sk is not null + TableScan [TS_90] (rows=462000 width=15) + default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_brand_id","i_class_id","i_category_id"] + <-Reducer 59 [SIMPLE_EDGE] + SHUFFLE [RS_365] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1422] (rows=7790806 width=98) + Conds:RS_1736._col0=RS_1667._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 57 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1667] + PartitionCols:_col0 + Select Operator [SEL_1664] (rows=50 width=4) + Output:["_col0"] + Filter Operator [FIL_1663] (rows=50 width=12) + predicate:((d_moy = 11) and (d_year = 2000) and d_date_sk is not null) + TableScan [TS_87] (rows=73049 width=12) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"] + <-Map 103 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1736] + PartitionCols:_col0 + Select Operator [SEL_1735] (rows=286549727 width=123) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1734] (rows=286549727 width=123) + predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_363_date_dim_d_date_sk_min) AND DynamicValue(RS_363_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_363_date_dim_d_date_sk_bloom_filter))) and cs_item_sk is not null and cs_sold_date_sk is not null) + TableScan [TS_278] (rows=287989836 width=123) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_quantity","cs_list_price"] + <-Reducer 63 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1733] + Group By Operator [GBY_1732] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 57 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1675] + Group By Operator [GBY_1672] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1668] (rows=50 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1664] + <-Reducer 78 [SIMPLE_EDGE] + SHUFFLE [RS_371] + PartitionCols:_col0 + Group By Operator [GBY_369] (rows=362 width=4) + Output:["_col0"],keys:_col0 + Merge Join Operator [MERGEJOIN_1430] (rows=724 width=4) + Conds:RS_1706._col1, _col2, _col3=RS_1740._col0, _col1, _col2(Inner),Output:["_col0"] + <-Map 69 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1706] + PartitionCols:_col1, _col2, _col3 + Select Operator [SEL_1697] (rows=458612 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1688] (rows=458612 width=15) + predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null) + Please refer to the previous TableScan [TS_90] + <-Reducer 77 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_1740] + PartitionCols:_col0, _col1, _col2 + Select Operator [SEL_1739] (rows=1 width=12) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1738] (rows=1 width=20) + predicate:(_col3 = 3L) + Group By Operator [GBY_1737] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Union 76 [SIMPLE_EDGE] + <-Reducer 75 [CONTAINS] vectorized + Reduce Output Operator [RS_1839] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1838] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1837] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 71 [SIMPLE_EDGE] + SHUFFLE [RS_307] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_112] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col5, _col6 + Merge Join Operator [MERGEJOIN_1410] (rows=14628613 width=11) + Conds:RS_108._col1=RS_1702._col0(Inner),Output:["_col4","_col5","_col6"] + <-Map 69 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1702] + PartitionCols:_col0 + Select Operator [SEL_1693] (rows=458612 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1684] (rows=458612 width=15) + predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null) + Please refer to the previous TableScan [TS_90] + <-Reducer 92 [SIMPLE_EDGE] + SHUFFLE [RS_108] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1409] (rows=14736682 width=4) + Conds:RS_1833._col0=RS_1622._col0(Inner),Output:["_col1"] + <-Map 93 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1622] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1621] + <-Map 91 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1833] + PartitionCols:_col0 + Select Operator [SEL_1832] (rows=550076554 width=7) + Output:["_col0","_col1"] + Filter Operator [FIL_1831] (rows=550076554 width=7) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_106_d1_d_date_sk_min) AND DynamicValue(RS_106_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_106_d1_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null) + TableScan [TS_96] (rows=575995635 width=7) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk"] + <-Reducer 94 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1830] + Group By Operator [GBY_1829] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 93 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1641] + Group By Operator [GBY_1636] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1623] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1621] + <-Reducer 85 [CONTAINS] vectorized + Reduce Output Operator [RS_1853] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1852] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1851] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 83 [SIMPLE_EDGE] + SHUFFLE [RS_327] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_132] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col5, _col6 + Merge Join Operator [MERGEJOIN_1412] (rows=7620440 width=11) + Conds:RS_128._col1=RS_1703._col0(Inner),Output:["_col4","_col5","_col6"] + <-Map 69 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1703] + PartitionCols:_col0 + Select Operator [SEL_1694] (rows=458612 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1685] (rows=458612 width=15) + predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null) + Please refer to the previous TableScan [TS_90] + <-Reducer 95 [SIMPLE_EDGE] + SHUFFLE [RS_128] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1411] (rows=7676736 width=4) + Conds:RS_1847._col0=RS_1624._col0(Inner),Output:["_col1"] + <-Map 93 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1624] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1621] + <-Map 101 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1847] + PartitionCols:_col0 + Select Operator [SEL_1846] (rows=286549727 width=7) + Output:["_col0","_col1"] + Filter Operator [FIL_1845] (rows=286549727 width=7) + predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_126_d2_d_date_sk_min) AND DynamicValue(RS_126_d2_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_126_d2_d_date_sk_bloom_filter))) and cs_item_sk is not null and cs_sold_date_sk is not null) + TableScan [TS_116] (rows=287989836 width=7) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk"] + <-Reducer 96 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1844] + Group By Operator [GBY_1843] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 93 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1642] + Group By Operator [GBY_1637] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1625] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1621] + <-Reducer 89 [CONTAINS] vectorized + Reduce Output Operator [RS_1867] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1866] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1865] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 87 [SIMPLE_EDGE] + SHUFFLE [RS_348] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_153] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col5, _col6 + Merge Join Operator [MERGEJOIN_1414] (rows=3828623 width=11) + Conds:RS_149._col1=RS_1704._col0(Inner),Output:["_col4","_col5","_col6"] + <-Map 69 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1704] + PartitionCols:_col0 + Select Operator [SEL_1695] (rows=458612 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1686] (rows=458612 width=15) + predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null) + Please refer to the previous TableScan [TS_90] + <-Reducer 97 [SIMPLE_EDGE] + SHUFFLE [RS_149] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1413] (rows=3856907 width=4) + Conds:RS_1861._col0=RS_1626._col0(Inner),Output:["_col1"] + <-Map 93 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1626] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1621] + <-Map 102 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1861] + PartitionCols:_col0 + Select Operator [SEL_1860] (rows=143966864 width=7) + Output:["_col0","_col1"] + Filter Operator [FIL_1859] (rows=143966864 width=7) + predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_147_d3_d_date_sk_min) AND DynamicValue(RS_147_d3_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_147_d3_d_date_sk_bloom_filter))) and ws_item_sk is not null and ws_sold_date_sk is not null) + TableScan [TS_137] (rows=144002668 width=7) + default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk"] + <-Reducer 98 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1858] + Group By Operator [GBY_1857] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 93 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1643] + Group By Operator [GBY_1638] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1627] (rows=1957 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1621] + <-Reducer 19 [CONTAINS] + Reduce Output Operator [RS_1493] PartitionCols:_col0, _col1, _col2, _col3, _col4 - Group By Operator [GBY_1183] (rows=7 width=200) + Group By Operator [GBY_1492] (rows=7 width=200) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col4)","sum(_col5)"],keys:_col0, _col1, _col2, _col3, 0L - Top N Key Operator [TNK_1182] (rows=3 width=221) + Top N Key Operator [TNK_1491] (rows=3 width=221) keys:_col0, _col1, _col2, _col3, 0L,sort order:+++++,top n:100 - Select Operator [SEL_1180] (rows=1 width=219) + Select Operator [SEL_1489] (rows=1 width=219) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_1179] (rows=1 width=244) - predicate:(_col3 > _col5) - Merge Join Operator [MERGEJOIN_1178] (rows=1 width=244) - Conds:(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - <-Reducer 21 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1360] - Group By Operator [GBY_1359] (rows=1 width=132) - Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 20 [SIMPLE_EDGE] - SHUFFLE [RS_385] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_384] (rows=1 width=132) - Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2 - Select Operator [SEL_382] (rows=1 width=128) - Output:["_col0","_col1","_col2","_col3"] - Merge Join Operator [MERGEJOIN_1160] (rows=1 width=128) - Conds:RS_379._col1=RS_380._col0(Left Semi),Output:["_col2","_col3","_col6","_col7","_col8"] - <-Reducer 19 [ONE_TO_ONE_EDGE] - FORWARD [RS_379] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1147] (rows=3942084 width=130) - Conds:RS_374._col1=RS_1319._col0(Inner),Output:["_col1","_col2","_col3","_col6","_col7","_col8"] - <-Map 24 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1319] - PartitionCols:_col0 - Select Operator [SEL_1310] (rows=462000 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1301] (rows=462000 width=15) - predicate:i_item_sk is not null - Please refer to the previous TableScan [TS_6] - <-Reducer 18 [SIMPLE_EDGE] - SHUFFLE [RS_374] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1146] (rows=3942084 width=118) - Conds:RS_1354._col0=RS_1281._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 10 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1281] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1276] - <-Map 80 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1354] - PartitionCols:_col0 - Select Operator [SEL_1353] (rows=143966864 width=123) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1352] (rows=143966864 width=123) - predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_372_date_dim_d_date_sk_min) AND DynamicValue(RS_372_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_372_date_dim_d_date_sk_bloom_filter))) and ws_item_sk is not null and ws_sold_date_sk is not null) - TableScan [TS_287] (rows=144002668 width=123) - default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_quantity","ws_list_price"] - <-Reducer 23 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1351] - Group By Operator [GBY_1350] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1288] - Group By Operator [GBY_1285] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1282] (rows=50 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1276] - <-Reducer 37 [SIMPLE_EDGE] - SHUFFLE [RS_380] - PartitionCols:_col0 - Group By Operator [GBY_378] (rows=362 width=4) - Output:["_col0"],keys:_col0 - Merge Join Operator [MERGEJOIN_1154] (rows=724 width=4) - Conds:RS_1320._col1, _col2, _col3=RS_1358._col0, _col1, _col2(Inner),Output:["_col0"] - <-Map 24 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1320] - PartitionCols:_col1, _col2, _col3 - Select Operator [SEL_1311] (rows=458612 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1302] (rows=458612 width=15) - predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null) - Please refer to the previous TableScan [TS_6] - <-Reducer 36 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_1358] - PartitionCols:_col0, _col1, _col2 - Select Operator [SEL_1357] (rows=1 width=12) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1356] (rows=1 width=20) - predicate:(_col3 = 3L) - Group By Operator [GBY_1355] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Union 35 [SIMPLE_EDGE] - <-Reducer 34 [CONTAINS] vectorized - Reduce Output Operator [RS_1397] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1396] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1395] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 26 [SIMPLE_EDGE] - SHUFFLE [RS_316] - PartitionCols:_col0, _col1, _col2 - Please refer to the previous Group By Operator [GBY_28] - <-Reducer 41 [CONTAINS] vectorized - Reduce Output Operator [RS_1411] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1410] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1409] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 38 [SIMPLE_EDGE] - SHUFFLE [RS_336] - PartitionCols:_col0, _col1, _col2 - Please refer to the previous Group By Operator [GBY_48] - <-Reducer 45 [CONTAINS] vectorized - Reduce Output Operator [RS_1425] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1424] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1423] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 42 [SIMPLE_EDGE] - SHUFFLE [RS_357] - PartitionCols:_col0, _col1, _col2 - Please refer to the previous Group By Operator [GBY_69] - <-Reducer 63 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1363] - Select Operator [SEL_1362] (rows=1 width=112) - Output:["_col0"] - Group By Operator [GBY_1361] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] - <-Union 62 [CUSTOM_SIMPLE_EDGE] - <-Reducer 61 [CONTAINS] - Reduce Output Operator [RS_1238] - Group By Operator [GBY_1237] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1236] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1234] (rows=14736682 width=0) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1233] (rows=14736682 width=0) - Conds:RS_1432._col0=RS_1375._col0(Inner),Output:["_col1","_col2"] - <-Map 48 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1375] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1365] - <-Map 66 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1432] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1429] - <-Reducer 70 [CONTAINS] - Reduce Output Operator [RS_1256] - Group By Operator [GBY_1255] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1254] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1252] (rows=7676736 width=94) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1251] (rows=7676736 width=94) - Conds:RS_1447._col0=RS_1438._col0(Inner),Output:["_col1","_col2"] - <-Map 71 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1438] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1434] - <-Map 67 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1447] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1444] - <-Reducer 76 [CONTAINS] - Reduce Output Operator [RS_1274] - Group By Operator [GBY_1273] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1272] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1270] (rows=3856907 width=114) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1269] (rows=3856907 width=114) - Conds:RS_1462._col0=RS_1453._col0(Inner),Output:["_col1","_col2"] - <-Map 77 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1453] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1449] - <-Map 73 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1462] + Filter Operator [FIL_1488] (rows=1 width=244) + predicate:(_col5 > _col1) + Merge Join Operator [MERGEJOIN_1487] (rows=1 width=244) + Conds:(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"] + <-Reducer 18 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_578] + Merge Join Operator [MERGEJOIN_1453] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1749] + Select Operator [SEL_1748] (rows=1 width=8) + Filter Operator [FIL_1747] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_1746] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_1745] (rows=1 width=8) + Group By Operator [GBY_1744] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Union 16 [CUSTOM_SIMPLE_EDGE] + <-Reducer 15 [CONTAINS] + Reduce Output Operator [RS_1486] + Group By Operator [GBY_1485] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1484] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1482] (rows=14736682 width=0) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1481] (rows=14736682 width=0) + Conds:RS_1652._col0=RS_1634._col0(Inner),Output:["_col1"] + <-Map 93 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1634] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1621] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1652] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1649] + <-Reducer 23 [CONTAINS] + Reduce Output Operator [RS_1511] + Group By Operator [GBY_1510] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1509] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1507] (rows=7676736 width=3) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1506] (rows=7676736 width=3) + Conds:RS_1786._col0=RS_1774._col0(Inner),Output:["_col1"] + <-Map 24 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1774] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1767] + <-Map 20 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1786] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1783] + <-Reducer 39 [CONTAINS] + Reduce Output Operator [RS_1547] + Group By Operator [GBY_1546] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1545] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1543] (rows=3856907 width=3) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1542] (rows=3856907 width=3) + Conds:RS_1814._col0=RS_1802._col0(Inner),Output:["_col1"] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1802] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1795] + <-Map 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1814] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1811] + <-Reducer 35 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1753] + Select Operator [SEL_1752] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_1751] (rows=1 width=120) + predicate:(_col0 is not null and _col1 is not null) + Group By Operator [GBY_1750] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] + <-Union 34 [CUSTOM_SIMPLE_EDGE] + <-Reducer 33 [CONTAINS] + Reduce Output Operator [RS_1529] + Group By Operator [GBY_1528] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1527] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1525] (rows=7676736 width=94) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1524] (rows=7676736 width=94) + Conds:RS_1793._col0=RS_1775._col0(Inner),Output:["_col1","_col2"] + <-Map 24 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1775] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1767] + <-Map 50 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1793] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1790] + <-Reducer 45 [CONTAINS] + Reduce Output Operator [RS_1565] + Group By Operator [GBY_1564] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1563] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1561] (rows=3856907 width=114) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1560] (rows=3856907 width=114) + Conds:RS_1821._col0=RS_1803._col0(Inner),Output:["_col1","_col2"] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1803] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1795] + <-Map 51 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1821] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1818] + <-Reducer 49 [CONTAINS] + Reduce Output Operator [RS_1583] + Group By Operator [GBY_1582] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1581] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1579] (rows=14736682 width=0) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1578] (rows=14736682 width=0) + Conds:RS_1828._col0=RS_1635._col0(Inner),Output:["_col1","_col2"] + <-Map 93 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1635] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1621] + <-Map 46 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1828] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1825] + <-Reducer 67 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1765] + Filter Operator [FIL_1764] (rows=1 width=132) + predicate:_col3 is not null + Group By Operator [GBY_1763] (rows=1 width=132) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 66 [SIMPLE_EDGE] + SHUFFLE [RS_571] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_570] (rows=1 width=132) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2 + Select Operator [SEL_568] (rows=1 width=128) + Output:["_col0","_col1","_col2","_col3"] + Merge Join Operator [MERGEJOIN_1448] (rows=1 width=128) + Conds:RS_565._col1=RS_566._col0(Left Semi),Output:["_col2","_col3","_col6","_col7","_col8"] + <-Reducer 65 [ONE_TO_ONE_EDGE] + FORWARD [RS_565] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1438] (rows=3942084 width=130) + Conds:RS_560._col1=RS_1707._col0(Inner),Output:["_col1","_col2","_col3","_col6","_col7","_col8"] + <-Map 69 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1707] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1459] + Select Operator [SEL_1698] (rows=462000 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1689] (rows=462000 width=15) + predicate:i_item_sk is not null + Please refer to the previous TableScan [TS_90] + <-Reducer 64 [SIMPLE_EDGE] + SHUFFLE [RS_560] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1437] (rows=3942084 width=118) + Conds:RS_1758._col0=RS_1669._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 57 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1669] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1664] + <-Map 104 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1758] + PartitionCols:_col0 + Select Operator [SEL_1757] (rows=143966864 width=123) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1756] (rows=143966864 width=123) + predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_558_date_dim_d_date_sk_min) AND DynamicValue(RS_558_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_558_date_dim_d_date_sk_bloom_filter))) and ws_item_sk is not null and ws_sold_date_sk is not null) + TableScan [TS_473] (rows=144002668 width=123) + default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_quantity","ws_list_price"] + <-Reducer 68 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1755] + Group By Operator [GBY_1754] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 57 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1676] + Group By Operator [GBY_1673] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1670] (rows=50 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1664] + <-Reducer 82 [SIMPLE_EDGE] + SHUFFLE [RS_566] + PartitionCols:_col0 + Group By Operator [GBY_564] (rows=362 width=4) + Output:["_col0"],keys:_col0 + Merge Join Operator [MERGEJOIN_1445] (rows=724 width=4) + Conds:RS_1708._col1, _col2, _col3=RS_1762._col0, _col1, _col2(Inner),Output:["_col0"] + <-Map 69 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1708] + PartitionCols:_col1, _col2, _col3 + Select Operator [SEL_1699] (rows=458612 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1690] (rows=458612 width=15) + predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null) + Please refer to the previous TableScan [TS_90] + <-Reducer 81 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_1762] + PartitionCols:_col0, _col1, _col2 + Select Operator [SEL_1761] (rows=1 width=12) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1760] (rows=1 width=20) + predicate:(_col3 = 3L) + Group By Operator [GBY_1759] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Union 80 [SIMPLE_EDGE] + <-Reducer 79 [CONTAINS] vectorized + Reduce Output Operator [RS_1842] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1841] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1840] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 71 [SIMPLE_EDGE] + SHUFFLE [RS_502] + PartitionCols:_col0, _col1, _col2 + Please refer to the previous Group By Operator [GBY_112] + <-Reducer 86 [CONTAINS] vectorized + Reduce Output Operator [RS_1856] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1855] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1854] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 83 [SIMPLE_EDGE] + SHUFFLE [RS_522] + PartitionCols:_col0, _col1, _col2 + Please refer to the previous Group By Operator [GBY_132] + <-Reducer 90 [CONTAINS] vectorized + Reduce Output Operator [RS_1870] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1869] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1868] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 87 [SIMPLE_EDGE] + SHUFFLE [RS_543] + PartitionCols:_col0, _col1, _col2 + Please refer to the previous Group By Operator [GBY_153] <-Reducer 6 [CONTAINS] - Reduce Output Operator [RS_1170] + Reduce Output Operator [RS_1467] PartitionCols:_col0, _col1, _col2, _col3, _col4 - Group By Operator [GBY_1169] (rows=7 width=200) + Group By Operator [GBY_1466] (rows=7 width=200) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col4)","sum(_col5)"],keys:_col0, _col1, _col2, _col3, 0L - Top N Key Operator [TNK_1168] (rows=3 width=221) + Top N Key Operator [TNK_1465] (rows=3 width=221) keys:_col0, _col1, _col2, _col3, 0L,sort order:+++++,top n:100 - Select Operator [SEL_1166] (rows=1 width=221) + Select Operator [SEL_1463] (rows=1 width=221) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_1165] (rows=1 width=244) - predicate:(_col3 > _col5) - Merge Join Operator [MERGEJOIN_1164] (rows=1 width=244) - Conds:(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - <-Reducer 5 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1326] - Group By Operator [GBY_1325] (rows=1 width=132) - Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_98] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_97] (rows=1 width=132) - Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2 - Select Operator [SEL_95] (rows=1 width=128) - Output:["_col0","_col1","_col2","_col3"] - Merge Join Operator [MERGEJOIN_1158] (rows=1 width=128) - Conds:RS_92._col1=RS_93._col0(Left Semi),Output:["_col2","_col3","_col6","_col7","_col8"] - <-Reducer 25 [SIMPLE_EDGE] - SHUFFLE [RS_93] - PartitionCols:_col0 - Group By Operator [GBY_91] (rows=362 width=4) - Output:["_col0"],keys:_col0 - Merge Join Operator [MERGEJOIN_1130] (rows=724 width=4) - Conds:RS_1313._col1, _col2, _col3=RS_1324._col0, _col1, _col2(Inner),Output:["_col0"] - <-Map 24 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1313] - PartitionCols:_col1, _col2, _col3 - Select Operator [SEL_1304] (rows=458612 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1295] (rows=458612 width=15) - predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null) - Please refer to the previous TableScan [TS_6] - <-Reducer 29 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_1324] - PartitionCols:_col0, _col1, _col2 - Select Operator [SEL_1323] (rows=1 width=12) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1322] (rows=1 width=20) - predicate:(_col3 = 3L) - Group By Operator [GBY_1321] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Union 28 [SIMPLE_EDGE] - <-Reducer 27 [CONTAINS] vectorized - Reduce Output Operator [RS_1391] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1390] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1389] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 26 [SIMPLE_EDGE] - SHUFFLE [RS_29] - PartitionCols:_col0, _col1, _col2 - Please refer to the previous Group By Operator [GBY_28] - <-Reducer 39 [CONTAINS] vectorized - Reduce Output Operator [RS_1405] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1404] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1403] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 38 [SIMPLE_EDGE] - SHUFFLE [RS_49] - PartitionCols:_col0, _col1, _col2 - Please refer to the previous Group By Operator [GBY_48] - <-Reducer 43 [CONTAINS] vectorized - Reduce Output Operator [RS_1419] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_1418] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 - Group By Operator [GBY_1417] (rows=121728 width=19) - Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 42 [SIMPLE_EDGE] - SHUFFLE [RS_70] - PartitionCols:_col0, _col1, _col2 - Please refer to the previous Group By Operator [GBY_69] - <-Reducer 3 [ONE_TO_ONE_EDGE] - FORWARD [RS_92] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1123] (rows=15062131 width=15) - Conds:RS_87._col1=RS_1312._col0(Inner),Output:["_col1","_col2","_col3","_col6","_col7","_col8"] - <-Map 24 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1312] - PartitionCols:_col0 - Select Operator [SEL_1303] (rows=462000 width=15) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1294] (rows=462000 width=15) - predicate:i_item_sk is not null - Please refer to the previous TableScan [TS_6] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_87] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1122] (rows=15062131 width=4) - Conds:RS_1293._col0=RS_1277._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 10 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1277] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1276] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1293] - PartitionCols:_col0 - Select Operator [SEL_1292] (rows=550076554 width=118) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_1291] (rows=550076554 width=118) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_85_date_dim_d_date_sk_min) AND DynamicValue(RS_85_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_85_date_dim_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null) - TableScan [TS_0] (rows=575995635 width=118) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_quantity","ss_list_price"] - <-Reducer 11 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1290] - Group By Operator [GBY_1289] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1286] - Group By Operator [GBY_1283] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1278] (rows=50 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1276] + Filter Operator [FIL_1462] (rows=1 width=244) + predicate:(_col5 > _col1) + Merge Join Operator [MERGEJOIN_1461] (rows=1 width=244) + Conds:(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"] + <-Reducer 5 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_189] + Merge Join Operator [MERGEJOIN_1449] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 28 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1662] + Select Operator [SEL_1661] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_1660] (rows=1 width=120) + predicate:(_col0 is not null and _col1 is not null) + Group By Operator [GBY_1659] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] + <-Union 27 [CUSTOM_SIMPLE_EDGE] + <-Reducer 26 [CONTAINS] + Reduce Output Operator [RS_1517] + Group By Operator [GBY_1516] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1515] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1513] (rows=7676736 width=94) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1512] (rows=7676736 width=94) + Conds:RS_1791._col0=RS_1770._col0(Inner),Output:["_col1","_col2"] + <-Map 24 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1770] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1767] + <-Map 50 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1791] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1790] + <-Reducer 42 [CONTAINS] + Reduce Output Operator [RS_1553] + Group By Operator [GBY_1552] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1551] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1549] (rows=3856907 width=114) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1548] (rows=3856907 width=114) + Conds:RS_1819._col0=RS_1798._col0(Inner),Output:["_col1","_col2"] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1798] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1795] + <-Map 51 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1819] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1818] + <-Reducer 47 [CONTAINS] + Reduce Output Operator [RS_1571] + Group By Operator [GBY_1570] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] + Select Operator [SEL_1569] (rows=26270325 width=44) + Output:["_col0"] + Select Operator [SEL_1567] (rows=14736682 width=0) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_1566] (rows=14736682 width=0) + Conds:RS_1826._col0=RS_1630._col0(Inner),Output:["_col1","_col2"] + <-Map 93 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1630] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1621] + <-Map 46 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1826] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1825] + <-Reducer 4 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1658] + Select Operator [SEL_1657] (rows=1 width=8) + Filter Operator [FIL_1656] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_1655] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_1654] (rows=1 width=8) + Group By Operator [GBY_1653] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Union 3 [CUSTOM_SIMPLE_EDGE] + <-Reducer 2 [CONTAINS] + Reduce Output Operator [RS_1460] + Group By Operator [GBY_1459] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1458] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1456] (rows=14736682 width=0) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1455] (rows=14736682 width=0) + Conds:RS_1650._col0=RS_1628._col0(Inner),Output:["_col1"] + <-Map 93 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1628] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1621] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1650] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1649] + <-Reducer 21 [CONTAINS] + Reduce Output Operator [RS_1499] + Group By Operator [GBY_1498] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1497] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1495] (rows=7676736 width=3) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1494] (rows=7676736 width=3) + Conds:RS_1784._col0=RS_1768._col0(Inner),Output:["_col1"] + <-Map 24 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1768] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1767] + <-Map 20 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1784] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1783] + <-Reducer 37 [CONTAINS] + Reduce Output Operator [RS_1535] + Group By Operator [GBY_1534] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_1533] (rows=26270325 width=1) + Output:["_col0"] + Select Operator [SEL_1531] (rows=3856907 width=3) + Output:["_col0"] + Merge Join Operator [MERGEJOIN_1530] (rows=3856907 width=3) + Conds:RS_1812._col0=RS_1796._col0(Inner),Output:["_col1"] + <-Map 40 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1796] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1795] + <-Map 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1812] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1811] <-Reducer 56 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1329] - Select Operator [SEL_1328] (rows=1 width=112) - Output:["_col0"] - Group By Operator [GBY_1327] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] - <-Union 55 [CUSTOM_SIMPLE_EDGE] - <-Reducer 54 [CONTAINS] - Reduce Output Operator [RS_1226] - Group By Operator [GBY_1225] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1224] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1222] (rows=14736682 width=0) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1221] (rows=14736682 width=0) - Conds:RS_1430._col0=RS_1372._col0(Inner),Output:["_col1","_col2"] - <-Map 48 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1372] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1365] - <-Map 66 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1430] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1429] - <-Reducer 68 [CONTAINS] - Reduce Output Operator [RS_1244] - Group By Operator [GBY_1243] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1242] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1240] (rows=7676736 width=94) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1239] (rows=7676736 width=94) - Conds:RS_1445._col0=RS_1435._col0(Inner),Output:["_col1","_col2"] - <-Map 71 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1435] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1434] - <-Map 67 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1445] + PARTITION_ONLY_SHUFFLE [RS_1715] + Filter Operator [FIL_1714] (rows=1 width=132) + predicate:_col3 is not null + Group By Operator [GBY_1713] (rows=1 width=132) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 55 [SIMPLE_EDGE] + SHUFFLE [RS_182] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_181] (rows=1 width=132) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2 + Select Operator [SEL_179] (rows=1 width=128) + Output:["_col0","_col1","_col2","_col3"] + Merge Join Operator [MERGEJOIN_1446] (rows=1 width=128) + Conds:RS_176._col1=RS_177._col0(Left Semi),Output:["_col2","_col3","_col6","_col7","_col8"] + <-Reducer 54 [ONE_TO_ONE_EDGE] + FORWARD [RS_176] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1408] (rows=15062131 width=15) + Conds:RS_171._col1=RS_1700._col0(Inner),Output:["_col1","_col2","_col3","_col6","_col7","_col8"] + <-Map 69 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1700] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1444] - <-Reducer 74 [CONTAINS] - Reduce Output Operator [RS_1262] - Group By Operator [GBY_1261] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"] - Select Operator [SEL_1260] (rows=26270325 width=44) - Output:["_col0"] - Select Operator [SEL_1258] (rows=3856907 width=114) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_1257] (rows=3856907 width=114) - Conds:RS_1460._col0=RS_1450._col0(Inner),Output:["_col1","_col2"] - <-Map 77 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1450] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1449] - <-Map 73 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1460] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1459] + Select Operator [SEL_1691] (rows=462000 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1682] (rows=462000 width=15) + predicate:i_item_sk is not null + Please refer to the previous TableScan [TS_90] + <-Reducer 53 [SIMPLE_EDGE] + SHUFFLE [RS_171] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1407] (rows=15062131 width=4) + Conds:RS_1681._col0=RS_1665._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 57 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1665] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1664] + <-Map 52 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1681] + PartitionCols:_col0 + Select Operator [SEL_1680] (rows=550076554 width=118) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1679] (rows=550076554 width=118) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_169_date_dim_d_date_sk_min) AND DynamicValue(RS_169_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_169_date_dim_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null) + TableScan [TS_84] (rows=575995635 width=118) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_quantity","ss_list_price"] + <-Reducer 58 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1678] + Group By Operator [GBY_1677] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 57 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1674] + Group By Operator [GBY_1671] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1666] (rows=50 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1664] + <-Reducer 70 [SIMPLE_EDGE] + SHUFFLE [RS_177] + PartitionCols:_col0 + Group By Operator [GBY_175] (rows=362 width=4) + Output:["_col0"],keys:_col0 + Merge Join Operator [MERGEJOIN_1415] (rows=724 width=4) + Conds:RS_1701._col1, _col2, _col3=RS_1712._col0, _col1, _col2(Inner),Output:["_col0"] + <-Map 69 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1701] + PartitionCols:_col1, _col2, _col3 + Select Operator [SEL_1692] (rows=458612 width=15) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_1683] (rows=458612 width=15) + predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null) + Please refer to the previous TableScan [TS_90] + <-Reducer 74 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_1712] + PartitionCols:_col0, _col1, _col2 + Select Operator [SEL_1711] (rows=1 width=12) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1710] (rows=1 width=20) + predicate:(_col3 = 3L) + Group By Operator [GBY_1709] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Union 73 [SIMPLE_EDGE] + <-Reducer 72 [CONTAINS] vectorized + Reduce Output Operator [RS_1836] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1835] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1834] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 71 [SIMPLE_EDGE] + SHUFFLE [RS_113] + PartitionCols:_col0, _col1, _col2 + Please refer to the previous Group By Operator [GBY_112] + <-Reducer 84 [CONTAINS] vectorized + Reduce Output Operator [RS_1850] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1849] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1848] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 83 [SIMPLE_EDGE] + SHUFFLE [RS_133] + PartitionCols:_col0, _col1, _col2 + Please refer to the previous Group By Operator [GBY_132] + <-Reducer 88 [CONTAINS] vectorized + Reduce Output Operator [RS_1864] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_1863] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2 + Group By Operator [GBY_1862] (rows=121728 width=19) + Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 + <-Reducer 87 [SIMPLE_EDGE] + SHUFFLE [RS_154] + PartitionCols:_col0, _col1, _col2 + Please refer to the previous Group By Operator [GBY_153] diff --git a/ql/src/test/results/clientpositive/perf/tez/query23.q.out b/ql/src/test/results/clientpositive/perf/tez/query23.q.out index 8062cf16c6..001a48a7d4 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query23.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query23.q.out @@ -1,7 +1,7 @@ -Warning: Shuffle Join MERGEJOIN[582][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 27' is a cross product -Warning: Shuffle Join MERGEJOIN[583][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 28' is a cross product -Warning: Shuffle Join MERGEJOIN[585][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 31' is a cross product -Warning: Shuffle Join MERGEJOIN[586][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 32' is a cross product +Warning: Shuffle Join MERGEJOIN[592][tables = [$hdt$_3, $hdt$_4]] in Stage 'Reducer 27' is a cross product +Warning: Shuffle Join MERGEJOIN[593][tables = [$hdt$_3, $hdt$_4, $hdt$_5]] in Stage 'Reducer 28' is a cross product +Warning: Shuffle Join MERGEJOIN[595][tables = [$hdt$_3, $hdt$_4]] in Stage 'Reducer 31' is a cross product +Warning: Shuffle Join MERGEJOIN[596][tables = [$hdt$_3, $hdt$_4, $hdt$_5]] in Stage 'Reducer 32' is a cross product PREHOOK: query: explain with frequent_ss_items as (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt @@ -124,7 +124,7 @@ Vertex dependency in root stage Map 1 <- Reducer 9 (BROADCAST_EDGE) Map 15 <- Reducer 20 (BROADCAST_EDGE) Map 22 <- Reducer 35 (BROADCAST_EDGE) -Map 36 <- Reducer 7 (BROADCAST_EDGE) +Map 41 <- Reducer 7 (BROADCAST_EDGE) Map 42 <- Reducer 14 (BROADCAST_EDGE) Map 43 <- Reducer 13 (BROADCAST_EDGE) Reducer 10 <- Map 42 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) @@ -138,7 +138,7 @@ Reducer 18 <- Reducer 17 (SIMPLE_EDGE) Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) Reducer 20 <- Map 19 (CUSTOM_SIMPLE_EDGE) Reducer 23 <- Map 22 (SIMPLE_EDGE), Map 34 (SIMPLE_EDGE) -Reducer 24 <- Map 39 (SIMPLE_EDGE), Reducer 23 (SIMPLE_EDGE) +Reducer 24 <- Map 36 (SIMPLE_EDGE), Reducer 23 (SIMPLE_EDGE) Reducer 25 <- Reducer 24 (SIMPLE_EDGE) Reducer 26 <- Reducer 25 (CUSTOM_SIMPLE_EDGE) Reducer 27 <- Reducer 26 (CUSTOM_SIMPLE_EDGE), Reducer 29 (CUSTOM_SIMPLE_EDGE) @@ -147,14 +147,14 @@ Reducer 29 <- Reducer 25 (CUSTOM_SIMPLE_EDGE) Reducer 3 <- Reducer 18 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) Reducer 30 <- Reducer 25 (CUSTOM_SIMPLE_EDGE) Reducer 31 <- Reducer 30 (CUSTOM_SIMPLE_EDGE), Reducer 33 (CUSTOM_SIMPLE_EDGE) -Reducer 32 <- Reducer 31 (CUSTOM_SIMPLE_EDGE), Reducer 41 (CUSTOM_SIMPLE_EDGE) +Reducer 32 <- Reducer 31 (CUSTOM_SIMPLE_EDGE), Reducer 40 (CUSTOM_SIMPLE_EDGE) Reducer 33 <- Reducer 25 (CUSTOM_SIMPLE_EDGE) Reducer 35 <- Map 34 (CUSTOM_SIMPLE_EDGE) -Reducer 37 <- Map 36 (SIMPLE_EDGE), Map 39 (SIMPLE_EDGE) +Reducer 37 <- Map 36 (SIMPLE_EDGE), Map 41 (SIMPLE_EDGE) Reducer 38 <- Reducer 37 (SIMPLE_EDGE) +Reducer 39 <- Map 36 (SIMPLE_EDGE), Map 43 (SIMPLE_EDGE) Reducer 4 <- Reducer 28 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS) -Reducer 40 <- Map 39 (SIMPLE_EDGE), Map 43 (SIMPLE_EDGE) -Reducer 41 <- Reducer 40 (SIMPLE_EDGE) +Reducer 40 <- Reducer 39 (SIMPLE_EDGE) Reducer 6 <- Union 5 (CUSTOM_SIMPLE_EDGE) Reducer 7 <- Reducer 3 (CUSTOM_SIMPLE_EDGE) Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE) @@ -164,367 +164,383 @@ Stage-0 limit:-1 Stage-1 Reducer 6 vectorized - File Output Operator [FS_679] - Group By Operator [GBY_678] (rows=1 width=112) + File Output Operator [FS_692] + Group By Operator [GBY_691] (rows=1 width=112) Output:["_col0"],aggregations:["sum(VALUE._col0)"] <-Union 5 [CUSTOM_SIMPLE_EDGE] <-Reducer 12 [CONTAINS] - Reduce Output Operator [RS_597] - Group By Operator [GBY_596] (rows=1 width=112) + Reduce Output Operator [RS_607] + Group By Operator [GBY_606] (rows=1 width=112) Output:["_col0"],aggregations:["sum(_col0)"] - Select Operator [SEL_594] (rows=7 width=112) + Select Operator [SEL_604] (rows=4 width=112) Output:["_col0"] - Merge Join Operator [MERGEJOIN_593] (rows=7 width=16) - Conds:RS_240._col2=RS_241._col0(Inner),Output:["_col3","_col4"] + Merge Join Operator [MERGEJOIN_603] (rows=4 width=29) + Conds:RS_250._col2=RS_251._col0(Left Semi),Output:["_col3","_col4"] <-Reducer 11 [SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_240] + PARTITION_ONLY_SHUFFLE [RS_250] PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_581] (rows=155 width=0) - Conds:RS_237._col1=RS_633._col0(Inner),Output:["_col2","_col3","_col4"] + Merge Join Operator [MERGEJOIN_591] (rows=155 width=0) + Conds:RS_245._col1=RS_643._col0(Inner),Output:["_col2","_col3","_col4"] <-Reducer 18 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_633] + SHUFFLE [RS_643] PartitionCols:_col0 - Group By Operator [GBY_631] (rows=2235 width=4) + Group By Operator [GBY_641] (rows=2235 width=4) Output:["_col0"],keys:_col1 - Select Operator [SEL_630] (rows=6548799 width=290) + Select Operator [SEL_640] (rows=6548799 width=290) Output:["_col1"] - Filter Operator [FIL_629] (rows=6548799 width=290) + Filter Operator [FIL_639] (rows=6548799 width=290) predicate:(_col3 > 4L) - Select Operator [SEL_628] (rows=19646398 width=290) + Select Operator [SEL_638] (rows=19646398 width=290) Output:["_col1","_col3"] - Group By Operator [GBY_627] (rows=19646398 width=290) + Group By Operator [GBY_637] (rows=19646398 width=290) Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 <-Reducer 17 [SIMPLE_EDGE] SHUFFLE [RS_23] PartitionCols:_col0 Group By Operator [GBY_22] (rows=19646398 width=290) Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col4, _col3, _col5 - Merge Join Operator [MERGEJOIN_566] (rows=19646398 width=282) - Conds:RS_18._col1=RS_626._col0(Inner),Output:["_col3","_col4","_col5"] + Merge Join Operator [MERGEJOIN_576] (rows=19646398 width=282) + Conds:RS_18._col1=RS_636._col0(Inner),Output:["_col3","_col4","_col5"] <-Map 21 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_626] + SHUFFLE [RS_636] PartitionCols:_col0 - Select Operator [SEL_625] (rows=462000 width=188) + Select Operator [SEL_635] (rows=462000 width=188) Output:["_col0","_col1"] - Filter Operator [FIL_624] (rows=462000 width=188) + Filter Operator [FIL_634] (rows=462000 width=188) predicate:i_item_sk is not null TableScan [TS_12] (rows=462000 width=188) default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_desc"] <-Reducer 16 [SIMPLE_EDGE] SHUFFLE [RS_18] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_565] (rows=19646398 width=98) - Conds:RS_623._col0=RS_615._col0(Inner),Output:["_col1","_col3"] + Merge Join Operator [MERGEJOIN_575] (rows=19646398 width=98) + Conds:RS_633._col0=RS_625._col0(Inner),Output:["_col1","_col3"] <-Map 19 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_615] + PARTITION_ONLY_SHUFFLE [RS_625] PartitionCols:_col0 - Select Operator [SEL_614] (rows=2609 width=98) + Select Operator [SEL_624] (rows=2609 width=98) Output:["_col0","_col1"] - Filter Operator [FIL_613] (rows=2609 width=102) + Filter Operator [FIL_623] (rows=2609 width=102) predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) TableScan [TS_9] (rows=73049 width=102) default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date","d_year"] <-Map 15 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_623] + SHUFFLE [RS_633] PartitionCols:_col0 - Select Operator [SEL_622] (rows=550076554 width=7) + Select Operator [SEL_632] (rows=550076554 width=7) Output:["_col0","_col1"] - Filter Operator [FIL_621] (rows=550076554 width=7) + Filter Operator [FIL_631] (rows=550076554 width=7) predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null) TableScan [TS_6] (rows=575995635 width=7) default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk"] <-Reducer 20 [BROADCAST_EDGE] vectorized - BROADCAST [RS_620] - Group By Operator [GBY_619] (rows=1 width=12) + BROADCAST [RS_630] + Group By Operator [GBY_629] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] <-Map 19 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_618] - Group By Operator [GBY_617] (rows=1 width=12) + PARTITION_ONLY_SHUFFLE [RS_628] + Group By Operator [GBY_627] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_616] (rows=2609 width=4) + Select Operator [SEL_626] (rows=2609 width=4) Output:["_col0"] - Please refer to the previous Select Operator [SEL_614] + Please refer to the previous Select Operator [SEL_624] <-Reducer 10 [SIMPLE_EDGE] - SHUFFLE [RS_237] + SHUFFLE [RS_245] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_572] (rows=3941102 width=122) - Conds:RS_684._col0=RS_602._col0(Inner),Output:["_col1","_col2","_col3","_col4"] + Merge Join Operator [MERGEJOIN_582] (rows=3941102 width=122) + Conds:RS_697._col0=RS_612._col0(Inner),Output:["_col1","_col2","_col3","_col4"] <-Map 8 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_602] + PARTITION_ONLY_SHUFFLE [RS_612] PartitionCols:_col0 - Select Operator [SEL_599] (rows=50 width=4) + Select Operator [SEL_609] (rows=50 width=4) Output:["_col0"] - Filter Operator [FIL_598] (rows=50 width=12) + Filter Operator [FIL_608] (rows=50 width=12) predicate:((d_moy = 1) and (d_year = 1999) and d_date_sk is not null) TableScan [TS_3] (rows=73049 width=12) default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"] <-Map 42 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_684] + SHUFFLE [RS_697] PartitionCols:_col0 - Select Operator [SEL_683] (rows=143930993 width=127) + Select Operator [SEL_696] (rows=143930993 width=127) Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_682] (rows=143930993 width=127) - predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_235_date_dim_d_date_sk_min) AND DynamicValue(RS_235_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_235_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null) - TableScan [TS_122] (rows=144002668 width=127) + Filter Operator [FIL_695] (rows=143930993 width=127) + predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_243_date_dim_d_date_sk_min) AND DynamicValue(RS_243_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_243_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null) + TableScan [TS_127] (rows=144002668 width=127) default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_quantity","ws_list_price"] <-Reducer 14 [BROADCAST_EDGE] vectorized - BROADCAST [RS_681] - Group By Operator [GBY_680] (rows=1 width=12) + BROADCAST [RS_694] + Group By Operator [GBY_693] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_607] - Group By Operator [GBY_605] (rows=1 width=12) + PARTITION_ONLY_SHUFFLE [RS_617] + Group By Operator [GBY_615] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_603] (rows=50 width=4) + Select Operator [SEL_613] (rows=50 width=4) Output:["_col0"] - Please refer to the previous Select Operator [SEL_599] + Please refer to the previous Select Operator [SEL_609] <-Reducer 32 [SIMPLE_EDGE] - SHUFFLE [RS_241] + SHUFFLE [RS_251] PartitionCols:_col0 - Select Operator [SEL_233] (rows=471875 width=4) - Output:["_col0"] - Filter Operator [FIL_232] (rows=471875 width=228) - predicate:(_col3 > (0.95 * _col1)) - Merge Join Operator [MERGEJOIN_586] (rows=1415625 width=228) - Conds:(Inner),Output:["_col1","_col2","_col3"] - <-Reducer 31 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_229] - Merge Join Operator [MERGEJOIN_585] (rows=1 width=112) - Conds:(Inner),Output:["_col1"] - <-Reducer 30 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_690] - Select Operator [SEL_689] (rows=1 width=8) - Filter Operator [FIL_688] (rows=1 width=8) - predicate:(sq_count_check(_col0) <= 1) - Group By Operator [GBY_687] (rows=1 width=8) - Output:["_col0"],aggregations:["count()"] - Select Operator [SEL_686] (rows=1 width=8) - Group By Operator [GBY_685] (rows=1 width=8) - Output:["_col0"],aggregations:["count(VALUE._col0)"] - <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_661] - Group By Operator [GBY_657] (rows=1 width=8) - Output:["_col0"],aggregations:["count(_col0)"] - Select Operator [SEL_653] (rows=11859 width=116) - Output:["_col0"] - Group By Operator [GBY_650] (rows=11859 width=116) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 - <-Reducer 24 [SIMPLE_EDGE] - SHUFFLE [RS_49] - PartitionCols:_col0 - Group By Operator [GBY_48] (rows=106731 width=116) - Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col4 - Merge Join Operator [MERGEJOIN_568] (rows=18762463 width=116) - Conds:RS_44._col1=RS_648._col0(Inner),Output:["_col2","_col4"] - <-Map 39 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_648] - PartitionCols:_col0 - Select Operator [SEL_646] (rows=80000000 width=4) - Output:["_col0"] - Filter Operator [FIL_645] (rows=80000000 width=4) - predicate:c_customer_sk is not null - TableScan [TS_93] (rows=80000000 width=4) - default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk"] - <-Reducer 23 [SIMPLE_EDGE] - SHUFFLE [RS_44] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_567] (rows=18762463 width=112) - Conds:RS_644._col0=RS_636._col0(Inner),Output:["_col1","_col2"] - <-Map 34 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_636] - PartitionCols:_col0 - Select Operator [SEL_635] (rows=2609 width=4) - Output:["_col0"] - Filter Operator [FIL_634] (rows=2609 width=8) - predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) - TableScan [TS_35] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Map 22 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_644] - PartitionCols:_col0 - Select Operator [SEL_643] (rows=525327388 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_642] (rows=525327388 width=118) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_42_date_dim_d_date_sk_min) AND DynamicValue(RS_42_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_42_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null) - TableScan [TS_32] (rows=575995635 width=118) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_customer_sk","ss_quantity","ss_sales_price"] - <-Reducer 35 [BROADCAST_EDGE] vectorized - BROADCAST [RS_641] - Group By Operator [GBY_640] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 34 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_639] - Group By Operator [GBY_638] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_637] (rows=2609 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_635] - <-Reducer 33 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_692] - Group By Operator [GBY_691] (rows=1 width=112) - Output:["_col0"],aggregations:["max(VALUE._col0)"] - <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_662] - Group By Operator [GBY_658] (rows=1 width=112) - Output:["_col0"],aggregations:["max(_col1)"] - Select Operator [SEL_654] (rows=11859 width=116) - Output:["_col1"] - Please refer to the previous Group By Operator [GBY_650] - <-Reducer 41 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_699] - Group By Operator [GBY_698] (rows=1415625 width=116) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 - <-Reducer 40 [SIMPLE_EDGE] - SHUFFLE [RS_223] - PartitionCols:_col0 - Group By Operator [GBY_222] (rows=80000000 width=116) - Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col2 - Merge Join Operator [MERGEJOIN_579] (rows=550080312 width=116) - Conds:RS_697._col0=RS_649._col0(Inner),Output:["_col1","_col2"] - <-Map 39 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_649] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_646] - <-Map 43 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_697] - PartitionCols:_col0 - Select Operator [SEL_696] (rows=550080312 width=115) - Output:["_col0","_col1"] - Filter Operator [FIL_695] (rows=550080312 width=114) - predicate:((ss_customer_sk BETWEEN DynamicValue(RS_240_web_sales_ws_bill_customer_sk_min) AND DynamicValue(RS_240_web_sales_ws_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_240_web_sales_ws_bill_customer_sk_bloom_filter))) and ss_customer_sk is not null) - TableScan [TS_212] (rows=575995635 width=114) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"] - <-Reducer 13 [BROADCAST_EDGE] vectorized - BROADCAST [RS_694] - Group By Operator [GBY_693] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Reducer 11 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_559] - Group By Operator [GBY_558] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_557] (rows=155 width=0) - Output:["_col0"] - Please refer to the previous Merge Join Operator [MERGEJOIN_581] + Group By Operator [GBY_249] (rows=235937 width=4) + Output:["_col0"],keys:_col0 + Select Operator [SEL_241] (rows=471875 width=4) + Output:["_col0"] + Filter Operator [FIL_240] (rows=471875 width=228) + predicate:(_col3 > _col1) + Merge Join Operator [MERGEJOIN_596] (rows=1415625 width=228) + Conds:(Inner),Output:["_col1","_col2","_col3"] + <-Reducer 31 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_237] + Merge Join Operator [MERGEJOIN_595] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 30 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_703] + Select Operator [SEL_702] (rows=1 width=8) + Filter Operator [FIL_701] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_700] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_699] (rows=1 width=8) + Group By Operator [GBY_698] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_671] + Group By Operator [GBY_667] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_663] (rows=11859 width=116) + Output:["_col0"] + Group By Operator [GBY_660] (rows=11859 width=116) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 + <-Reducer 24 [SIMPLE_EDGE] + SHUFFLE [RS_49] + PartitionCols:_col0 + Group By Operator [GBY_48] (rows=106731 width=116) + Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col4 + Merge Join Operator [MERGEJOIN_578] (rows=18762463 width=116) + Conds:RS_44._col1=RS_657._col0(Inner),Output:["_col2","_col4"] + <-Map 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_657] + PartitionCols:_col0 + Select Operator [SEL_656] (rows=80000000 width=4) + Output:["_col0"] + Filter Operator [FIL_655] (rows=80000000 width=4) + predicate:c_customer_sk is not null + TableScan [TS_38] (rows=80000000 width=4) + default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk"] + <-Reducer 23 [SIMPLE_EDGE] + SHUFFLE [RS_44] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_577] (rows=18762463 width=112) + Conds:RS_654._col0=RS_646._col0(Inner),Output:["_col1","_col2"] + <-Map 34 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_646] + PartitionCols:_col0 + Select Operator [SEL_645] (rows=2609 width=4) + Output:["_col0"] + Filter Operator [FIL_644] (rows=2609 width=8) + predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) + TableScan [TS_35] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Map 22 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_654] + PartitionCols:_col0 + Select Operator [SEL_653] (rows=525327388 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_652] (rows=525327388 width=118) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_42_date_dim_d_date_sk_min) AND DynamicValue(RS_42_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_42_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null) + TableScan [TS_32] (rows=575995635 width=118) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_customer_sk","ss_quantity","ss_sales_price"] + <-Reducer 35 [BROADCAST_EDGE] vectorized + BROADCAST [RS_651] + Group By Operator [GBY_650] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 34 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_649] + Group By Operator [GBY_648] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_647] (rows=2609 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_645] + <-Reducer 33 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_707] + Select Operator [SEL_706] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_705] (rows=1 width=112) + predicate:_col0 is not null + Group By Operator [GBY_704] (rows=1 width=112) + Output:["_col0"],aggregations:["max(VALUE._col0)"] + <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_672] + Group By Operator [GBY_668] (rows=1 width=112) + Output:["_col0"],aggregations:["max(_col1)"] + Select Operator [SEL_664] (rows=11859 width=116) + Output:["_col1"] + Please refer to the previous Group By Operator [GBY_660] + <-Reducer 40 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_715] + Filter Operator [FIL_714] (rows=1415625 width=116) + predicate:_col1 is not null + Group By Operator [GBY_713] (rows=1415625 width=116) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 + <-Reducer 39 [SIMPLE_EDGE] + SHUFFLE [RS_230] + PartitionCols:_col0 + Group By Operator [GBY_229] (rows=80000000 width=116) + Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col2 + Merge Join Operator [MERGEJOIN_589] (rows=550080312 width=116) + Conds:RS_712._col0=RS_659._col0(Inner),Output:["_col1","_col2"] + <-Map 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_659] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_656] + <-Map 43 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_712] + PartitionCols:_col0 + Select Operator [SEL_711] (rows=550080312 width=115) + Output:["_col0","_col1"] + Filter Operator [FIL_710] (rows=550080312 width=114) + predicate:((ss_customer_sk BETWEEN DynamicValue(RS_250_web_sales_ws_bill_customer_sk_min) AND DynamicValue(RS_250_web_sales_ws_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_250_web_sales_ws_bill_customer_sk_bloom_filter))) and ss_customer_sk is not null) + TableScan [TS_219] (rows=575995635 width=114) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"] + <-Reducer 13 [BROADCAST_EDGE] vectorized + BROADCAST [RS_709] + Group By Operator [GBY_708] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Reducer 11 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_569] + Group By Operator [GBY_568] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_567] (rows=155 width=0) + Output:["_col0"] + Please refer to the previous Merge Join Operator [MERGEJOIN_591] <-Reducer 4 [CONTAINS] - Reduce Output Operator [RS_592] - Group By Operator [GBY_591] (rows=1 width=112) + Reduce Output Operator [RS_602] + Group By Operator [GBY_601] (rows=1 width=112) Output:["_col0"],aggregations:["sum(_col0)"] - Select Operator [SEL_589] (rows=13 width=112) + Select Operator [SEL_599] (rows=7 width=112) Output:["_col0"] - Merge Join Operator [MERGEJOIN_588] (rows=13 width=8) - Conds:RS_118._col1=RS_119._col0(Inner),Output:["_col3","_col4"] + Merge Join Operator [MERGEJOIN_598] (rows=7 width=16) + Conds:RS_123._col1=RS_124._col0(Left Semi),Output:["_col3","_col4"] <-Reducer 3 [SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_118] + PARTITION_ONLY_SHUFFLE [RS_123] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_580] (rows=304 width=0) - Conds:RS_115._col2=RS_632._col0(Inner),Output:["_col1","_col3","_col4"] + Merge Join Operator [MERGEJOIN_590] (rows=304 width=0) + Conds:RS_118._col2=RS_642._col0(Inner),Output:["_col1","_col3","_col4"] <-Reducer 18 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_632] + SHUFFLE [RS_642] PartitionCols:_col0 - Please refer to the previous Group By Operator [GBY_631] + Please refer to the previous Group By Operator [GBY_641] <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_115] + SHUFFLE [RS_118] PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_564] (rows=7751875 width=101) - Conds:RS_612._col0=RS_600._col0(Inner),Output:["_col1","_col2","_col3","_col4"] + Merge Join Operator [MERGEJOIN_574] (rows=7751875 width=101) + Conds:RS_622._col0=RS_610._col0(Inner),Output:["_col1","_col2","_col3","_col4"] <-Map 8 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_600] + PARTITION_ONLY_SHUFFLE [RS_610] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_599] + Please refer to the previous Select Operator [SEL_609] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_612] + SHUFFLE [RS_622] PartitionCols:_col0 - Select Operator [SEL_611] (rows=285117831 width=127) + Select Operator [SEL_621] (rows=285117831 width=127) Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_610] (rows=285117831 width=127) - predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_113_date_dim_d_date_sk_min) AND DynamicValue(RS_113_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_113_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) + Filter Operator [FIL_620] (rows=285117831 width=127) + predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_116_date_dim_d_date_sk_min) AND DynamicValue(RS_116_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_116_date_dim_d_date_sk_bloom_filter))) and 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=127) default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity","cs_list_price"] <-Reducer 9 [BROADCAST_EDGE] vectorized - BROADCAST [RS_609] - Group By Operator [GBY_608] (rows=1 width=12) + BROADCAST [RS_619] + Group By Operator [GBY_618] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_606] - Group By Operator [GBY_604] (rows=1 width=12) + PARTITION_ONLY_SHUFFLE [RS_616] + Group By Operator [GBY_614] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_601] (rows=50 width=4) + Select Operator [SEL_611] (rows=50 width=4) Output:["_col0"] - Please refer to the previous Select Operator [SEL_599] + Please refer to the previous Select Operator [SEL_609] <-Reducer 28 [SIMPLE_EDGE] - SHUFFLE [RS_119] + SHUFFLE [RS_124] PartitionCols:_col0 - Select Operator [SEL_111] (rows=471875 width=4) - Output:["_col0"] - Filter Operator [FIL_110] (rows=471875 width=228) - predicate:(_col3 > (0.95 * _col1)) - Merge Join Operator [MERGEJOIN_583] (rows=1415625 width=228) - Conds:(Inner),Output:["_col1","_col2","_col3"] - <-Reducer 27 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_107] - Merge Join Operator [MERGEJOIN_582] (rows=1 width=112) - Conds:(Inner),Output:["_col1"] - <-Reducer 26 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_668] - Select Operator [SEL_667] (rows=1 width=8) - Filter Operator [FIL_666] (rows=1 width=8) - predicate:(sq_count_check(_col0) <= 1) - Group By Operator [GBY_665] (rows=1 width=8) - Output:["_col0"],aggregations:["count()"] - Select Operator [SEL_664] (rows=1 width=8) - Group By Operator [GBY_663] (rows=1 width=8) - Output:["_col0"],aggregations:["count(VALUE._col0)"] - <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_659] - Group By Operator [GBY_655] (rows=1 width=8) - Output:["_col0"],aggregations:["count(_col0)"] - Select Operator [SEL_651] (rows=11859 width=116) - Output:["_col0"] - Please refer to the previous Group By Operator [GBY_650] - <-Reducer 29 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_670] - Group By Operator [GBY_669] (rows=1 width=112) - Output:["_col0"],aggregations:["max(VALUE._col0)"] - <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_660] - Group By Operator [GBY_656] (rows=1 width=112) - Output:["_col0"],aggregations:["max(_col1)"] - Select Operator [SEL_652] (rows=11859 width=116) - Output:["_col1"] - Please refer to the previous Group By Operator [GBY_650] - <-Reducer 38 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_677] - Group By Operator [GBY_676] (rows=1415625 width=116) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 - <-Reducer 37 [SIMPLE_EDGE] - SHUFFLE [RS_101] - PartitionCols:_col0 - Group By Operator [GBY_100] (rows=80000000 width=116) - Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col2 - Merge Join Operator [MERGEJOIN_571] (rows=550080312 width=116) - Conds:RS_675._col0=RS_647._col0(Inner),Output:["_col1","_col2"] - <-Map 39 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_647] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_646] - <-Map 36 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_675] - PartitionCols:_col0 - Select Operator [SEL_674] (rows=550080312 width=115) - Output:["_col0","_col1"] - Filter Operator [FIL_673] (rows=550080312 width=114) - predicate:((ss_customer_sk BETWEEN DynamicValue(RS_118_catalog_sales_cs_bill_customer_sk_min) AND DynamicValue(RS_118_catalog_sales_cs_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_118_catalog_sales_cs_bill_customer_sk_bloom_filter))) and ss_customer_sk is not null) - TableScan [TS_90] (rows=575995635 width=114) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"] - <-Reducer 7 [BROADCAST_EDGE] vectorized - BROADCAST [RS_672] - Group By Operator [GBY_671] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Reducer 3 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_453] - Group By Operator [GBY_452] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_451] (rows=304 width=0) - Output:["_col0"] - Please refer to the previous Merge Join Operator [MERGEJOIN_580] + Group By Operator [GBY_122] (rows=235937 width=4) + Output:["_col0"],keys:_col0 + Select Operator [SEL_114] (rows=471875 width=4) + Output:["_col0"] + Filter Operator [FIL_113] (rows=471875 width=228) + predicate:(_col3 > _col1) + Merge Join Operator [MERGEJOIN_593] (rows=1415625 width=228) + Conds:(Inner),Output:["_col1","_col2","_col3"] + <-Reducer 27 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_110] + Merge Join Operator [MERGEJOIN_592] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 26 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_678] + Select Operator [SEL_677] (rows=1 width=8) + Filter Operator [FIL_676] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_675] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_674] (rows=1 width=8) + Group By Operator [GBY_673] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_669] + Group By Operator [GBY_665] (rows=1 width=8) + Output:["_col0"],aggregations:["count(_col0)"] + Select Operator [SEL_661] (rows=11859 width=116) + Output:["_col0"] + Please refer to the previous Group By Operator [GBY_660] + <-Reducer 29 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_682] + Select Operator [SEL_681] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_680] (rows=1 width=112) + predicate:_col0 is not null + Group By Operator [GBY_679] (rows=1 width=112) + Output:["_col0"],aggregations:["max(VALUE._col0)"] + <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_670] + Group By Operator [GBY_666] (rows=1 width=112) + Output:["_col0"],aggregations:["max(_col1)"] + Select Operator [SEL_662] (rows=11859 width=116) + Output:["_col1"] + Please refer to the previous Group By Operator [GBY_660] + <-Reducer 38 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_690] + Filter Operator [FIL_689] (rows=1415625 width=116) + predicate:_col1 is not null + Group By Operator [GBY_688] (rows=1415625 width=116) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 + <-Reducer 37 [SIMPLE_EDGE] + SHUFFLE [RS_103] + PartitionCols:_col0 + Group By Operator [GBY_102] (rows=80000000 width=116) + Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col2 + Merge Join Operator [MERGEJOIN_581] (rows=550080312 width=116) + Conds:RS_687._col0=RS_658._col0(Inner),Output:["_col1","_col2"] + <-Map 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_658] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_656] + <-Map 41 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_687] + PartitionCols:_col0 + Select Operator [SEL_686] (rows=550080312 width=115) + Output:["_col0","_col1"] + Filter Operator [FIL_685] (rows=550080312 width=114) + predicate:((ss_customer_sk BETWEEN DynamicValue(RS_123_catalog_sales_cs_bill_customer_sk_min) AND DynamicValue(RS_123_catalog_sales_cs_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_123_catalog_sales_cs_bill_customer_sk_bloom_filter))) and ss_customer_sk is not null) + TableScan [TS_92] (rows=575995635 width=114) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"] + <-Reducer 7 [BROADCAST_EDGE] vectorized + BROADCAST [RS_684] + Group By Operator [GBY_683] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Reducer 3 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_463] + Group By Operator [GBY_462] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_461] (rows=304 width=0) + Output:["_col0"] + Please refer to the previous Merge Join Operator [MERGEJOIN_590] diff --git a/ql/src/test/results/clientpositive/perf/tez/query24.q.out b/ql/src/test/results/clientpositive/perf/tez/query24.q.out index 566d4fb01e..3c14858e78 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query24.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query24.q.out @@ -1,4 +1,4 @@ -Warning: Shuffle Join MERGEJOIN[301][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 6' is a cross product +Warning: Shuffle Join MERGEJOIN[305][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 6' is a cross product PREHOOK: query: explain with ssales as (select c_last_name @@ -138,184 +138,188 @@ Stage-0 limit:-1 Stage-1 Reducer 6 - File Output Operator [FS_94] - Select Operator [SEL_93] (rows=1313165 width=380) + File Output Operator [FS_98] + Select Operator [SEL_97] (rows=1313165 width=380) Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_92] (rows=1313165 width=492) + Filter Operator [FIL_96] (rows=1313165 width=492) predicate:(_col3 > _col4) - Merge Join Operator [MERGEJOIN_301] (rows=3939496 width=492) + Merge Join Operator [MERGEJOIN_305] (rows=3939496 width=492) Conds:(Inner),Output:["_col0","_col1","_col2","_col3","_col4"] <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_345] - Select Operator [SEL_344] (rows=1 width=112) + PARTITION_ONLY_SHUFFLE [RS_351] + Select Operator [SEL_350] (rows=1 width=112) Output:["_col0"] - Group By Operator [GBY_343] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] - <-Reducer 11 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_342] - Group By Operator [GBY_341] (rows=1 width=120) - Output:["_col0","_col1"],aggregations:["sum(_col10)","count(_col10)"] - Select Operator [SEL_340] (rows=576061174 width=932) - Output:["_col10"] - Group By Operator [GBY_339] (rows=576061174 width=932) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9 - <-Reducer 10 [SIMPLE_EDGE] - SHUFFLE [RS_81] - PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 - Group By Operator [GBY_80] (rows=576061174 width=932) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(_col17)"],keys:_col10, _col11, _col1, _col5, _col6, _col19, _col20, _col21, _col22, _col23 - Merge Join Operator [MERGEJOIN_300] (rows=589731269 width=928) - Conds:RS_76._col13, _col16=RS_328._col0, _col1(Inner),Output:["_col1","_col5","_col6","_col10","_col11","_col17","_col19","_col20","_col21","_col22","_col23"] - <-Map 20 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_328] - PartitionCols:_col0, _col1 - Select Operator [SEL_326] (rows=57591150 width=8) - Output:["_col0","_col1"] - Filter Operator [FIL_325] (rows=57591150 width=8) - predicate:(sr_item_sk is not null and sr_ticket_number is not null) - TableScan [TS_23] (rows=57591150 width=8) - default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number"] - <-Reducer 9 [SIMPLE_EDGE] - SHUFFLE [RS_76] - PartitionCols:_col13, _col16 - Merge Join Operator [MERGEJOIN_299] (rows=576061174 width=936) - Conds:RS_73._col13=RS_308._col0(Inner),Output:["_col1","_col5","_col6","_col10","_col11","_col13","_col16","_col17","_col19","_col20","_col21","_col22","_col23"] - <-Map 7 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_308] - PartitionCols:_col0 - Select Operator [SEL_305] (rows=462000 width=384) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_303] (rows=462000 width=384) - predicate:i_item_sk is not null - TableScan [TS_3] (rows=462000 width=384) - default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_size","i_color","i_units","i_manager_id"] - <-Reducer 16 [SIMPLE_EDGE] - SHUFFLE [RS_73] - PartitionCols:_col13 - Merge Join Operator [MERGEJOIN_298] (rows=576061174 width=555) - Conds:RS_70._col8, _col4=RS_338._col1, _col2(Inner),Output:["_col1","_col5","_col6","_col10","_col11","_col13","_col16","_col17"] - <-Reducer 15 [SIMPLE_EDGE] - SHUFFLE [RS_70] - PartitionCols:_col8, _col4 - Filter Operator [FIL_21] (rows=7276996 width=724) - predicate:(_col12 <> _col3) - Merge Join Operator [MERGEJOIN_293] (rows=7276996 width=724) - Conds:RS_18._col0=RS_324._col1(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col8","_col10","_col11","_col12"] - <-Map 19 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_324] - PartitionCols:_col1 - Select Operator [SEL_323] (rows=80000000 width=280) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_322] (rows=80000000 width=280) - predicate:(c_current_addr_sk is not null and c_customer_sk is not null) - TableScan [TS_12] (rows=80000000 width=280) - default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk","c_first_name","c_last_name","c_birth_country"] - <-Reducer 14 [SIMPLE_EDGE] - SHUFFLE [RS_18] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_292] (rows=611379 width=452) - Conds:RS_318._col2=RS_321._col3(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6"] - <-Map 13 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_318] - PartitionCols:_col2 - Select Operator [SEL_317] (rows=40000000 width=363) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_316] (rows=40000000 width=276) - predicate:(ca_address_sk is not null and ca_zip is not null) - TableScan [TS_6] (rows=40000000 width=276) - default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state","ca_zip","ca_country"] - <-Map 18 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_321] - PartitionCols:_col3 - Select Operator [SEL_320] (rows=155 width=267) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_319] (rows=155 width=271) - predicate:((s_market_id = 7) and s_store_sk is not null and s_zip is not null) - TableScan [TS_9] (rows=1704 width=270) - default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_name","s_market_id","s_state","s_zip"] - <-Map 21 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_338] - PartitionCols:_col1, _col2 - Select Operator [SEL_337] (rows=525333486 width=122) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_336] (rows=525333486 width=122) - predicate:((ss_customer_sk BETWEEN DynamicValue(RS_70_customer_c_customer_sk_min) AND DynamicValue(RS_70_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_70_customer_c_customer_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) - TableScan [TS_54] (rows=575995635 width=122) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_sales_price"] - <-Reducer 17 [BROADCAST_EDGE] vectorized - BROADCAST [RS_335] - Group By Operator [GBY_334] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=6636187)"] - <-Reducer 15 [CUSTOM_SIMPLE_EDGE] - SHUFFLE [RS_250] - Group By Operator [GBY_249] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=6636187)"] - Select Operator [SEL_248] (rows=7276996 width=8) - Output:["_col0"] - Please refer to the previous Filter Operator [FIL_21] + Filter Operator [FIL_349] (rows=1 width=120) + predicate:(_col0 is not null and _col1 is not null) + Group By Operator [GBY_348] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] + <-Reducer 11 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_347] + Group By Operator [GBY_346] (rows=1 width=120) + Output:["_col0","_col1"],aggregations:["sum(_col10)","count(_col10)"] + Select Operator [SEL_345] (rows=576061174 width=932) + Output:["_col10"] + Group By Operator [GBY_344] (rows=576061174 width=932) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9 + <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_83] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 + Group By Operator [GBY_82] (rows=576061174 width=932) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(_col17)"],keys:_col10, _col11, _col1, _col5, _col6, _col19, _col20, _col21, _col22, _col23 + Merge Join Operator [MERGEJOIN_304] (rows=589731269 width=928) + Conds:RS_78._col13, _col16=RS_332._col0, _col1(Inner),Output:["_col1","_col5","_col6","_col10","_col11","_col17","_col19","_col20","_col21","_col22","_col23"] + <-Map 20 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_332] + PartitionCols:_col0, _col1 + Select Operator [SEL_330] (rows=57591150 width=8) + Output:["_col0","_col1"] + Filter Operator [FIL_329] (rows=57591150 width=8) + predicate:(sr_item_sk is not null and sr_ticket_number is not null) + TableScan [TS_23] (rows=57591150 width=8) + default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number"] + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_78] + PartitionCols:_col13, _col16 + Merge Join Operator [MERGEJOIN_303] (rows=576061174 width=936) + Conds:RS_75._col13=RS_312._col0(Inner),Output:["_col1","_col5","_col6","_col10","_col11","_col13","_col16","_col17","_col19","_col20","_col21","_col22","_col23"] + <-Map 7 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_312] + PartitionCols:_col0 + Select Operator [SEL_309] (rows=462000 width=384) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_307] (rows=462000 width=384) + predicate:i_item_sk is not null + TableScan [TS_3] (rows=462000 width=384) + default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_size","i_color","i_units","i_manager_id"] + <-Reducer 16 [SIMPLE_EDGE] + SHUFFLE [RS_75] + PartitionCols:_col13 + Merge Join Operator [MERGEJOIN_302] (rows=576061174 width=555) + Conds:RS_72._col8, _col4=RS_343._col1, _col2(Inner),Output:["_col1","_col5","_col6","_col10","_col11","_col13","_col16","_col17"] + <-Reducer 15 [SIMPLE_EDGE] + SHUFFLE [RS_72] + PartitionCols:_col8, _col4 + Filter Operator [FIL_21] (rows=7276996 width=724) + predicate:(_col12 <> _col3) + Merge Join Operator [MERGEJOIN_297] (rows=7276996 width=724) + Conds:RS_18._col0=RS_328._col1(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col8","_col10","_col11","_col12"] + <-Map 19 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_328] + PartitionCols:_col1 + Select Operator [SEL_327] (rows=80000000 width=280) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_326] (rows=80000000 width=280) + predicate:(c_current_addr_sk is not null and c_customer_sk is not null) + TableScan [TS_12] (rows=80000000 width=280) + default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk","c_first_name","c_last_name","c_birth_country"] + <-Reducer 14 [SIMPLE_EDGE] + SHUFFLE [RS_18] + PartitionCols:_col0 + Merge Join Operator [MERGEJOIN_296] (rows=611379 width=452) + Conds:RS_322._col2=RS_325._col3(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6"] + <-Map 13 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_322] + PartitionCols:_col2 + Select Operator [SEL_321] (rows=40000000 width=363) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_320] (rows=40000000 width=276) + predicate:(ca_address_sk is not null and ca_zip is not null) + TableScan [TS_6] (rows=40000000 width=276) + default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state","ca_zip","ca_country"] + <-Map 18 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_325] + PartitionCols:_col3 + Select Operator [SEL_324] (rows=155 width=267) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_323] (rows=155 width=271) + predicate:((s_market_id = 7) and s_store_sk is not null and s_zip is not null) + TableScan [TS_9] (rows=1704 width=270) + default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_name","s_market_id","s_state","s_zip"] + <-Map 21 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_343] + PartitionCols:_col1, _col2 + Select Operator [SEL_342] (rows=525333486 width=122) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_341] (rows=525333486 width=122) + predicate:((ss_customer_sk BETWEEN DynamicValue(RS_72_customer_c_customer_sk_min) AND DynamicValue(RS_72_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_72_customer_c_customer_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) + TableScan [TS_56] (rows=575995635 width=122) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_sales_price"] + <-Reducer 17 [BROADCAST_EDGE] vectorized + BROADCAST [RS_340] + Group By Operator [GBY_339] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=6636187)"] + <-Reducer 15 [CUSTOM_SIMPLE_EDGE] + SHUFFLE [RS_254] + Group By Operator [GBY_253] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=6636187)"] + Select Operator [SEL_252] (rows=7276996 width=8) + Output:["_col0"] + Please refer to the previous Filter Operator [FIL_21] <-Reducer 5 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_333] - Select Operator [SEL_332] (rows=3939496 width=380) - Output:["_col0","_col1","_col2","_col3"] - Group By Operator [GBY_331] (rows=3939496 width=380) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col9)"],keys:_col4, _col5, _col7 - Select Operator [SEL_330] (rows=84010488 width=843) - Output:["_col4","_col5","_col7","_col9"] - Group By Operator [GBY_329] (rows=84010488 width=843) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8 - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_37] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_36] (rows=84010488 width=843) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"],aggregations:["sum(_col4)"],keys:_col12, _col13, _col20, _col6, _col7, _col8, _col9, _col16, _col21 - Merge Join Operator [MERGEJOIN_295] (rows=138508741 width=824) - Conds:RS_32._col0, _col3=RS_327._col0, _col1(Inner),Output:["_col4","_col6","_col7","_col8","_col9","_col12","_col13","_col16","_col20","_col21"] - <-Map 20 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_327] - PartitionCols:_col0, _col1 - Please refer to the previous Select Operator [SEL_326] - <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_32] - PartitionCols:_col0, _col3 - Merge Join Operator [MERGEJOIN_294] (rows=84010488 width=820) - Conds:RS_29._col1, _col2=RS_30._col0, _col9(Inner),Output:["_col0","_col3","_col4","_col6","_col7","_col8","_col9","_col12","_col13","_col16","_col20","_col21"] - <-Reducer 15 [SIMPLE_EDGE] - SHUFFLE [RS_30] - PartitionCols:_col0, _col9 - Select Operator [SEL_22] (rows=7276996 width=724) - Output:["_col0","_col2","_col3","_col6","_col9","_col10","_col11"] - Please refer to the previous Filter Operator [FIL_21] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_29] - PartitionCols:_col1, _col2 - Merge Join Operator [MERGEJOIN_291] (rows=76612563 width=382) - Conds:RS_315._col0=RS_306._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col6","_col7","_col8","_col9"] - <-Map 7 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_306] - PartitionCols:_col0 - Select Operator [SEL_304] (rows=7000 width=295) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_302] (rows=7000 width=384) - predicate:((i_color = 'orchid') and i_item_sk is not null) - Please refer to the previous TableScan [TS_3] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_315] - PartitionCols:_col0 - Select Operator [SEL_314] (rows=525333486 width=122) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_313] (rows=525333486 width=122) - predicate:((ss_item_sk BETWEEN DynamicValue(RS_27_item_i_item_sk_min) AND DynamicValue(RS_27_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_27_item_i_item_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) - TableScan [TS_0] (rows=575995635 width=122) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_sales_price"] - <-Reducer 8 [BROADCAST_EDGE] vectorized - BROADCAST [RS_312] - Group By Operator [GBY_311] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_310] - Group By Operator [GBY_309] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_307] (rows=7000 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_304] + PARTITION_ONLY_SHUFFLE [RS_338] + Filter Operator [FIL_337] (rows=3939496 width=380) + predicate:_col3 is not null + Select Operator [SEL_336] (rows=3939496 width=380) + Output:["_col0","_col1","_col2","_col3"] + Group By Operator [GBY_335] (rows=3939496 width=380) + Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col9)"],keys:_col4, _col5, _col7 + Select Operator [SEL_334] (rows=84010488 width=843) + Output:["_col4","_col5","_col7","_col9"] + Group By Operator [GBY_333] (rows=84010488 width=843) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8 + <-Reducer 4 [SIMPLE_EDGE] + SHUFFLE [RS_37] + PartitionCols:_col0, _col1, _col2 + Group By Operator [GBY_36] (rows=84010488 width=843) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"],aggregations:["sum(_col4)"],keys:_col12, _col13, _col20, _col6, _col7, _col8, _col9, _col16, _col21 + Merge Join Operator [MERGEJOIN_299] (rows=138508741 width=824) + Conds:RS_32._col0, _col3=RS_331._col0, _col1(Inner),Output:["_col4","_col6","_col7","_col8","_col9","_col12","_col13","_col16","_col20","_col21"] + <-Map 20 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_331] + PartitionCols:_col0, _col1 + Please refer to the previous Select Operator [SEL_330] + <-Reducer 3 [SIMPLE_EDGE] + SHUFFLE [RS_32] + PartitionCols:_col0, _col3 + Merge Join Operator [MERGEJOIN_298] (rows=84010488 width=820) + Conds:RS_29._col1, _col2=RS_30._col0, _col9(Inner),Output:["_col0","_col3","_col4","_col6","_col7","_col8","_col9","_col12","_col13","_col16","_col20","_col21"] + <-Reducer 15 [SIMPLE_EDGE] + SHUFFLE [RS_30] + PartitionCols:_col0, _col9 + Select Operator [SEL_22] (rows=7276996 width=724) + Output:["_col0","_col2","_col3","_col6","_col9","_col10","_col11"] + Please refer to the previous Filter Operator [FIL_21] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_29] + PartitionCols:_col1, _col2 + Merge Join Operator [MERGEJOIN_295] (rows=76612563 width=382) + Conds:RS_319._col0=RS_310._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col6","_col7","_col8","_col9"] + <-Map 7 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_310] + PartitionCols:_col0 + Select Operator [SEL_308] (rows=7000 width=295) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_306] (rows=7000 width=384) + predicate:((i_color = 'orchid') and i_item_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_319] + PartitionCols:_col0 + Select Operator [SEL_318] (rows=525333486 width=122) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_317] (rows=525333486 width=122) + predicate:((ss_item_sk BETWEEN DynamicValue(RS_27_item_i_item_sk_min) AND DynamicValue(RS_27_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_27_item_i_item_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) + TableScan [TS_0] (rows=575995635 width=122) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_sales_price"] + <-Reducer 8 [BROADCAST_EDGE] vectorized + BROADCAST [RS_316] + Group By Operator [GBY_315] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_314] + Group By Operator [GBY_313] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_311] (rows=7000 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_308] diff --git a/ql/src/test/results/clientpositive/perf/tez/query30.q.out b/ql/src/test/results/clientpositive/perf/tez/query30.q.out index d3381b3b8f..08d785697b 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query30.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query30.q.out @@ -87,135 +87,139 @@ Stage-0 limit:100 Stage-1 Reducer 4 vectorized - File Output Operator [FS_210] - Limit [LIM_209] (rows=100 width=942) + File Output Operator [FS_215] + Limit [LIM_214] (rows=100 width=942) Number of rows:100 - Select Operator [SEL_208] (rows=691171 width=942) + Select Operator [SEL_213] (rows=691171 width=942) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12"] <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_63] - Select Operator [SEL_62] (rows=691171 width=942) + SHUFFLE [RS_66] + Select Operator [SEL_65] (rows=691171 width=942) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12"] - Merge Join Operator [MERGEJOIN_177] (rows=691171 width=942) - Conds:RS_59._col0=RS_60._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col17"] + Merge Join Operator [MERGEJOIN_180] (rows=691171 width=942) + Conds:RS_62._col0=RS_63._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col17"] <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_59] + SHUFFLE [RS_62] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_171] (rows=1568628 width=834) - Conds:RS_180._col2=RS_187._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] + Merge Join Operator [MERGEJOIN_174] (rows=1568628 width=834) + Conds:RS_183._col2=RS_190._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_187] + SHUFFLE [RS_190] PartitionCols:_col0 - Select Operator [SEL_184] (rows=784314 width=4) + Select Operator [SEL_187] (rows=784314 width=4) Output:["_col0"] - Filter Operator [FIL_181] (rows=784314 width=90) + Filter Operator [FIL_184] (rows=784314 width=90) predicate:((ca_state = 'IL') and ca_address_sk is not null) TableScan [TS_3] (rows=40000000 width=90) default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state"] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_180] + SHUFFLE [RS_183] PartitionCols:_col2 - Select Operator [SEL_179] (rows=80000000 width=849) + Select Operator [SEL_182] (rows=80000000 width=849) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] - Filter Operator [FIL_178] (rows=80000000 width=849) + Filter Operator [FIL_181] (rows=80000000 width=849) predicate:(c_current_addr_sk is not null and c_customer_sk is not null) TableScan [TS_0] (rows=80000000 width=849) default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_customer_id","c_current_addr_sk","c_salutation","c_first_name","c_last_name","c_preferred_cust_flag","c_birth_day","c_birth_month","c_birth_year","c_birth_country","c_login","c_email_address","c_last_review_date"] <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_60] + SHUFFLE [RS_63] PartitionCols:_col0 - Select Operator [SEL_55] (rows=704993 width=227) + Select Operator [SEL_58] (rows=704993 width=227) Output:["_col0","_col2"] - Filter Operator [FIL_54] (rows=704993 width=227) + Filter Operator [FIL_57] (rows=704993 width=227) predicate:(_col2 > _col3) - Merge Join Operator [MERGEJOIN_176] (rows=2114980 width=227) - Conds:RS_202._col1=RS_207._col1(Inner),Output:["_col0","_col2","_col3"] + Merge Join Operator [MERGEJOIN_179] (rows=2114980 width=227) + Conds:RS_206._col1=RS_212._col1(Inner),Output:["_col0","_col2","_col3"] <-Reducer 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_207] + SHUFFLE [RS_212] PartitionCols:_col1 - Select Operator [SEL_206] (rows=6 width=198) + Select Operator [SEL_211] (rows=6 width=198) Output:["_col0","_col1"] - Group By Operator [GBY_205] (rows=6 width=206) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0 - Select Operator [SEL_204] (rows=2537976 width=201) - Output:["_col0","_col2"] - Group By Operator [GBY_203] (rows=2537976 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 9 [SIMPLE_EDGE] - SHUFFLE [RS_43] - PartitionCols:_col0 - Group By Operator [GBY_42] (rows=3923529 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 - Merge Join Operator [MERGEJOIN_175] (rows=3923529 width=184) - Conds:RS_38._col2=RS_189._col0(Inner),Output:["_col1","_col3","_col6"] - <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_189] - PartitionCols:_col0 - Select Operator [SEL_186] (rows=40000000 width=90) - Output:["_col0","_col1"] - Filter Operator [FIL_183] (rows=40000000 width=90) - predicate:(ca_address_sk is not null and ca_state is not null) - Please refer to the previous TableScan [TS_3] - <-Reducer 13 [SIMPLE_EDGE] - SHUFFLE [RS_38] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_174] (rows=3923529 width=101) - Conds:RS_195._col0=RS_199._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_195] - PartitionCols:_col0 - Select Operator [SEL_193] (rows=13130761 width=118) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_191] (rows=13130761 width=118) - predicate:(wr_returned_date_sk is not null and wr_returning_addr_sk is not null) - TableScan [TS_6] (rows=14398467 width=118) - default@web_returns,web_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["wr_returned_date_sk","wr_returning_customer_sk","wr_returning_addr_sk","wr_return_amt"] - <-Map 14 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_199] - PartitionCols:_col0 - Select Operator [SEL_197] (rows=652 width=4) - Output:["_col0"] - Filter Operator [FIL_196] (rows=652 width=8) - predicate:((d_year = 2002) and d_date_sk is not null) - TableScan [TS_9] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + Filter Operator [FIL_210] (rows=6 width=206) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_209] (rows=6 width=206) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0 + Select Operator [SEL_208] (rows=2537976 width=201) + Output:["_col0","_col2"] + Group By Operator [GBY_207] (rows=2537976 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_45] + PartitionCols:_col0 + Group By Operator [GBY_44] (rows=3923529 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 + Merge Join Operator [MERGEJOIN_178] (rows=3923529 width=184) + Conds:RS_40._col2=RS_192._col0(Inner),Output:["_col1","_col3","_col6"] + <-Map 5 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_192] + PartitionCols:_col0 + Select Operator [SEL_189] (rows=40000000 width=90) + Output:["_col0","_col1"] + Filter Operator [FIL_186] (rows=40000000 width=90) + predicate:(ca_address_sk is not null and ca_state is not null) + Please refer to the previous TableScan [TS_3] + <-Reducer 13 [SIMPLE_EDGE] + SHUFFLE [RS_40] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_177] (rows=3923529 width=101) + Conds:RS_198._col0=RS_202._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 11 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_198] + PartitionCols:_col0 + Select Operator [SEL_196] (rows=13130761 width=118) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_194] (rows=13130761 width=118) + predicate:(wr_returned_date_sk is not null and wr_returning_addr_sk is not null) + TableScan [TS_6] (rows=14398467 width=118) + default@web_returns,web_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["wr_returned_date_sk","wr_returning_customer_sk","wr_returning_addr_sk","wr_return_amt"] + <-Map 14 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_202] + PartitionCols:_col0 + Select Operator [SEL_200] (rows=652 width=4) + Output:["_col0"] + Filter Operator [FIL_199] (rows=652 width=8) + predicate:((d_year = 2002) and d_date_sk is not null) + TableScan [TS_9] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] <-Reducer 7 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_202] + SHUFFLE [RS_206] PartitionCols:_col1 - Select Operator [SEL_201] (rows=2114980 width=201) - Output:["_col0","_col1","_col2"] - Group By Operator [GBY_200] (rows=2114980 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_23] - PartitionCols:_col0, _col1 - Group By Operator [GBY_22] (rows=3746772 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 - Merge Join Operator [MERGEJOIN_173] (rows=3746772 width=184) - Conds:RS_18._col2=RS_188._col0(Inner),Output:["_col1","_col3","_col6"] - <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_188] - PartitionCols:_col0 - Select Operator [SEL_185] (rows=40000000 width=90) - Output:["_col0","_col1"] - Filter Operator [FIL_182] (rows=40000000 width=90) - predicate:(ca_address_sk is not null and ca_state is not null) - Please refer to the previous TableScan [TS_3] - <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_18] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_172] (rows=3746772 width=101) - Conds:RS_194._col0=RS_198._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_194] - PartitionCols:_col0 - Select Operator [SEL_192] (rows=12539215 width=118) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_190] (rows=12539215 width=118) - predicate:(wr_returned_date_sk is not null and wr_returning_addr_sk is not null and wr_returning_customer_sk is not null) - Please refer to the previous TableScan [TS_6] - <-Map 14 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_198] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_197] + Filter Operator [FIL_205] (rows=2114980 width=201) + predicate:_col2 is not null + Select Operator [SEL_204] (rows=2114980 width=201) + Output:["_col0","_col1","_col2"] + Group By Operator [GBY_203] (rows=2114980 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_23] + PartitionCols:_col0, _col1 + Group By Operator [GBY_22] (rows=3746772 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 + Merge Join Operator [MERGEJOIN_176] (rows=3746772 width=184) + Conds:RS_18._col2=RS_191._col0(Inner),Output:["_col1","_col3","_col6"] + <-Map 5 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_191] + PartitionCols:_col0 + Select Operator [SEL_188] (rows=40000000 width=90) + Output:["_col0","_col1"] + Filter Operator [FIL_185] (rows=40000000 width=90) + predicate:(ca_address_sk is not null and ca_state is not null) + Please refer to the previous TableScan [TS_3] + <-Reducer 12 [SIMPLE_EDGE] + SHUFFLE [RS_18] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_175] (rows=3746772 width=101) + Conds:RS_197._col0=RS_201._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 11 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_197] + PartitionCols:_col0 + Select Operator [SEL_195] (rows=12539215 width=118) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_193] (rows=12539215 width=118) + predicate:(wr_returned_date_sk is not null and wr_returning_addr_sk is not null and wr_returning_customer_sk is not null) + Please refer to the previous TableScan [TS_6] + <-Map 14 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_201] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_200] diff --git a/ql/src/test/results/clientpositive/perf/tez/query32.q.out b/ql/src/test/results/clientpositive/perf/tez/query32.q.out index 627e6177c1..275637c873 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query32.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query32.q.out @@ -63,119 +63,107 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Map 1 <- Reducer 9 (BROADCAST_EDGE) -Map 10 <- Reducer 12 (BROADCAST_EDGE) -Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) -Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 8 (ONE_TO_ONE_EDGE) -Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE) -Reducer 6 <- Map 10 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) +Map 1 <- Reducer 10 (BROADCAST_EDGE) +Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) +Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) +Reducer 4 <- Reducer 3 (ONE_TO_ONE_EDGE), Reducer 7 (ONE_TO_ONE_EDGE) +Reducer 5 <- Reducer 4 (CUSTOM_SIMPLE_EDGE) +Reducer 6 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) Reducer 7 <- Reducer 6 (SIMPLE_EDGE) -Reducer 8 <- Map 11 (SIMPLE_EDGE), Reducer 7 (ONE_TO_ONE_EDGE) -Reducer 9 <- Reducer 8 (CUSTOM_SIMPLE_EDGE) Stage-0 Fetch Operator limit:-1 Stage-1 - Reducer 4 vectorized - File Output Operator [FS_128] - Group By Operator [GBY_127] (rows=1 width=112) + Reducer 5 vectorized + File Output Operator [FS_127] + Group By Operator [GBY_126] (rows=1 width=112) Output:["_col0"],aggregations:["sum(VALUE._col0)"] - <-Reducer 3 [CUSTOM_SIMPLE_EDGE] + <-Reducer 4 [CUSTOM_SIMPLE_EDGE] PARTITION_ONLY_SHUFFLE [RS_36] Group By Operator [GBY_35] (rows=1 width=112) Output:["_col0"],aggregations:["sum(_col2)"] - Select Operator [SEL_34] (rows=2478 width=112) + Select Operator [SEL_34] (rows=32 width=115) Output:["_col2"] - Filter Operator [FIL_33] (rows=2478 width=112) - predicate:(_col2 > _col5) - Merge Join Operator [MERGEJOIN_103] (rows=7434 width=112) - Conds:RS_30._col1=RS_31._col2(Inner),Output:["_col2","_col5"] - <-Reducer 8 [ONE_TO_ONE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_31] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_102] (rows=97 width=116) - Conds:RS_121._col0=RS_110._col0(Inner),Output:["_col1","_col2"] - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_110] + Filter Operator [FIL_33] (rows=32 width=115) + predicate:(_col2 > _col6) + Merge Join Operator [MERGEJOIN_103] (rows=97 width=113) + Conds:RS_30._col4=RS_125._col0(Inner),Output:["_col2","_col6"] + <-Reducer 3 [ONE_TO_ONE_EDGE] + FORWARD [RS_30] + PartitionCols:_col4 + Merge Join Operator [MERGEJOIN_101] (rows=441513 width=4) + Conds:RS_27._col1=RS_106._col0(Inner),Output:["_col2","_col4"] + <-Map 9 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_106] PartitionCols:_col0 - Select Operator [SEL_109] (rows=669 width=4) + Select Operator [SEL_105] (rows=669 width=4) Output:["_col0"] - Filter Operator [FIL_108] (rows=669 width=7) + Filter Operator [FIL_104] (rows=669 width=7) predicate:((i_manufact_id = 269) and i_item_sk is not null) - TableScan [TS_20] (rows=462000 width=7) + TableScan [TS_6] (rows=462000 width=7) default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_manufact_id"] - <-Reducer 7 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_121] - PartitionCols:_col0 - Select Operator [SEL_120] (rows=6951 width=116) - Output:["_col0","_col1"] - Group By Operator [GBY_119] (rows=6951 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_17] - PartitionCols:_col0 - Group By Operator [GBY_16] (rows=97314 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 - Merge Join Operator [MERGEJOIN_101] (rows=31836679 width=110) - Conds:RS_118._col0=RS_107._col0(Inner),Output:["_col1","_col2"] - <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_107] - PartitionCols:_col0 - Select Operator [SEL_105] (rows=8116 width=4) - Output:["_col0"] - Filter Operator [FIL_104] (rows=8116 width=98) - predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00' AND TIMESTAMP'1998-06-16 00:00:00' and d_date_sk is not null) - TableScan [TS_3] (rows=73049 width=98) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"] - <-Map 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_118] - PartitionCols:_col0 - Select Operator [SEL_117] (rows=286549727 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_116] (rows=286549727 width=119) - predicate:((cs_item_sk BETWEEN DynamicValue(RS_24_item_i_item_sk_min) AND DynamicValue(RS_24_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_24_item_i_item_sk_bloom_filter))) and cs_item_sk is not null and cs_sold_date_sk is not null) - TableScan [TS_6] (rows=287989836 width=119) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_ext_discount_amt"] - <-Reducer 12 [BROADCAST_EDGE] vectorized - BROADCAST [RS_115] - Group By Operator [GBY_114] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_113] - Group By Operator [GBY_112] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_111] (rows=669 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_109] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_30] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_100] (rows=31836679 width=110) - Conds:RS_126._col0=RS_106._col0(Inner),Output:["_col1","_col2"] - <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_106] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_105] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_126] - PartitionCols:_col0 - Select Operator [SEL_125] (rows=286549727 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_124] (rows=286549727 width=119) - predicate:((cs_item_sk BETWEEN DynamicValue(RS_31_item_i_item_sk_min) AND DynamicValue(RS_31_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_31_item_i_item_sk_bloom_filter))) and cs_item_sk is not null and cs_sold_date_sk is not null) - TableScan [TS_0] (rows=287989836 width=119) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_ext_discount_amt"] - <-Reducer 9 [BROADCAST_EDGE] vectorized - BROADCAST [RS_123] - Group By Operator [GBY_122] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Reducer 8 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_64] - Group By Operator [GBY_63] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_62] (rows=97 width=8) - Output:["_col0"] - Please refer to the previous Merge Join Operator [MERGEJOIN_102] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_27] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_100] (rows=31677454 width=110) + Conds:RS_116._col0=RS_120._col0(Inner),Output:["_col1","_col2"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_116] + PartitionCols:_col0 + Select Operator [SEL_114] (rows=285116600 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_112] (rows=285116600 width=119) + predicate:(cs_ext_discount_amt is not null and cs_item_sk is not null and cs_sold_date_sk is not null) + TableScan [TS_0] (rows=287989836 width=119) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_ext_discount_amt"] + <-Reducer 10 [BROADCAST_EDGE] vectorized + BROADCAST [RS_111] + Group By Operator [GBY_110] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_109] + Group By Operator [GBY_108] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_107] (rows=669 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_105] + <-Map 8 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_120] + PartitionCols:_col0 + Select Operator [SEL_119] (rows=8116 width=4) + Output:["_col0"] + Filter Operator [FIL_118] (rows=8116 width=98) + predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00' AND TIMESTAMP'1998-06-16 00:00:00' and d_date_sk is not null) + TableScan [TS_3] (rows=73049 width=98) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"] + <-Reducer 7 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_125] + PartitionCols:_col0 + Select Operator [SEL_124] (rows=6951 width=116) + Output:["_col0","_col1"] + Filter Operator [FIL_123] (rows=6951 width=124) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_122] (rows=6951 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_20] + PartitionCols:_col0 + Group By Operator [GBY_19] (rows=97314 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 + Merge Join Operator [MERGEJOIN_102] (rows=31836679 width=110) + Conds:RS_117._col0=RS_121._col0(Inner),Output:["_col1","_col2"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_117] + PartitionCols:_col0 + Select Operator [SEL_115] (rows=286549727 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_113] (rows=286549727 width=119) + predicate:(cs_item_sk is not null and cs_sold_date_sk is not null) + Please refer to the previous TableScan [TS_0] + <-Map 8 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_121] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_119] diff --git a/ql/src/test/results/clientpositive/perf/tez/query44.q.out b/ql/src/test/results/clientpositive/perf/tez/query44.q.out index 0ec015a3eb..e0611fd729 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query44.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query44.q.out @@ -1,4 +1,5 @@ -Warning: Shuffle Join MERGEJOIN[103][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 8' is a cross product +Warning: Shuffle Join MERGEJOIN[151][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 9' is a cross product +Warning: Shuffle Join MERGEJOIN[152][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 10' is a cross product PREHOOK: query: explain select asceding.rnk, i1.i_product_name best_performing, i2.i_product_name worst_performing from(select * @@ -76,120 +77,157 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Reducer 10 <- Reducer 8 (SIMPLE_EDGE) -Reducer 12 <- Map 11 (SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE) +Reducer 10 <- Reducer 16 (CUSTOM_SIMPLE_EDGE), Reducer 9 (CUSTOM_SIMPLE_EDGE) +Reducer 11 <- Reducer 10 (SIMPLE_EDGE) +Reducer 12 <- Reducer 10 (SIMPLE_EDGE) +Reducer 14 <- Map 13 (SIMPLE_EDGE) +Reducer 16 <- Map 15 (SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE) Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE) Reducer 4 <- Reducer 3 (SIMPLE_EDGE) -Reducer 5 <- Map 1 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE) +Reducer 5 <- Map 1 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) Reducer 7 <- Map 6 (SIMPLE_EDGE) -Reducer 8 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 7 (CUSTOM_SIMPLE_EDGE) -Reducer 9 <- Reducer 8 (SIMPLE_EDGE) +Reducer 8 <- Reducer 7 (CUSTOM_SIMPLE_EDGE) +Reducer 9 <- Reducer 14 (CUSTOM_SIMPLE_EDGE), Reducer 8 (CUSTOM_SIMPLE_EDGE) Stage-0 Fetch Operator limit:100 Stage-1 Reducer 4 vectorized - File Output Operator [FS_138] - Limit [LIM_137] (rows=100 width=218) + File Output Operator [FS_203] + Limit [LIM_202] (rows=100 width=218) Number of rows:100 - Select Operator [SEL_136] (rows=6951 width=218) + Select Operator [SEL_201] (rows=6951 width=218) Output:["_col0","_col1","_col2"] <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_69] - Select Operator [SEL_68] (rows=6951 width=218) + SHUFFLE [RS_109] + Select Operator [SEL_108] (rows=6951 width=218) Output:["_col0","_col1","_col2"] - Merge Join Operator [MERGEJOIN_107] (rows=6951 width=218) - Conds:RS_65._col3=RS_66._col3(Inner),Output:["_col1","_col3","_col5"] + Merge Join Operator [MERGEJOIN_157] (rows=6951 width=218) + Conds:RS_105._col3=RS_106._col3(Inner),Output:["_col1","_col3","_col5"] <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_65] + SHUFFLE [RS_105] PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_104] (rows=6951 width=111) - Conds:RS_110._col0=RS_130._col0(Inner),Output:["_col1","_col3"] + Merge Join Operator [MERGEJOIN_153] (rows=6951 width=111) + Conds:RS_160._col0=RS_195._col0(Inner),Output:["_col1","_col3"] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_110] + SHUFFLE [RS_160] PartitionCols:_col0 - Select Operator [SEL_109] (rows=462000 width=111) + Select Operator [SEL_159] (rows=462000 width=111) Output:["_col0","_col1"] - Filter Operator [FIL_108] (rows=462000 width=111) + Filter Operator [FIL_158] (rows=462000 width=111) predicate:i_item_sk is not null TableScan [TS_0] (rows=462000 width=111) default@item,i1,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_product_name"] - <-Reducer 9 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_130] + <-Reducer 11 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_195] PartitionCols:_col0 - Select Operator [SEL_129] (rows=6951 width=8) + Select Operator [SEL_194] (rows=6951 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_128] (rows=6951 width=116) - predicate:((rank_window_0 < 11) and _col0 is not null) - PTF Operator [PTF_127] (rows=20854 width=116) - Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"0"}] - Select Operator [SEL_126] (rows=20854 width=116) - Output:["_col0","_col1"] - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_22] + Filter Operator [FIL_193] (rows=6951 width=116) + predicate:((rank_window_0 < 11) and _col2 is not null) + PTF Operator [PTF_192] (rows=20854 width=116) + Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 ASC NULLS FIRST","partition by:":"0"}] + Select Operator [SEL_191] (rows=20854 width=116) + Output:["_col2","_col3"] + <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_42] PartitionCols:0 - Filter Operator [FIL_21] (rows=20854 width=228) - predicate:(_col1 > (0.9 * _col2)) - Merge Join Operator [MERGEJOIN_103] (rows=62562 width=228) - Conds:(Inner),Output:["_col0","_col1","_col2"] - <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_125] - Select Operator [SEL_124] (rows=1 width=112) - Output:["_col0"] - Group By Operator [GBY_123] (rows=1 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_122] - PartitionCols:_col0 - Group By Operator [GBY_121] (rows=258 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","count(_col1)"],keys:true - Select Operator [SEL_120] (rows=287946 width=114) - Output:["_col1"] - Filter Operator [FIL_119] (rows=287946 width=114) - predicate:((ss_store_sk = 410) and ss_hdemo_sk is null) - TableScan [TS_10] (rows=575995635 width=114) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk","ss_net_profit"] - <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_118] - Select Operator [SEL_117] (rows=62562 width=116) + Filter Operator [FIL_41] (rows=20854 width=228) + predicate:(_col3 > (0.9 * _col1)) + Merge Join Operator [MERGEJOIN_152] (rows=62562 width=228) + Conds:(Inner),Output:["_col1","_col2","_col3"] + <-Reducer 16 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_190] + Select Operator [SEL_189] (rows=62562 width=116) Output:["_col0","_col1"] - Group By Operator [GBY_116] (rows=62562 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 - <-Map 6 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_115] - PartitionCols:_col0 - Group By Operator [GBY_114] (rows=3199976 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(ss_net_profit)","count(ss_net_profit)"],keys:ss_item_sk - Select Operator [SEL_113] (rows=6399952 width=114) - Output:["ss_item_sk","ss_net_profit"] - Filter Operator [FIL_112] (rows=6399952 width=114) - predicate:(ss_store_sk = 410) - TableScan [TS_3] (rows=575995635 width=114) - default@store_sales,ss1,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_store_sk","ss_net_profit"] + Filter Operator [FIL_188] (rows=62562 width=124) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_187] (rows=62562 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 + <-Map 15 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_186] + PartitionCols:_col0 + Group By Operator [GBY_185] (rows=3199976 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(ss_net_profit)","count(ss_net_profit)"],keys:ss_item_sk + Select Operator [SEL_184] (rows=6399952 width=114) + Output:["ss_item_sk","ss_net_profit"] + Filter Operator [FIL_183] (rows=6399952 width=114) + predicate:(ss_store_sk = 410) + TableScan [TS_27] (rows=575995635 width=114) + default@store_sales,ss1,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_store_sk","ss_net_profit"] + <-Reducer 9 [CUSTOM_SIMPLE_EDGE] + PARTITION_ONLY_SHUFFLE [RS_38] + Merge Join Operator [MERGEJOIN_151] (rows=1 width=112) + Conds:(Inner),Output:["_col1"] + <-Reducer 14 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_182] + Select Operator [SEL_181] (rows=1 width=112) + Output:["_col0"] + Filter Operator [FIL_180] (rows=1 width=120) + predicate:(_col1 is not null and _col2 is not null) + Select Operator [SEL_179] (rows=1 width=120) + Output:["_col1","_col2"] + Group By Operator [GBY_178] (rows=1 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 + <-Map 13 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_177] + PartitionCols:_col0 + Group By Operator [GBY_176] (rows=258 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","count(_col1)"],keys:true + Select Operator [SEL_175] (rows=287946 width=114) + Output:["_col1"] + Filter Operator [FIL_174] (rows=287946 width=114) + predicate:((ss_store_sk = 410) and ss_hdemo_sk is null) + TableScan [TS_18] (rows=575995635 width=114) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk","ss_net_profit"] + <-Reducer 8 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_173] + Select Operator [SEL_172] (rows=1 width=8) + Filter Operator [FIL_171] (rows=1 width=8) + predicate:(sq_count_check(_col0) <= 1) + Group By Operator [GBY_170] (rows=1 width=8) + Output:["_col0"],aggregations:["count(VALUE._col0)"] + <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_169] + Group By Operator [GBY_168] (rows=1 width=8) + Output:["_col0"],aggregations:["count()"] + Select Operator [SEL_167] (rows=1 width=4) + Group By Operator [GBY_166] (rows=1 width=4) + Output:["_col0"],keys:KEY._col0 + <-Map 6 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_165] + PartitionCols:_col0 + Group By Operator [GBY_164] (rows=18 width=4) + Output:["_col0"],keys:true + Select Operator [SEL_163] (rows=287946 width=7) + Filter Operator [FIL_162] (rows=287946 width=7) + predicate:((ss_store_sk = 410) and ss_hdemo_sk is null) + TableScan [TS_3] (rows=575995635 width=7) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk"] <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_66] + SHUFFLE [RS_106] PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_106] (rows=6951 width=111) - Conds:RS_111._col0=RS_135._col0(Inner),Output:["_col1","_col3"] + Merge Join Operator [MERGEJOIN_156] (rows=6951 width=111) + Conds:RS_161._col0=RS_200._col0(Inner),Output:["_col1","_col3"] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_111] + SHUFFLE [RS_161] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_109] - <-Reducer 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_135] + Please refer to the previous Select Operator [SEL_159] + <-Reducer 12 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_200] PartitionCols:_col0 - Select Operator [SEL_134] (rows=6951 width=8) + Select Operator [SEL_199] (rows=6951 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_133] (rows=6951 width=116) - predicate:((rank_window_0 < 11) and _col0 is not null) - PTF Operator [PTF_132] (rows=20854 width=116) - Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 DESC NULLS LAST","partition by:":"0"}] - Select Operator [SEL_131] (rows=20854 width=116) - Output:["_col0","_col1"] - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_51] + Filter Operator [FIL_198] (rows=6951 width=116) + predicate:((rank_window_0 < 11) and _col2 is not null) + PTF Operator [PTF_197] (rows=20854 width=116) + Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 DESC NULLS LAST","partition by:":"0"}] + Select Operator [SEL_196] (rows=20854 width=116) + Output:["_col2","_col3"] + <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_91] PartitionCols:0 - Please refer to the previous Filter Operator [FIL_21] + Please refer to the previous Filter Operator [FIL_41] diff --git a/ql/src/test/results/clientpositive/perf/tez/query54.q.out b/ql/src/test/results/clientpositive/perf/tez/query54.q.out index a7d51017da..a347e95e3e 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query54.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query54.q.out @@ -163,120 +163,124 @@ Stage-0 limit:100 Stage-1 Reducer 10 vectorized - File Output Operator [FS_352] - Limit [LIM_351] (rows=1 width=16) + File Output Operator [FS_354] + Limit [LIM_353] (rows=1 width=16) Number of rows:100 - Select Operator [SEL_350] (rows=1 width=16) + Select Operator [SEL_352] (rows=1 width=16) Output:["_col0","_col1","_col2"] <-Reducer 9 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_349] - Select Operator [SEL_348] (rows=1 width=16) + SHUFFLE [RS_351] + Select Operator [SEL_350] (rows=1 width=16) Output:["_col0","_col1","_col2"] - Group By Operator [GBY_347] (rows=1 width=12) + Group By Operator [GBY_349] (rows=1 width=12) Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0 <-Reducer 8 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_346] + SHUFFLE [RS_348] PartitionCols:_col0 - Group By Operator [GBY_345] (rows=1 width=12) + Group By Operator [GBY_347] (rows=1 width=12) Output:["_col0","_col1"],aggregations:["count()"],keys:_col0 - Select Operator [SEL_344] (rows=1 width=116) + Select Operator [SEL_346] (rows=1 width=116) Output:["_col0"] - Group By Operator [GBY_343] (rows=1 width=116) + Group By Operator [GBY_345] (rows=1 width=116) Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 <-Reducer 7 [SIMPLE_EDGE] SHUFFLE [RS_118] PartitionCols:_col0 - Group By Operator [GBY_117] (rows=302 width=116) + Group By Operator [GBY_117] (rows=2 width=116) Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col10 - Select Operator [SEL_116] (rows=624257216 width=123) + Select Operator [SEL_116] (rows=3995246 width=96) Output:["_col2","_col10"] - Filter Operator [FIL_115] (rows=624257216 width=123) + Filter Operator [FIL_115] (rows=3995246 width=96) predicate:(_col4 <= _col15) - Merge Join Operator [MERGEJOIN_272] (rows=1872771650 width=123) + Merge Join Operator [MERGEJOIN_272] (rows=11985738 width=96) Conds:(Inner),Output:["_col2","_col4","_col10","_col15"] <-Reducer 33 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_342] - Group By Operator [GBY_341] (rows=25 width=4) + PARTITION_ONLY_SHUFFLE [RS_344] + Group By Operator [GBY_343] (rows=2 width=4) Output:["_col0"],keys:KEY._col0 <-Map 27 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_322] + SHUFFLE [RS_324] PartitionCols:_col0 - Group By Operator [GBY_318] (rows=25 width=4) + Group By Operator [GBY_320] (rows=2 width=4) Output:["_col0"],keys:_col0 - Select Operator [SEL_314] (rows=50 width=12) + Select Operator [SEL_316] (rows=50 width=12) Output:["_col0"] - Filter Operator [FIL_310] (rows=50 width=12) - predicate:((d_moy = 3) and (d_year = 1999)) + Filter Operator [FIL_312] (rows=50 width=12) + predicate:((d_moy = 3) and (d_year = 1999) and d_month_seq is not null) TableScan [TS_50] (rows=73049 width=12) default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_month_seq","d_year","d_moy"] <-Reducer 6 [CUSTOM_SIMPLE_EDGE] PARTITION_ONLY_SHUFFLE [RS_112] - Filter Operator [FIL_111] (rows=74910866 width=119) + Filter Operator [FIL_111] (rows=5992869 width=68) predicate:(_col14 <= _col4) - Merge Join Operator [MERGEJOIN_271] (rows=224732600 width=119) + Merge Join Operator [MERGEJOIN_271] (rows=17978608 width=68) Conds:(Inner),Output:["_col2","_col4","_col10","_col14"] <-Reducer 32 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_340] - Group By Operator [GBY_339] (rows=25 width=4) + PARTITION_ONLY_SHUFFLE [RS_342] + Group By Operator [GBY_341] (rows=2 width=4) Output:["_col0"],keys:KEY._col0 <-Map 27 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_321] + SHUFFLE [RS_323] PartitionCols:_col0 - Group By Operator [GBY_317] (rows=25 width=4) + Group By Operator [GBY_319] (rows=2 width=4) Output:["_col0"],keys:_col0 - Select Operator [SEL_313] (rows=50 width=12) + Select Operator [SEL_315] (rows=50 width=12) Output:["_col0"] - Please refer to the previous Filter Operator [FIL_310] + Filter Operator [FIL_311] (rows=50 width=12) + predicate:((d_moy = 3) and (d_year = 1999) and d_month_seq is not null) + Please refer to the previous TableScan [TS_50] <-Reducer 5 [CUSTOM_SIMPLE_EDGE] PARTITION_ONLY_SHUFFLE [RS_108] Merge Join Operator [MERGEJOIN_270] (rows=8989304 width=8) Conds:(Inner),Output:["_col2","_col4","_col10"] <-Reducer 31 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_338] - Select Operator [SEL_337] (rows=1 width=8) - Filter Operator [FIL_336] (rows=1 width=8) + PARTITION_ONLY_SHUFFLE [RS_340] + Select Operator [SEL_339] (rows=1 width=8) + Filter Operator [FIL_338] (rows=1 width=8) predicate:(sq_count_check(_col0) <= 1) - Group By Operator [GBY_335] (rows=1 width=8) + Group By Operator [GBY_337] (rows=1 width=8) Output:["_col0"],aggregations:["count(VALUE._col0)"] <-Reducer 30 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_334] - Group By Operator [GBY_333] (rows=1 width=8) + PARTITION_ONLY_SHUFFLE [RS_336] + Group By Operator [GBY_335] (rows=1 width=8) Output:["_col0"],aggregations:["count()"] - Select Operator [SEL_332] (rows=25 width=4) - Group By Operator [GBY_331] (rows=25 width=4) + Select Operator [SEL_334] (rows=25 width=4) + Group By Operator [GBY_333] (rows=25 width=4) Output:["_col0"],keys:KEY._col0 <-Map 27 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_320] + SHUFFLE [RS_322] PartitionCols:_col0 - Group By Operator [GBY_316] (rows=25 width=4) + Group By Operator [GBY_318] (rows=25 width=4) Output:["_col0"],keys:_col0 - Select Operator [SEL_312] (rows=50 width=12) + Select Operator [SEL_314] (rows=50 width=12) Output:["_col0"] - Please refer to the previous Filter Operator [FIL_310] + Filter Operator [FIL_310] (rows=50 width=12) + predicate:((d_moy = 3) and (d_year = 1999)) + Please refer to the previous TableScan [TS_50] <-Reducer 4 [CUSTOM_SIMPLE_EDGE] PARTITION_ONLY_SHUFFLE [RS_105] Merge Join Operator [MERGEJOIN_269] (rows=8989304 width=8) Conds:(Inner),Output:["_col2","_col4","_col10"] <-Reducer 29 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_330] - Select Operator [SEL_329] (rows=1 width=8) - Filter Operator [FIL_328] (rows=1 width=8) + PARTITION_ONLY_SHUFFLE [RS_332] + Select Operator [SEL_331] (rows=1 width=8) + Filter Operator [FIL_330] (rows=1 width=8) predicate:(sq_count_check(_col0) <= 1) - Group By Operator [GBY_327] (rows=1 width=8) + Group By Operator [GBY_329] (rows=1 width=8) Output:["_col0"],aggregations:["count(VALUE._col0)"] <-Reducer 28 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_326] - Group By Operator [GBY_325] (rows=1 width=8) + PARTITION_ONLY_SHUFFLE [RS_328] + Group By Operator [GBY_327] (rows=1 width=8) Output:["_col0"],aggregations:["count()"] - Select Operator [SEL_324] (rows=25 width=4) - Group By Operator [GBY_323] (rows=25 width=4) + Select Operator [SEL_326] (rows=25 width=4) + Group By Operator [GBY_325] (rows=25 width=4) Output:["_col0"],keys:KEY._col0 <-Map 27 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_319] + SHUFFLE [RS_321] PartitionCols:_col0 - Group By Operator [GBY_315] (rows=25 width=4) + Group By Operator [GBY_317] (rows=25 width=4) Output:["_col0"],keys:_col0 - Select Operator [SEL_311] (rows=50 width=12) + Select Operator [SEL_313] (rows=50 width=12) Output:["_col0"] Please refer to the previous Filter Operator [FIL_310] <-Reducer 3 [CUSTOM_SIMPLE_EDGE] @@ -364,17 +368,17 @@ Stage-0 default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"] <-Union 17 [SIMPLE_EDGE] <-Map 16 [CONTAINS] vectorized - Reduce Output Operator [RS_358] + Reduce Output Operator [RS_360] PartitionCols:_col0 - Select Operator [SEL_357] (rows=285117831 width=11) + Select Operator [SEL_359] (rows=285117831 width=11) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_356] (rows=285117831 width=11) + Filter Operator [FIL_358] (rows=285117831 width=11) predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_30_date_dim_d_date_sk_min) AND DynamicValue(RS_30_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_30_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) TableScan [TS_273] (rows=287989836 width=11) Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk"] <-Reducer 24 [BROADCAST_EDGE] vectorized - BROADCAST [RS_354] - Group By Operator [GBY_353] (rows=1 width=12) + BROADCAST [RS_356] + Group By Operator [GBY_355] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized PARTITION_ONLY_SHUFFLE [RS_300] @@ -384,17 +388,17 @@ Stage-0 Output:["_col0"] Please refer to the previous Select Operator [SEL_296] <-Map 22 [CONTAINS] vectorized - Reduce Output Operator [RS_361] + Reduce Output Operator [RS_363] PartitionCols:_col0 - Select Operator [SEL_360] (rows=143930993 width=11) + Select Operator [SEL_362] (rows=143930993 width=11) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_359] (rows=143930993 width=11) + Filter Operator [FIL_361] (rows=143930993 width=11) predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_30_date_dim_d_date_sk_min) AND DynamicValue(RS_30_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_30_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null) TableScan [TS_278] (rows=144002668 width=11) Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk"] <-Reducer 24 [BROADCAST_EDGE] vectorized - BROADCAST [RS_355] - Please refer to the previous Group By Operator [GBY_353] + BROADCAST [RS_357] + Please refer to the previous Group By Operator [GBY_355] <-Reducer 2 [SIMPLE_EDGE] SHUFFLE [RS_99] PartitionCols:_col1 @@ -415,7 +419,7 @@ Stage-0 Select Operator [SEL_287] (rows=73049 width=8) Output:["_col0","_col1"] Filter Operator [FIL_286] (rows=73049 width=8) - predicate:d_date_sk is not null + predicate:(d_date_sk is not null and d_month_seq is not null) TableScan [TS_3] (rows=73049 width=8) default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"] diff --git a/ql/src/test/results/clientpositive/perf/tez/query6.q.out b/ql/src/test/results/clientpositive/perf/tez/query6.q.out index 73c9a3c792..238a9ee842 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query6.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query6.q.out @@ -1,4 +1,4 @@ -Warning: Map Join MAPJOIN[171][bigTable=?] in task 'Reducer 15' is a cross product +Warning: Map Join MAPJOIN[172][bigTable=?] in task 'Reducer 15' is a cross product PREHOOK: query: explain select a.ca_state state, count(*) cnt from customer_address a @@ -83,155 +83,157 @@ Stage-0 limit:100 Stage-1 Reducer 10 vectorized - File Output Operator [FS_234] - Limit [LIM_233] (rows=1 width=94) + File Output Operator [FS_236] + Limit [LIM_235] (rows=1 width=94) Number of rows:100 - Select Operator [SEL_232] (rows=1 width=94) + Select Operator [SEL_234] (rows=1 width=94) Output:["_col0","_col1"] <-Reducer 9 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_231] - Filter Operator [FIL_230] (rows=1 width=94) + SHUFFLE [RS_233] + Filter Operator [FIL_232] (rows=1 width=94) predicate:(_col1 >= 10L) - Group By Operator [GBY_229] (rows=1 width=94) + Group By Operator [GBY_231] (rows=1 width=94) Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0 <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_69] + SHUFFLE [RS_70] PartitionCols:_col0 - Group By Operator [GBY_68] (rows=1 width=94) + Group By Operator [GBY_69] (rows=1 width=94) Output:["_col0","_col1"],aggregations:["count()"],keys:_col9 - Merge Join Operator [MERGEJOIN_174] (rows=500 width=86) - Conds:RS_64._col4=RS_213._col0(Inner),Output:["_col9"] + Merge Join Operator [MERGEJOIN_175] (rows=500 width=86) + Conds:RS_65._col4=RS_215._col0(Inner),Output:["_col9"] <-Map 16 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_213] + SHUFFLE [RS_215] PartitionCols:_col0 - Select Operator [SEL_212] (rows=154000 width=227) + Select Operator [SEL_214] (rows=153611 width=227) Output:["_col0"] - Filter Operator [FIL_211] (rows=154000 width=227) + Filter Operator [FIL_213] (rows=153611 width=227) predicate:(_col4 > _col1) - Map Join Operator [MAPJOIN_210] (rows=462000 width=227) - Conds:RS_207._col0=SEL_209._col2(Inner),HybridGraceHashJoin:true,Output:["_col1","_col3","_col4"] + Map Join Operator [MAPJOIN_212] (rows=460833 width=227) + Conds:RS_209._col0=SEL_211._col2(Inner),HybridGraceHashJoin:true,Output:["_col1","_col3","_col4"] <-Reducer 15 [BROADCAST_EDGE] vectorized - BROADCAST [RS_207] + BROADCAST [RS_209] PartitionCols:_col0 - Map Join Operator [MAPJOIN_206] (rows=10 width=202) + Map Join Operator [MAPJOIN_208] (rows=10 width=202) Conds:(Inner),Output:["_col0","_col1"] <-Reducer 5 [BROADCAST_EDGE] vectorized - BROADCAST [RS_203] - Select Operator [SEL_202] (rows=1 width=8) - Filter Operator [FIL_201] (rows=1 width=8) + BROADCAST [RS_204] + Select Operator [SEL_203] (rows=1 width=8) + Filter Operator [FIL_202] (rows=1 width=8) predicate:(sq_count_check(_col0) <= 1) - Group By Operator [GBY_200] (rows=1 width=8) + Group By Operator [GBY_201] (rows=1 width=8) Output:["_col0"],aggregations:["count(VALUE._col0)"] <-Reducer 4 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_199] - Group By Operator [GBY_198] (rows=1 width=8) + PARTITION_ONLY_SHUFFLE [RS_200] + Group By Operator [GBY_199] (rows=1 width=8) Output:["_col0"],aggregations:["count()"] - Select Operator [SEL_197] (rows=25 width=4) - Group By Operator [GBY_196] (rows=25 width=4) + Select Operator [SEL_198] (rows=25 width=4) + Group By Operator [GBY_197] (rows=25 width=4) Output:["_col0"],keys:KEY._col0 <-Map 2 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_186] + SHUFFLE [RS_187] PartitionCols:_col0 - Group By Operator [GBY_184] (rows=25 width=4) + Group By Operator [GBY_185] (rows=25 width=4) Output:["_col0"],keys:d_month_seq - Select Operator [SEL_182] (rows=50 width=12) + Select Operator [SEL_183] (rows=50 width=12) Output:["d_month_seq"] - Filter Operator [FIL_180] (rows=50 width=12) + Filter Operator [FIL_181] (rows=50 width=12) predicate:((d_moy = 2) and (d_year = 2000)) TableScan [TS_3] (rows=73049 width=12) default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_month_seq","d_year","d_moy"] - <-Select Operator [SEL_205] (rows=10 width=202) + <-Select Operator [SEL_207] (rows=10 width=202) Output:["_col0","_col1"] - Group By Operator [GBY_204] (rows=10 width=210) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 - <-Map 14 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_195] - PartitionCols:_col0 - Group By Operator [GBY_194] (rows=10 width=210) - Output:["_col0","_col1","_col2"],aggregations:["sum(i_current_price)","count(i_current_price)"],keys:i_category - Filter Operator [FIL_193] (rows=462000 width=201) - predicate:i_category is not null - TableScan [TS_23] (rows=462000 width=201) - default@item,j,Tbl:COMPLETE,Col:COMPLETE,Output:["i_current_price","i_category"] - <-Select Operator [SEL_209] (rows=462000 width=205) + Filter Operator [FIL_206] (rows=10 width=210) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_205] (rows=10 width=210) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 + <-Map 14 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_196] + PartitionCols:_col0 + Group By Operator [GBY_195] (rows=10 width=210) + Output:["_col0","_col1","_col2"],aggregations:["sum(i_current_price)","count(i_current_price)"],keys:i_category + Filter Operator [FIL_194] (rows=462000 width=201) + predicate:i_category is not null + TableScan [TS_23] (rows=462000 width=201) + default@item,j,Tbl:COMPLETE,Col:COMPLETE,Output:["i_current_price","i_category"] + <-Select Operator [SEL_211] (rows=460833 width=205) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_208] (rows=462000 width=205) - predicate:(i_category is not null and i_item_sk is not null) - TableScan [TS_44] (rows=462000 width=205) + Filter Operator [FIL_210] (rows=460833 width=205) + predicate:(i_category is not null and i_current_price is not null and i_item_sk is not null) + TableScan [TS_45] (rows=462000 width=205) default@item,i,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_category"] <-Reducer 7 [SIMPLE_EDGE] - SHUFFLE [RS_64] + SHUFFLE [RS_65] PartitionCols:_col4 - Merge Join Operator [MERGEJOIN_173] (rows=7192227 width=90) - Conds:RS_222._col5=RS_62._col0(Inner),Output:["_col4","_col9"] + Merge Join Operator [MERGEJOIN_174] (rows=7192227 width=90) + Conds:RS_224._col5=RS_63._col0(Inner),Output:["_col4","_col9"] <-Map 6 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_222] + SHUFFLE [RS_224] PartitionCols:_col5 - Map Join Operator [MAPJOIN_221] (rows=7192227 width=4) - Conds:RS_192._col0=SEL_220._col0(Inner),HybridGraceHashJoin:true,Output:["_col4","_col5"] + Map Join Operator [MAPJOIN_223] (rows=7192227 width=4) + Conds:RS_193._col0=SEL_222._col0(Inner),HybridGraceHashJoin:true,Output:["_col4","_col5"] <-Map 1 [BROADCAST_EDGE] vectorized - BROADCAST [RS_192] + BROADCAST [RS_193] PartitionCols:_col0 - Map Join Operator [MAPJOIN_191] (rows=660 width=4) - Conds:SEL_190._col1=RS_188._col0(Inner),HybridGraceHashJoin:true,Output:["_col0"] + Map Join Operator [MAPJOIN_192] (rows=660 width=4) + Conds:SEL_191._col1=RS_189._col0(Inner),HybridGraceHashJoin:true,Output:["_col0"] <-Reducer 3 [BROADCAST_EDGE] vectorized - BROADCAST [RS_188] + BROADCAST [RS_189] PartitionCols:_col0 - Group By Operator [GBY_187] (rows=25 width=4) + Group By Operator [GBY_188] (rows=25 width=4) Output:["_col0"],keys:KEY._col0 <-Map 2 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_185] + SHUFFLE [RS_186] PartitionCols:_col0 - Group By Operator [GBY_183] (rows=25 width=4) + Group By Operator [GBY_184] (rows=25 width=4) Output:["_col0"],keys:d_month_seq - Select Operator [SEL_181] (rows=50 width=12) + Select Operator [SEL_182] (rows=50 width=12) Output:["d_month_seq"] - Filter Operator [FIL_179] (rows=50 width=12) + Filter Operator [FIL_180] (rows=50 width=12) predicate:((d_moy = 2) and (d_year = 2000) and d_month_seq is not null) Please refer to the previous TableScan [TS_3] - <-Select Operator [SEL_190] (rows=73049 width=8) + <-Select Operator [SEL_191] (rows=73049 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_189] (rows=73049 width=8) + Filter Operator [FIL_190] (rows=73049 width=8) predicate:(d_date_sk is not null and d_month_seq is not null) TableScan [TS_0] (rows=73049 width=8) default@date_dim,d,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"] - <-Select Operator [SEL_220] (rows=525327388 width=11) + <-Select Operator [SEL_222] (rows=525327388 width=11) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_219] (rows=525327388 width=11) - predicate:((ss_item_sk BETWEEN DynamicValue(RS_65_i_i_item_sk_min) AND DynamicValue(RS_65_i_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_65_i_i_item_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null) + Filter Operator [FIL_221] (rows=525327388 width=11) + predicate:((ss_item_sk BETWEEN DynamicValue(RS_66_i_i_item_sk_min) AND DynamicValue(RS_66_i_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_66_i_i_item_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null) TableScan [TS_10] (rows=575995635 width=11) default@store_sales,s,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk"] <-Reducer 17 [BROADCAST_EDGE] vectorized - BROADCAST [RS_218] - Group By Operator [GBY_217] (rows=1 width=12) + BROADCAST [RS_220] + Group By Operator [GBY_219] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_216] - Group By Operator [GBY_215] (rows=1 width=12) + SHUFFLE [RS_218] + Group By Operator [GBY_217] (rows=1 width=12) Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_214] (rows=154000 width=4) + Select Operator [SEL_216] (rows=153611 width=4) Output:["_col0"] - Please refer to the previous Select Operator [SEL_212] + Please refer to the previous Select Operator [SEL_214] <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_62] + SHUFFLE [RS_63] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_170] (rows=80000000 width=90) - Conds:RS_225._col1=RS_228._col0(Inner),Output:["_col0","_col3"] + Merge Join Operator [MERGEJOIN_171] (rows=80000000 width=90) + Conds:RS_227._col1=RS_230._col0(Inner),Output:["_col0","_col3"] <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_225] + SHUFFLE [RS_227] PartitionCols:_col1 - Select Operator [SEL_224] (rows=80000000 width=8) + Select Operator [SEL_226] (rows=80000000 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_223] (rows=80000000 width=8) + Filter Operator [FIL_225] (rows=80000000 width=8) predicate:(c_current_addr_sk is not null and c_customer_sk is not null) TableScan [TS_13] (rows=80000000 width=8) default@customer,c,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk"] <-Map 13 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_228] + SHUFFLE [RS_230] PartitionCols:_col0 - Select Operator [SEL_227] (rows=40000000 width=90) + Select Operator [SEL_229] (rows=40000000 width=90) Output:["_col0","_col1"] - Filter Operator [FIL_226] (rows=40000000 width=90) + Filter Operator [FIL_228] (rows=40000000 width=90) predicate:ca_address_sk is not null TableScan [TS_16] (rows=40000000 width=90) default@customer_address,a,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state"] diff --git a/ql/src/test/results/clientpositive/perf/tez/query64.q.out b/ql/src/test/results/clientpositive/perf/tez/query64.q.out index 14bc6f0837..fe47585fd7 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query64.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query64.q.out @@ -315,468 +315,476 @@ Stage-0 limit:-1 Stage-1 Reducer 12 vectorized - File Output Operator [FS_1208] - Select Operator [SEL_1207] (rows=98871277768 width=1702) + File Output Operator [FS_1216] + Select Operator [SEL_1215] (rows=98871277768 width=1702) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20"] <-Reducer 11 [SIMPLE_EDGE] - SHUFFLE [RS_255] - Select Operator [SEL_254] (rows=98871277768 width=1694) + SHUFFLE [RS_259] + Select Operator [SEL_258] (rows=98871277768 width=1694) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18"] - Filter Operator [FIL_253] (rows=98871277768 width=1694) + Filter Operator [FIL_257] (rows=98871277768 width=1694) predicate:(_col19 <= _col12) - Merge Join Operator [MERGEJOIN_1107] (rows=296613833305 width=1694) - Conds:RS_1189._col2, _col1, _col3=RS_1206._col1, _col0, _col2(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col19","_col20","_col21","_col22"] + Merge Join Operator [MERGEJOIN_1111] (rows=296613833305 width=1694) + Conds:RS_1195._col2, _col1, _col3=RS_1214._col1, _col0, _col2(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col19","_col20","_col21","_col22"] <-Reducer 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1189] + SHUFFLE [RS_1195] PartitionCols:_col2, _col1, _col3 - Select Operator [SEL_1188] (rows=20709988 width=1354) + Select Operator [SEL_1194] (rows=20709988 width=1354) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] - Group By Operator [GBY_1187] (rows=20709988 width=1362) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9, KEY._col10, KEY._col11, KEY._col12, KEY._col13 - <-Reducer 9 [SIMPLE_EDGE] - SHUFFLE [RS_122] - PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13 - Group By Operator [GBY_121] (rows=20709988 width=1362) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count()","sum(_col42)","sum(_col43)","sum(_col44)"],keys:_col28, _col45, _col29, _col7, _col9, _col14, _col15, _col16, _col17, _col23, _col24, _col25, _col26, _col46 - Merge Join Operator [MERGEJOIN_1088] (rows=21002852 width=1122) - Conds:RS_117._col31=RS_1135._col0(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col23","_col24","_col25","_col26","_col28","_col29","_col42","_col43","_col44","_col45","_col46"] - <-Map 36 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1135] - PartitionCols:_col0 - Select Operator [SEL_1133] (rows=20 width=4) - Output:["_col0"] - Filter Operator [FIL_1132] (rows=20 width=4) - predicate:ib_income_band_sk is not null - TableScan [TS_12] (rows=20 width=4) - default@income_band,ib2,Tbl:COMPLETE,Col:COMPLETE,Output:["ib_income_band_sk"] - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_117] - PartitionCols:_col31 - Filter Operator [FIL_116] (rows=21002852 width=1296) - predicate:(_col50 <> _col19) - Merge Join Operator [MERGEJOIN_1087] (rows=21002852 width=1296) - Conds:RS_113._col36=RS_1144._col0(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col23","_col24","_col25","_col26","_col28","_col29","_col31","_col42","_col43","_col44","_col45","_col46","_col50"] - <-Map 53 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1144] - PartitionCols:_col0 - Select Operator [SEL_1143] (rows=1861800 width=89) - Output:["_col0","_col1"] - Filter Operator [FIL_1142] (rows=1861800 width=89) - predicate:cd_demo_sk is not null - TableScan [TS_89] (rows=1861800 width=89) - default@customer_demographics,cd1,Tbl:COMPLETE,Col:COMPLETE,Output:["cd_demo_sk","cd_marital_status"] - <-Reducer 7 [SIMPLE_EDGE] - SHUFFLE [RS_113] - PartitionCols:_col36 - Merge Join Operator [MERGEJOIN_1086] (rows=20709988 width=1209) - Conds:RS_110._col0=RS_111._col15(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col23","_col24","_col25","_col26","_col28","_col29","_col31","_col36","_col42","_col43","_col44","_col45","_col46"] - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_110] + Filter Operator [FIL_1193] (rows=20709988 width=1362) + predicate:_col14 is not null + Select Operator [SEL_1192] (rows=20709988 width=1362) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col14","_col15","_col16","_col17"] + Group By Operator [GBY_1191] (rows=20709988 width=1362) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9, KEY._col10, KEY._col11, KEY._col12, KEY._col13 + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_122] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13 + Group By Operator [GBY_121] (rows=20709988 width=1362) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count()","sum(_col42)","sum(_col43)","sum(_col44)"],keys:_col28, _col45, _col29, _col7, _col9, _col14, _col15, _col16, _col17, _col23, _col24, _col25, _col26, _col46 + Merge Join Operator [MERGEJOIN_1092] (rows=21002852 width=1122) + Conds:RS_117._col31=RS_1139._col0(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col23","_col24","_col25","_col26","_col28","_col29","_col42","_col43","_col44","_col45","_col46"] + <-Map 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1139] + PartitionCols:_col0 + Select Operator [SEL_1137] (rows=20 width=4) + Output:["_col0"] + Filter Operator [FIL_1136] (rows=20 width=4) + predicate:ib_income_band_sk is not null + TableScan [TS_12] (rows=20 width=4) + default@income_band,ib2,Tbl:COMPLETE,Col:COMPLETE,Output:["ib_income_band_sk"] + <-Reducer 8 [SIMPLE_EDGE] + SHUFFLE [RS_117] + PartitionCols:_col31 + Filter Operator [FIL_116] (rows=21002852 width=1296) + predicate:(_col50 <> _col19) + Merge Join Operator [MERGEJOIN_1091] (rows=21002852 width=1296) + Conds:RS_113._col36=RS_1148._col0(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col23","_col24","_col25","_col26","_col28","_col29","_col31","_col42","_col43","_col44","_col45","_col46","_col50"] + <-Map 53 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1148] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_1076] (rows=70357394 width=458) - Conds:RS_107._col1=RS_1145._col0(Inner),Output:["_col0","_col7","_col9","_col14","_col15","_col16","_col17","_col19"] - <-Map 53 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1145] + Select Operator [SEL_1147] (rows=1861800 width=89) + Output:["_col0","_col1"] + Filter Operator [FIL_1146] (rows=1861800 width=89) + predicate:cd_demo_sk is not null + TableScan [TS_89] (rows=1861800 width=89) + default@customer_demographics,cd1,Tbl:COMPLETE,Col:COMPLETE,Output:["cd_demo_sk","cd_marital_status"] + <-Reducer 7 [SIMPLE_EDGE] + SHUFFLE [RS_113] + PartitionCols:_col36 + Merge Join Operator [MERGEJOIN_1090] (rows=20709988 width=1209) + Conds:RS_110._col0=RS_111._col15(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col23","_col24","_col25","_col26","_col28","_col29","_col31","_col36","_col42","_col43","_col44","_col45","_col46"] + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_110] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1143] - <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_107] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1075] (rows=69376329 width=376) - Conds:RS_104._col3=RS_1139._col0(Inner),Output:["_col0","_col1","_col7","_col9","_col14","_col15","_col16","_col17"] - <-Map 37 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1139] + Merge Join Operator [MERGEJOIN_1080] (rows=70357394 width=458) + Conds:RS_107._col1=RS_1149._col0(Inner),Output:["_col0","_col7","_col9","_col14","_col15","_col16","_col17","_col19"] + <-Map 53 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1149] PartitionCols:_col0 - Select Operator [SEL_1138] (rows=40000000 width=365) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_1137] (rows=40000000 width=365) - predicate:ca_address_sk is not null - TableScan [TS_19] (rows=40000000 width=365) - default@customer_address,ad2,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_street_number","ca_street_name","ca_city","ca_zip"] - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_104] - PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_1074] (rows=69376329 width=19) - Conds:RS_101._col2=RS_102._col0(Inner),Output:["_col0","_col1","_col3","_col7","_col9"] - <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_101] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_1072] (rows=69376329 width=23) - Conds:RS_98._col4=RS_1118._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col7","_col9"] - <-Map 17 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1118] - PartitionCols:_col0 - Select Operator [SEL_1114] (rows=73049 width=8) - Output:["_col0","_col1"] - Filter Operator [FIL_1111] (rows=73049 width=8) - predicate:d_date_sk is not null - TableScan [TS_3] (rows=73049 width=8) - default@date_dim,d2,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_98] - PartitionCols:_col4 - Merge Join Operator [MERGEJOIN_1071] (rows=69376329 width=23) - Conds:RS_1110._col5=RS_1117._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col7"] + Please refer to the previous Select Operator [SEL_1147] + <-Reducer 5 [SIMPLE_EDGE] + SHUFFLE [RS_107] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1079] (rows=69376329 width=376) + Conds:RS_104._col3=RS_1143._col0(Inner),Output:["_col0","_col1","_col7","_col9","_col14","_col15","_col16","_col17"] + <-Map 37 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1143] + PartitionCols:_col0 + Select Operator [SEL_1142] (rows=40000000 width=365) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_1141] (rows=40000000 width=365) + predicate:ca_address_sk is not null + TableScan [TS_19] (rows=40000000 width=365) + default@customer_address,ad2,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_street_number","ca_street_name","ca_city","ca_zip"] + <-Reducer 4 [SIMPLE_EDGE] + SHUFFLE [RS_104] + PartitionCols:_col3 + Merge Join Operator [MERGEJOIN_1078] (rows=69376329 width=19) + Conds:RS_101._col2=RS_102._col0(Inner),Output:["_col0","_col1","_col3","_col7","_col9"] + <-Reducer 3 [SIMPLE_EDGE] + SHUFFLE [RS_101] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_1076] (rows=69376329 width=23) + Conds:RS_98._col4=RS_1122._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col7","_col9"] <-Map 17 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1117] + PARTITION_ONLY_SHUFFLE [RS_1122] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1114] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1110] - PartitionCols:_col5 - Select Operator [SEL_1109] (rows=69376329 width=23) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_1108] (rows=69376329 width=23) - predicate:(c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_current_hdemo_sk is not null and c_customer_sk is not null and c_first_sales_date_sk is not null and c_first_shipto_date_sk is not null) - TableScan [TS_0] (rows=80000000 width=23) - default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,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 35 [SIMPLE_EDGE] - SHUFFLE [RS_102] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_1073] (rows=7200 width=4) - Conds:RS_1129._col1=RS_1134._col0(Inner),Output:["_col0"] - <-Map 34 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1129] - PartitionCols:_col1 - Select Operator [SEL_1128] (rows=7200 width=8) - Output:["_col0","_col1"] - Filter Operator [FIL_1127] (rows=7200 width=8) - predicate:(hd_demo_sk is not null and hd_income_band_sk is not null) - TableScan [TS_9] (rows=7200 width=8) - default@household_demographics,hd2,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_income_band_sk"] - <-Map 36 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1134] + Select Operator [SEL_1118] (rows=73049 width=8) + Output:["_col0","_col1"] + Filter Operator [FIL_1115] (rows=73049 width=8) + predicate:d_date_sk is not null + TableScan [TS_3] (rows=73049 width=8) + default@date_dim,d2,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_98] + PartitionCols:_col4 + Merge Join Operator [MERGEJOIN_1075] (rows=69376329 width=23) + Conds:RS_1114._col5=RS_1121._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col7"] + <-Map 17 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1121] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1118] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1114] + PartitionCols:_col5 + Select Operator [SEL_1113] (rows=69376329 width=23) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_1112] (rows=69376329 width=23) + predicate:(c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_current_hdemo_sk is not null and c_customer_sk is not null and c_first_sales_date_sk is not null and c_first_shipto_date_sk is not null) + TableScan [TS_0] (rows=80000000 width=23) + default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,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 35 [SIMPLE_EDGE] + SHUFFLE [RS_102] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1133] - <-Reducer 24 [SIMPLE_EDGE] - SHUFFLE [RS_111] - PartitionCols:_col15 - Select Operator [SEL_88] (rows=23881330 width=788) - Output:["_col3","_col4","_col5","_col6","_col8","_col9","_col11","_col15","_col16","_col22","_col23","_col24","_col25","_col26"] - Merge Join Operator [MERGEJOIN_1085] (rows=23881330 width=788) - Conds:RS_85._col1, _col8=RS_1185._col0, _col1(Inner),Output:["_col2","_col3","_col9","_col10","_col11","_col12","_col13","_col18","_col20","_col21","_col23","_col24","_col25","_col26"] - <-Map 52 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1185] - PartitionCols:_col0, _col1 - Select Operator [SEL_1184] (rows=57591150 width=8) - Output:["_col0","_col1"] - Filter Operator [FIL_1183] (rows=57591150 width=8) - predicate:(sr_item_sk is not null and sr_ticket_number is not null) - TableScan [TS_61] (rows=57591150 width=8) - default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number"] - <-Reducer 23 [SIMPLE_EDGE] - SHUFFLE [RS_85] - PartitionCols:_col1, _col8 - Merge Join Operator [MERGEJOIN_1084] (rows=14484878 width=661) - Conds:RS_82._col5=RS_1140._col0(Inner),Output:["_col1","_col2","_col3","_col8","_col9","_col10","_col11","_col12","_col13","_col18","_col20","_col21","_col23","_col24","_col25","_col26"] - <-Map 37 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1140] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1138] - <-Reducer 22 [SIMPLE_EDGE] - SHUFFLE [RS_82] - PartitionCols:_col5 - Merge Join Operator [MERGEJOIN_1083] (rows=14484878 width=300) - Conds:RS_79._col6=RS_1181._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col8","_col9","_col10","_col11","_col12","_col13","_col18","_col20","_col21"] - <-Map 51 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1181] + Merge Join Operator [MERGEJOIN_1077] (rows=7200 width=4) + Conds:RS_1133._col1=RS_1138._col0(Inner),Output:["_col0"] + <-Map 34 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1133] + PartitionCols:_col1 + Select Operator [SEL_1132] (rows=7200 width=8) + Output:["_col0","_col1"] + Filter Operator [FIL_1131] (rows=7200 width=8) + predicate:(hd_demo_sk is not null and hd_income_band_sk is not null) + TableScan [TS_9] (rows=7200 width=8) + default@household_demographics,hd2,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_income_band_sk"] + <-Map 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1138] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1137] + <-Reducer 24 [SIMPLE_EDGE] + SHUFFLE [RS_111] + PartitionCols:_col15 + Select Operator [SEL_88] (rows=23881330 width=788) + Output:["_col3","_col4","_col5","_col6","_col8","_col9","_col11","_col15","_col16","_col22","_col23","_col24","_col25","_col26"] + Merge Join Operator [MERGEJOIN_1089] (rows=23881330 width=788) + Conds:RS_85._col1, _col8=RS_1189._col0, _col1(Inner),Output:["_col2","_col3","_col9","_col10","_col11","_col12","_col13","_col18","_col20","_col21","_col23","_col24","_col25","_col26"] + <-Map 52 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1189] + PartitionCols:_col0, _col1 + Select Operator [SEL_1188] (rows=57591150 width=8) + Output:["_col0","_col1"] + Filter Operator [FIL_1187] (rows=57591150 width=8) + predicate:(sr_item_sk is not null and sr_ticket_number is not null) + TableScan [TS_61] (rows=57591150 width=8) + default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number"] + <-Reducer 23 [SIMPLE_EDGE] + SHUFFLE [RS_85] + PartitionCols:_col1, _col8 + Merge Join Operator [MERGEJOIN_1088] (rows=14484878 width=661) + Conds:RS_82._col5=RS_1144._col0(Inner),Output:["_col1","_col2","_col3","_col8","_col9","_col10","_col11","_col12","_col13","_col18","_col20","_col21","_col23","_col24","_col25","_col26"] + <-Map 37 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1144] PartitionCols:_col0 - Select Operator [SEL_1180] (rows=1704 width=181) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1179] (rows=1704 width=181) - predicate:(s_store_name is not null and s_store_sk is not null and s_zip is not null) - TableScan [TS_55] (rows=1704 width=181) - default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_name","s_zip"] - <-Reducer 21 [SIMPLE_EDGE] - SHUFFLE [RS_79] - PartitionCols:_col6 - Merge Join Operator [MERGEJOIN_1082] (rows=14484878 width=123) - Conds:RS_76._col4=RS_1130._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col8","_col9","_col10","_col11","_col12","_col13","_col18"] - <-Map 34 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1130] + Please refer to the previous Select Operator [SEL_1142] + <-Reducer 22 [SIMPLE_EDGE] + SHUFFLE [RS_82] + PartitionCols:_col5 + Merge Join Operator [MERGEJOIN_1087] (rows=14484878 width=300) + Conds:RS_79._col6=RS_1185._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col8","_col9","_col10","_col11","_col12","_col13","_col18","_col20","_col21"] + <-Map 51 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1185] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1128] - <-Reducer 20 [SIMPLE_EDGE] - SHUFFLE [RS_76] - PartitionCols:_col4 - Merge Join Operator [MERGEJOIN_1081] (rows=14484878 width=119) - Conds:RS_73._col7=RS_1177._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col8","_col9","_col10","_col11","_col12","_col13"] - <-Map 50 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1177] + Select Operator [SEL_1184] (rows=1704 width=181) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1183] (rows=1704 width=181) + predicate:(s_store_name is not null and s_store_sk is not null and s_zip is not null) + TableScan [TS_55] (rows=1704 width=181) + default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_name","s_zip"] + <-Reducer 21 [SIMPLE_EDGE] + SHUFFLE [RS_79] + PartitionCols:_col6 + Merge Join Operator [MERGEJOIN_1086] (rows=14484878 width=123) + Conds:RS_76._col4=RS_1134._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col8","_col9","_col10","_col11","_col12","_col13","_col18"] + <-Map 34 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1134] PartitionCols:_col0 - Select Operator [SEL_1176] (rows=2300 width=4) - Output:["_col0"] - Filter Operator [FIL_1175] (rows=2300 width=4) - predicate:p_promo_sk is not null - TableScan [TS_49] (rows=2300 width=4) - default@promotion,promotion,Tbl:COMPLETE,Col:COMPLETE,Output:["p_promo_sk"] - <-Reducer 19 [SIMPLE_EDGE] - SHUFFLE [RS_73] - PartitionCols:_col7 - Merge Join Operator [MERGEJOIN_1080] (rows=14484878 width=119) - Conds:RS_70._col1=RS_1174._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] - <-Reducer 18 [SIMPLE_EDGE] - SHUFFLE [RS_70] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1078] (rows=14484878 width=119) - Conds:RS_67._col0=RS_1119._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] - <-Map 17 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1119] - PartitionCols:_col0 - Select Operator [SEL_1115] (rows=652 width=4) - Output:["_col0"] - Filter Operator [FIL_1112] (rows=652 width=8) - predicate:((d_year = 2000) and d_date_sk is not null) - Please refer to the previous TableScan [TS_3] - <-Reducer 39 [SIMPLE_EDGE] - SHUFFLE [RS_67] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_1077] (rows=40567099 width=314) - Conds:RS_1151._col1=RS_1154._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] - <-Map 40 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1154] - PartitionCols:_col0 - Select Operator [SEL_1153] (rows=4666 width=111) - Output:["_col0","_col1"] - Filter Operator [FIL_1152] (rows=4666 width=311) - predicate:((i_color) IN ('maroon', 'burnished', 'dim', 'steel', 'navajo', 'chocolate') and i_current_price BETWEEN 36 AND 45 and i_item_sk is not null) - TableScan [TS_28] (rows=462000 width=311) - default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_color","i_product_name"] - <-Map 38 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1151] - PartitionCols:_col1 - Select Operator [SEL_1150] (rows=417313408 width=355) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"] - Filter Operator [FIL_1149] (rows=417313408 width=355) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_68_d1_d_date_sk_min) AND DynamicValue(RS_68_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_68_d1_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_item_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) - TableScan [TS_25] (rows=575995635 width=355) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,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"] - <-Reducer 25 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1148] - Group By Operator [GBY_1147] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 17 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1125] - Group By Operator [GBY_1123] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1120] (rows=652 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1115] - <-Reducer 46 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_1174] + Please refer to the previous Select Operator [SEL_1132] + <-Reducer 20 [SIMPLE_EDGE] + SHUFFLE [RS_76] + PartitionCols:_col4 + Merge Join Operator [MERGEJOIN_1085] (rows=14484878 width=119) + Conds:RS_73._col7=RS_1181._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col8","_col9","_col10","_col11","_col12","_col13"] + <-Map 50 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1181] PartitionCols:_col0 - Select Operator [SEL_1173] (rows=13257 width=4) + Select Operator [SEL_1180] (rows=2300 width=4) Output:["_col0"] - Filter Operator [FIL_1172] (rows=13257 width=228) - predicate:(_col1 > (2 * _col2)) - Group By Operator [GBY_1171] (rows=39773 width=228) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 - <-Reducer 45 [SIMPLE_EDGE] - SHUFFLE [RS_45] + Filter Operator [FIL_1179] (rows=2300 width=4) + predicate:p_promo_sk is not null + TableScan [TS_49] (rows=2300 width=4) + default@promotion,promotion,Tbl:COMPLETE,Col:COMPLETE,Output:["p_promo_sk"] + <-Reducer 19 [SIMPLE_EDGE] + SHUFFLE [RS_73] + PartitionCols:_col7 + Merge Join Operator [MERGEJOIN_1084] (rows=14484878 width=119) + Conds:RS_70._col1=RS_1178._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] + <-Reducer 18 [SIMPLE_EDGE] + SHUFFLE [RS_70] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1082] (rows=14484878 width=119) + Conds:RS_67._col0=RS_1123._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] + <-Map 17 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1123] PartitionCols:_col0 - Group By Operator [GBY_44] (rows=6482999 width=228) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","sum(_col5)"],keys:_col0 - Merge Join Operator [MERGEJOIN_1079] (rows=183085709 width=227) - Conds:RS_1166._col0, _col1=RS_1169._col0, _col1(Inner),Output:["_col0","_col2","_col5"] - <-Map 47 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1169] - PartitionCols:_col0, _col1 - Select Operator [SEL_1168] (rows=28798881 width=120) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1167] (rows=28798881 width=337) - predicate:(cr_item_sk is not null and cr_order_number is not null) - TableScan [TS_37] (rows=28798881 width=337) - default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_item_sk","cr_order_number","cr_refunded_cash","cr_reversed_charge","cr_store_credit"] - <-Map 44 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1166] - PartitionCols:_col0, _col1 - Select Operator [SEL_1165] (rows=287989836 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1164] (rows=287989836 width=119) - predicate:((cs_item_sk BETWEEN DynamicValue(RS_65_item_i_item_sk_min) AND DynamicValue(RS_65_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_65_item_i_item_sk_bloom_filter))) and cs_item_sk is not null and cs_order_number is not null) - TableScan [TS_34] (rows=287989836 width=119) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_item_sk","cs_order_number","cs_ext_list_price"] - <-Reducer 41 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1163] - Group By Operator [GBY_1162] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 40 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1160] - Group By Operator [GBY_1158] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1155] (rows=4666 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1153] + Select Operator [SEL_1119] (rows=652 width=4) + Output:["_col0"] + Filter Operator [FIL_1116] (rows=652 width=8) + predicate:((d_year = 2000) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Reducer 39 [SIMPLE_EDGE] + SHUFFLE [RS_67] + PartitionCols:_col0 + Merge Join Operator [MERGEJOIN_1081] (rows=40567099 width=314) + Conds:RS_1155._col1=RS_1158._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] + <-Map 40 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1158] + PartitionCols:_col0 + Select Operator [SEL_1157] (rows=4666 width=111) + Output:["_col0","_col1"] + Filter Operator [FIL_1156] (rows=4666 width=311) + predicate:((i_color) IN ('maroon', 'burnished', 'dim', 'steel', 'navajo', 'chocolate') and i_current_price BETWEEN 36 AND 45 and i_item_sk is not null) + TableScan [TS_28] (rows=462000 width=311) + default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_color","i_product_name"] + <-Map 38 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1155] + PartitionCols:_col1 + Select Operator [SEL_1154] (rows=417313408 width=355) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"] + Filter Operator [FIL_1153] (rows=417313408 width=355) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_68_d1_d_date_sk_min) AND DynamicValue(RS_68_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_68_d1_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_item_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) + TableScan [TS_25] (rows=575995635 width=355) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,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"] + <-Reducer 25 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1152] + Group By Operator [GBY_1151] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 17 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1129] + Group By Operator [GBY_1127] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1124] (rows=652 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1119] + <-Reducer 46 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_1178] + PartitionCols:_col0 + Select Operator [SEL_1177] (rows=13257 width=4) + Output:["_col0"] + Filter Operator [FIL_1176] (rows=13257 width=228) + predicate:(_col1 > (2 * _col2)) + Group By Operator [GBY_1175] (rows=39773 width=228) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 + <-Reducer 45 [SIMPLE_EDGE] + SHUFFLE [RS_45] + PartitionCols:_col0 + Group By Operator [GBY_44] (rows=6482999 width=228) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","sum(_col5)"],keys:_col0 + Merge Join Operator [MERGEJOIN_1083] (rows=183085709 width=227) + Conds:RS_1170._col0, _col1=RS_1173._col0, _col1(Inner),Output:["_col0","_col2","_col5"] + <-Map 47 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1173] + PartitionCols:_col0, _col1 + Select Operator [SEL_1172] (rows=28798881 width=120) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1171] (rows=28798881 width=337) + predicate:(cr_item_sk is not null and cr_order_number is not null) + TableScan [TS_37] (rows=28798881 width=337) + default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_item_sk","cr_order_number","cr_refunded_cash","cr_reversed_charge","cr_store_credit"] + <-Map 44 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1170] + PartitionCols:_col0, _col1 + Select Operator [SEL_1169] (rows=287989836 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1168] (rows=287989836 width=119) + predicate:((cs_item_sk BETWEEN DynamicValue(RS_65_item_i_item_sk_min) AND DynamicValue(RS_65_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_65_item_i_item_sk_bloom_filter))) and cs_item_sk is not null and cs_order_number is not null) + TableScan [TS_34] (rows=287989836 width=119) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_item_sk","cs_order_number","cs_ext_list_price"] + <-Reducer 41 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1167] + Group By Operator [GBY_1166] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 40 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1164] + Group By Operator [GBY_1162] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1159] (rows=4666 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1157] <-Reducer 16 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1206] + SHUFFLE [RS_1214] PartitionCols:_col1, _col0, _col2 - Select Operator [SEL_1205] (rows=20709988 width=525) + Select Operator [SEL_1213] (rows=20709988 width=525) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"] - Group By Operator [GBY_1204] (rows=20709988 width=1362) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9, KEY._col10, KEY._col11, KEY._col12, KEY._col13 - <-Reducer 15 [SIMPLE_EDGE] - SHUFFLE [RS_247] - PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13 - Group By Operator [GBY_246] (rows=20709988 width=1362) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count()","sum(_col42)","sum(_col43)","sum(_col44)"],keys:_col28, _col45, _col29, _col7, _col9, _col14, _col15, _col16, _col17, _col23, _col24, _col25, _col26, _col46 - Merge Join Operator [MERGEJOIN_1106] (rows=21002852 width=1122) - Conds:RS_242._col31=RS_1136._col0(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col23","_col24","_col25","_col26","_col28","_col29","_col42","_col43","_col44","_col45","_col46"] - <-Map 36 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1136] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1133] - <-Reducer 14 [SIMPLE_EDGE] - SHUFFLE [RS_242] - PartitionCols:_col31 - Filter Operator [FIL_241] (rows=21002852 width=1296) - predicate:(_col50 <> _col19) - Merge Join Operator [MERGEJOIN_1105] (rows=21002852 width=1296) - Conds:RS_238._col36=RS_1146._col0(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col23","_col24","_col25","_col26","_col28","_col29","_col31","_col42","_col43","_col44","_col45","_col46","_col50"] - <-Map 53 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1146] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1143] - <-Reducer 13 [SIMPLE_EDGE] - SHUFFLE [RS_238] - PartitionCols:_col36 - Merge Join Operator [MERGEJOIN_1104] (rows=20709988 width=1209) - Conds:RS_235._col0=RS_236._col15(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col23","_col24","_col25","_col26","_col28","_col29","_col31","_col36","_col42","_col43","_col44","_col45","_col46"] - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_235] + Filter Operator [FIL_1212] (rows=20709988 width=1362) + predicate:_col14 is not null + Select Operator [SEL_1211] (rows=20709988 width=1362) + Output:["_col1","_col2","_col3","_col14","_col15","_col16","_col17"] + Group By Operator [GBY_1210] (rows=20709988 width=1362) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9, KEY._col10, KEY._col11, KEY._col12, KEY._col13 + <-Reducer 15 [SIMPLE_EDGE] + SHUFFLE [RS_249] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13 + Group By Operator [GBY_248] (rows=20709988 width=1362) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17"],aggregations:["count()","sum(_col42)","sum(_col43)","sum(_col44)"],keys:_col28, _col45, _col29, _col7, _col9, _col14, _col15, _col16, _col17, _col23, _col24, _col25, _col26, _col46 + Merge Join Operator [MERGEJOIN_1110] (rows=21002852 width=1122) + Conds:RS_244._col31=RS_1140._col0(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col23","_col24","_col25","_col26","_col28","_col29","_col42","_col43","_col44","_col45","_col46"] + <-Map 36 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1140] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1137] + <-Reducer 14 [SIMPLE_EDGE] + SHUFFLE [RS_244] + PartitionCols:_col31 + Filter Operator [FIL_243] (rows=21002852 width=1296) + predicate:(_col50 <> _col19) + Merge Join Operator [MERGEJOIN_1109] (rows=21002852 width=1296) + Conds:RS_240._col36=RS_1150._col0(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col23","_col24","_col25","_col26","_col28","_col29","_col31","_col42","_col43","_col44","_col45","_col46","_col50"] + <-Map 53 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1150] PartitionCols:_col0 - Please refer to the previous Merge Join Operator [MERGEJOIN_1076] - <-Reducer 32 [SIMPLE_EDGE] - SHUFFLE [RS_236] - PartitionCols:_col15 - Select Operator [SEL_213] (rows=23881330 width=788) - Output:["_col3","_col4","_col5","_col6","_col8","_col9","_col11","_col15","_col16","_col22","_col23","_col24","_col25","_col26"] - Merge Join Operator [MERGEJOIN_1103] (rows=23881330 width=788) - Conds:RS_210._col1, _col8=RS_1186._col0, _col1(Inner),Output:["_col2","_col3","_col9","_col10","_col11","_col12","_col13","_col18","_col20","_col21","_col23","_col24","_col25","_col26"] - <-Map 52 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1186] - PartitionCols:_col0, _col1 - Please refer to the previous Select Operator [SEL_1184] - <-Reducer 31 [SIMPLE_EDGE] - SHUFFLE [RS_210] - PartitionCols:_col1, _col8 - Merge Join Operator [MERGEJOIN_1102] (rows=14484878 width=661) - Conds:RS_207._col5=RS_1141._col0(Inner),Output:["_col1","_col2","_col3","_col8","_col9","_col10","_col11","_col12","_col13","_col18","_col20","_col21","_col23","_col24","_col25","_col26"] - <-Map 37 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1141] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1138] - <-Reducer 30 [SIMPLE_EDGE] - SHUFFLE [RS_207] - PartitionCols:_col5 - Merge Join Operator [MERGEJOIN_1101] (rows=14484878 width=300) - Conds:RS_204._col6=RS_1182._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col8","_col9","_col10","_col11","_col12","_col13","_col18","_col20","_col21"] - <-Map 51 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1182] + Please refer to the previous Select Operator [SEL_1147] + <-Reducer 13 [SIMPLE_EDGE] + SHUFFLE [RS_240] + PartitionCols:_col36 + Merge Join Operator [MERGEJOIN_1108] (rows=20709988 width=1209) + Conds:RS_237._col0=RS_238._col15(Inner),Output:["_col7","_col9","_col14","_col15","_col16","_col17","_col19","_col23","_col24","_col25","_col26","_col28","_col29","_col31","_col36","_col42","_col43","_col44","_col45","_col46"] + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_237] + PartitionCols:_col0 + Please refer to the previous Merge Join Operator [MERGEJOIN_1080] + <-Reducer 32 [SIMPLE_EDGE] + SHUFFLE [RS_238] + PartitionCols:_col15 + Select Operator [SEL_215] (rows=23881330 width=788) + Output:["_col3","_col4","_col5","_col6","_col8","_col9","_col11","_col15","_col16","_col22","_col23","_col24","_col25","_col26"] + Merge Join Operator [MERGEJOIN_1107] (rows=23881330 width=788) + Conds:RS_212._col1, _col8=RS_1190._col0, _col1(Inner),Output:["_col2","_col3","_col9","_col10","_col11","_col12","_col13","_col18","_col20","_col21","_col23","_col24","_col25","_col26"] + <-Map 52 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1190] + PartitionCols:_col0, _col1 + Please refer to the previous Select Operator [SEL_1188] + <-Reducer 31 [SIMPLE_EDGE] + SHUFFLE [RS_212] + PartitionCols:_col1, _col8 + Merge Join Operator [MERGEJOIN_1106] (rows=14484878 width=661) + Conds:RS_209._col5=RS_1145._col0(Inner),Output:["_col1","_col2","_col3","_col8","_col9","_col10","_col11","_col12","_col13","_col18","_col20","_col21","_col23","_col24","_col25","_col26"] + <-Map 37 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1145] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1180] - <-Reducer 29 [SIMPLE_EDGE] - SHUFFLE [RS_204] - PartitionCols:_col6 - Merge Join Operator [MERGEJOIN_1100] (rows=14484878 width=123) - Conds:RS_201._col4=RS_1131._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col8","_col9","_col10","_col11","_col12","_col13","_col18"] - <-Map 34 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1131] + Please refer to the previous Select Operator [SEL_1142] + <-Reducer 30 [SIMPLE_EDGE] + SHUFFLE [RS_209] + PartitionCols:_col5 + Merge Join Operator [MERGEJOIN_1105] (rows=14484878 width=300) + Conds:RS_206._col6=RS_1186._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col8","_col9","_col10","_col11","_col12","_col13","_col18","_col20","_col21"] + <-Map 51 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1186] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1128] - <-Reducer 28 [SIMPLE_EDGE] - SHUFFLE [RS_201] - PartitionCols:_col4 - Merge Join Operator [MERGEJOIN_1099] (rows=14484878 width=119) - Conds:RS_198._col7=RS_1178._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col8","_col9","_col10","_col11","_col12","_col13"] - <-Map 50 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1178] + Please refer to the previous Select Operator [SEL_1184] + <-Reducer 29 [SIMPLE_EDGE] + SHUFFLE [RS_206] + PartitionCols:_col6 + Merge Join Operator [MERGEJOIN_1104] (rows=14484878 width=123) + Conds:RS_203._col4=RS_1135._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col8","_col9","_col10","_col11","_col12","_col13","_col18"] + <-Map 34 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1135] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1176] - <-Reducer 27 [SIMPLE_EDGE] - SHUFFLE [RS_198] - PartitionCols:_col7 - Merge Join Operator [MERGEJOIN_1098] (rows=14484878 width=119) - Conds:RS_195._col1=RS_1203._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] - <-Reducer 26 [SIMPLE_EDGE] - SHUFFLE [RS_195] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_1096] (rows=14484878 width=119) - Conds:RS_192._col0=RS_1121._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] - <-Map 17 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1121] - PartitionCols:_col0 - Select Operator [SEL_1116] (rows=652 width=4) - Output:["_col0"] - Filter Operator [FIL_1113] (rows=652 width=8) - predicate:((d_year = 2001) and d_date_sk is not null) - Please refer to the previous TableScan [TS_3] - <-Reducer 42 [SIMPLE_EDGE] - SHUFFLE [RS_192] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_1095] (rows=40567099 width=314) - Conds:RS_1194._col1=RS_1156._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] - <-Map 40 [SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1156] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_1153] - <-Map 54 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1194] - PartitionCols:_col1 - Select Operator [SEL_1193] (rows=417313408 width=355) - Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"] - Filter Operator [FIL_1192] (rows=417313408 width=355) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_193_d1_d_date_sk_min) AND DynamicValue(RS_193_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_193_d1_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_item_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) - TableScan [TS_150] (rows=575995635 width=355) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,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"] - <-Reducer 33 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1191] - Group By Operator [GBY_1190] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 17 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1126] - Group By Operator [GBY_1124] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1122] (rows=652 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1116] - <-Reducer 49 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_1203] + Please refer to the previous Select Operator [SEL_1132] + <-Reducer 28 [SIMPLE_EDGE] + SHUFFLE [RS_203] + PartitionCols:_col4 + Merge Join Operator [MERGEJOIN_1103] (rows=14484878 width=119) + Conds:RS_200._col7=RS_1182._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col8","_col9","_col10","_col11","_col12","_col13"] + <-Map 50 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1182] PartitionCols:_col0 - Select Operator [SEL_1202] (rows=13257 width=4) - Output:["_col0"] - Filter Operator [FIL_1201] (rows=13257 width=228) - predicate:(_col1 > (2 * _col2)) - Group By Operator [GBY_1200] (rows=39773 width=228) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 - <-Reducer 48 [SIMPLE_EDGE] - SHUFFLE [RS_170] + Please refer to the previous Select Operator [SEL_1180] + <-Reducer 27 [SIMPLE_EDGE] + SHUFFLE [RS_200] + PartitionCols:_col7 + Merge Join Operator [MERGEJOIN_1102] (rows=14484878 width=119) + Conds:RS_197._col1=RS_1209._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] + <-Reducer 26 [SIMPLE_EDGE] + SHUFFLE [RS_197] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_1100] (rows=14484878 width=119) + Conds:RS_194._col0=RS_1125._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] + <-Map 17 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1125] + PartitionCols:_col0 + Select Operator [SEL_1120] (rows=652 width=4) + Output:["_col0"] + Filter Operator [FIL_1117] (rows=652 width=8) + predicate:((d_year = 2001) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Reducer 42 [SIMPLE_EDGE] + SHUFFLE [RS_194] PartitionCols:_col0 - Group By Operator [GBY_169] (rows=6482999 width=228) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","sum(_col5)"],keys:_col0 - Merge Join Operator [MERGEJOIN_1097] (rows=183085709 width=227) - Conds:RS_1199._col0, _col1=RS_1170._col0, _col1(Inner),Output:["_col0","_col2","_col5"] - <-Map 47 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1170] - PartitionCols:_col0, _col1 - Please refer to the previous Select Operator [SEL_1168] - <-Map 55 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_1199] - PartitionCols:_col0, _col1 - Select Operator [SEL_1198] (rows=287989836 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_1197] (rows=287989836 width=119) - predicate:((cs_item_sk BETWEEN DynamicValue(RS_190_item_i_item_sk_min) AND DynamicValue(RS_190_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_190_item_i_item_sk_bloom_filter))) and cs_item_sk is not null and cs_order_number is not null) - TableScan [TS_159] (rows=287989836 width=119) - default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_item_sk","cs_order_number","cs_ext_list_price"] - <-Reducer 43 [BROADCAST_EDGE] vectorized - BROADCAST [RS_1196] - Group By Operator [GBY_1195] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 40 [CUSTOM_SIMPLE_EDGE] vectorized - PARTITION_ONLY_SHUFFLE [RS_1161] - Group By Operator [GBY_1159] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_1157] (rows=4666 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_1153] + Merge Join Operator [MERGEJOIN_1099] (rows=40567099 width=314) + Conds:RS_1200._col1=RS_1160._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"] + <-Map 40 [SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1160] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_1157] + <-Map 54 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1200] + PartitionCols:_col1 + Select Operator [SEL_1199] (rows=417313408 width=355) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"] + Filter Operator [FIL_1198] (rows=417313408 width=355) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_195_d1_d_date_sk_min) AND DynamicValue(RS_195_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_195_d1_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_item_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) + TableScan [TS_152] (rows=575995635 width=355) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,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"] + <-Reducer 33 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1197] + Group By Operator [GBY_1196] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 17 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1130] + Group By Operator [GBY_1128] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1126] (rows=652 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1120] + <-Reducer 49 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_1209] + PartitionCols:_col0 + Select Operator [SEL_1208] (rows=13257 width=4) + Output:["_col0"] + Filter Operator [FIL_1207] (rows=13257 width=228) + predicate:(_col1 > (2 * _col2)) + Group By Operator [GBY_1206] (rows=39773 width=228) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 + <-Reducer 48 [SIMPLE_EDGE] + SHUFFLE [RS_172] + PartitionCols:_col0 + Group By Operator [GBY_171] (rows=6482999 width=228) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","sum(_col5)"],keys:_col0 + Merge Join Operator [MERGEJOIN_1101] (rows=183085709 width=227) + Conds:RS_1205._col0, _col1=RS_1174._col0, _col1(Inner),Output:["_col0","_col2","_col5"] + <-Map 47 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1174] + PartitionCols:_col0, _col1 + Please refer to the previous Select Operator [SEL_1172] + <-Map 55 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_1205] + PartitionCols:_col0, _col1 + Select Operator [SEL_1204] (rows=287989836 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_1203] (rows=287989836 width=119) + predicate:((cs_item_sk BETWEEN DynamicValue(RS_192_item_i_item_sk_min) AND DynamicValue(RS_192_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_192_item_i_item_sk_bloom_filter))) and cs_item_sk is not null and cs_order_number is not null) + TableScan [TS_161] (rows=287989836 width=119) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_item_sk","cs_order_number","cs_ext_list_price"] + <-Reducer 43 [BROADCAST_EDGE] vectorized + BROADCAST [RS_1202] + Group By Operator [GBY_1201] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 40 [CUSTOM_SIMPLE_EDGE] vectorized + PARTITION_ONLY_SHUFFLE [RS_1165] + Group By Operator [GBY_1163] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_1161] (rows=4666 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_1157] diff --git a/ql/src/test/results/clientpositive/perf/tez/query65.q.out b/ql/src/test/results/clientpositive/perf/tez/query65.q.out index f5b8fd7a99..de6f606f81 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query65.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query65.q.out @@ -83,116 +83,120 @@ Stage-0 limit:100 Stage-1 Reducer 7 vectorized - File Output Operator [FS_167] - Limit [LIM_166] (rows=100 width=705) + File Output Operator [FS_172] + Limit [LIM_171] (rows=100 width=705) Number of rows:100 - Select Operator [SEL_165] (rows=65392 width=704) + Select Operator [SEL_170] (rows=65392 width=704) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_50] - Select Operator [SEL_49] (rows=65392 width=704) + SHUFFLE [RS_53] + Select Operator [SEL_52] (rows=65392 width=704) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Merge Join Operator [MERGEJOIN_136] (rows=65392 width=704) - Conds:RS_46._col1=RS_164._col0(Inner),Output:["_col2","_col6","_col8","_col9","_col10","_col11"] + Merge Join Operator [MERGEJOIN_139] (rows=65392 width=704) + Conds:RS_49._col1=RS_169._col0(Inner),Output:["_col2","_col6","_col8","_col9","_col10","_col11"] <-Map 13 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_164] + SHUFFLE [RS_169] PartitionCols:_col0 - Select Operator [SEL_163] (rows=462000 width=511) + Select Operator [SEL_168] (rows=462000 width=511) Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_162] (rows=462000 width=511) + Filter Operator [FIL_167] (rows=462000 width=511) predicate:i_item_sk is not null - TableScan [TS_36] (rows=462000 width=511) + TableScan [TS_39] (rows=462000 width=511) default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_desc","i_current_price","i_wholesale_cost","i_brand"] <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_46] + SHUFFLE [RS_49] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_135] (rows=65392 width=204) - Conds:RS_43._col0=RS_161._col0(Inner),Output:["_col1","_col2","_col6"] + Merge Join Operator [MERGEJOIN_138] (rows=65392 width=204) + Conds:RS_46._col0=RS_166._col0(Inner),Output:["_col1","_col2","_col6"] <-Map 12 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_161] + SHUFFLE [RS_166] PartitionCols:_col0 - Select Operator [SEL_160] (rows=1704 width=92) + Select Operator [SEL_165] (rows=1704 width=92) Output:["_col0","_col1"] - Filter Operator [FIL_159] (rows=1704 width=92) + Filter Operator [FIL_164] (rows=1704 width=92) predicate:s_store_sk is not null - TableScan [TS_33] (rows=1704 width=92) + TableScan [TS_36] (rows=1704 width=92) default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_name"] <-Reducer 4 [ONE_TO_ONE_EDGE] - FORWARD [RS_43] + FORWARD [RS_46] PartitionCols:_col0 - Filter Operator [FIL_42] (rows=65392 width=231) + Filter Operator [FIL_45] (rows=65392 width=231) predicate:(_col2 <= _col4) - Merge Join Operator [MERGEJOIN_134] (rows=196176 width=231) - Conds:RS_153._col0=RS_158._col0(Inner),Output:["_col0","_col1","_col2","_col4"] + Merge Join Operator [MERGEJOIN_137] (rows=196176 width=231) + Conds:RS_157._col0=RS_163._col0(Inner),Output:["_col0","_col1","_col2","_col4"] <-Reducer 3 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_153] + SHUFFLE [RS_157] PartitionCols:_col0 - Group By Operator [GBY_152] (rows=184637 width=118) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_11] - PartitionCols:_col0, _col1 - Group By Operator [GBY_10] (rows=6093021 width=118) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 - Merge Join Operator [MERGEJOIN_132] (rows=91197860 width=89) - Conds:RS_150._col0=RS_139._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_139] - PartitionCols:_col0 - Select Operator [SEL_138] (rows=317 width=4) - Output:["_col0"] - Filter Operator [FIL_137] (rows=317 width=8) - predicate:(d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) - TableScan [TS_3] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_150] - PartitionCols:_col0 - Select Operator [SEL_148] (rows=525329897 width=118) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_146] (rows=525329897 width=118) - predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_7_date_dim_d_date_sk_min) AND DynamicValue(RS_7_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_7_date_dim_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) - TableScan [TS_0] (rows=575995635 width=118) - default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_sales_price"] - <-Reducer 11 [BROADCAST_EDGE] vectorized - BROADCAST [RS_145] - Group By Operator [GBY_144] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_143] - Group By Operator [GBY_142] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_140] (rows=317 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_138] + Filter Operator [FIL_156] (rows=184637 width=118) + predicate:_col2 is not null + Group By Operator [GBY_155] (rows=184637 width=118) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_11] + PartitionCols:_col0, _col1 + Group By Operator [GBY_10] (rows=6093021 width=118) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 + Merge Join Operator [MERGEJOIN_135] (rows=91197860 width=89) + Conds:RS_153._col0=RS_142._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 10 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_142] + PartitionCols:_col0 + Select Operator [SEL_141] (rows=317 width=4) + Output:["_col0"] + Filter Operator [FIL_140] (rows=317 width=8) + predicate:(d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) + TableScan [TS_3] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_153] + PartitionCols:_col0 + Select Operator [SEL_151] (rows=525329897 width=118) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_149] (rows=525329897 width=118) + predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_7_date_dim_d_date_sk_min) AND DynamicValue(RS_7_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_7_date_dim_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) + TableScan [TS_0] (rows=575995635 width=118) + default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_sales_price"] + <-Reducer 11 [BROADCAST_EDGE] vectorized + BROADCAST [RS_148] + Group By Operator [GBY_147] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_146] + Group By Operator [GBY_145] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_143] (rows=317 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_141] <-Reducer 9 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_158] + SHUFFLE [RS_163] PartitionCols:_col0 - Select Operator [SEL_157] (rows=17 width=115) + Select Operator [SEL_162] (rows=17 width=115) Output:["_col0","_col1"] - Group By Operator [GBY_156] (rows=17 width=123) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 - Select Operator [SEL_155] (rows=184637 width=118) - Output:["_col1","_col2"] - Group By Operator [GBY_154] (rows=184637 width=118) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_25] - PartitionCols:_col0 - Group By Operator [GBY_24] (rows=6093021 width=118) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 - Merge Join Operator [MERGEJOIN_133] (rows=91197860 width=89) - Conds:RS_151._col0=RS_141._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_141] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_138] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_151] - PartitionCols:_col0 - Select Operator [SEL_149] (rows=525329897 width=118) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_147] (rows=525329897 width=118) - predicate:(ss_sold_date_sk is not null and ss_store_sk is not null) - Please refer to the previous TableScan [TS_0] + Filter Operator [FIL_161] (rows=17 width=123) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_160] (rows=17 width=123) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 + Select Operator [SEL_159] (rows=184637 width=118) + Output:["_col1","_col2"] + Group By Operator [GBY_158] (rows=184637 width=118) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 8 [SIMPLE_EDGE] + SHUFFLE [RS_27] + PartitionCols:_col0 + Group By Operator [GBY_26] (rows=6093021 width=118) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1 + Merge Join Operator [MERGEJOIN_136] (rows=91197860 width=89) + Conds:RS_154._col0=RS_144._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 10 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_144] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_141] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_154] + PartitionCols:_col0 + Select Operator [SEL_152] (rows=525329897 width=118) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_150] (rows=525329897 width=118) + predicate:(ss_sold_date_sk is not null and ss_store_sk is not null) + Please refer to the previous TableScan [TS_0] diff --git a/ql/src/test/results/clientpositive/perf/tez/query72.q.out b/ql/src/test/results/clientpositive/perf/tez/query72.q.out index f6a99a35de..418d995c19 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query72.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query72.q.out @@ -113,11 +113,11 @@ Stage-0 <-Reducer 5 [SIMPLE_EDGE] SHUFFLE [RS_69] PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_68] (rows=610435044 width=312) + Group By Operator [GBY_68] (rows=576990095 width=312) Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(_col3)","count(_col4)","count()"],keys:_col0, _col1, _col2 - Select Operator [SEL_66] (rows=1574305390 width=292) + Select Operator [SEL_66] (rows=1488051228 width=292) Output:["_col0","_col1","_col2","_col3","_col4"] - Merge Join Operator [MERGEJOIN_251] (rows=1574305390 width=292) + Merge Join Operator [MERGEJOIN_251] (rows=1488051228 width=292) Conds:RS_63._col4, _col6=RS_288._col0, _col1(Left Outer),Output:["_col13","_col15","_col19","_col25"] <-Map 24 [SIMPLE_EDGE] vectorized SHUFFLE [RS_288] @@ -131,9 +131,9 @@ Stage-0 <-Reducer 4 [SIMPLE_EDGE] SHUFFLE [RS_63] PartitionCols:_col4, _col6 - Select Operator [SEL_59] (rows=610435044 width=300) + Select Operator [SEL_59] (rows=576990095 width=300) Output:["_col4","_col6","_col13","_col15","_col19","_col25"] - Merge Join Operator [MERGEJOIN_250] (rows=610435044 width=300) + Merge Join Operator [MERGEJOIN_250] (rows=576990095 width=300) Conds:RS_56._col0, _col19=RS_285._col0, _col1(Inner),Output:["_col5","_col9","_col14","_col16","_col19","_col23"] <-Map 23 [SIMPLE_EDGE] vectorized SHUFFLE [RS_285] @@ -147,18 +147,18 @@ Stage-0 <-Reducer 3 [SIMPLE_EDGE] SHUFFLE [RS_56] PartitionCols:_col0, _col19 - Filter Operator [FIL_55] (rows=545947820 width=311) + Filter Operator [FIL_55] (rows=516036043 width=311) predicate:(_col3 < _col17) - Merge Join Operator [MERGEJOIN_249] (rows=1637843460 width=311) + Merge Join Operator [MERGEJOIN_249] (rows=1548108131 width=311) Conds:RS_52._col1=RS_53._col8(Inner),Output:["_col0","_col3","_col5","_col9","_col14","_col16","_col17","_col19","_col23"] <-Reducer 15 [SIMPLE_EDGE] SHUFFLE [RS_53] PartitionCols:_col8 - Select Operator [SEL_45] (rows=2726340 width=219) + Select Operator [SEL_45] (rows=2712713 width=219) Output:["_col3","_col8","_col10","_col11","_col13","_col17"] - Filter Operator [FIL_44] (rows=2726340 width=219) + Filter Operator [FIL_44] (rows=2712713 width=219) predicate:(_col17 > _col10) - Merge Join Operator [MERGEJOIN_248] (rows=8179022 width=219) + Merge Join Operator [MERGEJOIN_248] (rows=8138139 width=219) Conds:RS_41._col1=RS_282._col0(Inner),Output:["_col4","_col6","_col7","_col9","_col10","_col13","_col15","_col17"] <-Map 22 [SIMPLE_EDGE] vectorized SHUFFLE [RS_282] @@ -166,13 +166,13 @@ Stage-0 Select Operator [SEL_281] (rows=73049 width=12) Output:["_col0","_col1"] Filter Operator [FIL_280] (rows=73049 width=98) - predicate:d_date_sk is not null + predicate:(d_date is not null and d_date_sk is not null) TableScan [TS_23] (rows=73049 width=98) default@date_dim,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"] <-Reducer 14 [SIMPLE_EDGE] SHUFFLE [RS_41] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_247] (rows=8179022 width=214) + Merge Join Operator [MERGEJOIN_247] (rows=8138139 width=214) Conds:RS_38._col4=RS_279._col0(Inner),Output:["_col1","_col4","_col6","_col7","_col9","_col10","_col13","_col15"] <-Map 21 [SIMPLE_EDGE] vectorized SHUFFLE [RS_279] @@ -186,7 +186,7 @@ Stage-0 <-Reducer 13 [SIMPLE_EDGE] SHUFFLE [RS_38] PartitionCols:_col4 - Merge Join Operator [MERGEJOIN_246] (rows=8179022 width=30) + Merge Join Operator [MERGEJOIN_246] (rows=8138139 width=30) Conds:RS_35._col5=RS_276._col0(Left Outer),Output:["_col1","_col4","_col6","_col7","_col9","_col10","_col13"] <-Map 20 [SIMPLE_EDGE] vectorized SHUFFLE [RS_276] @@ -198,7 +198,7 @@ Stage-0 <-Reducer 12 [SIMPLE_EDGE] SHUFFLE [RS_35] PartitionCols:_col5 - Merge Join Operator [MERGEJOIN_245] (rows=8179022 width=29) + Merge Join Operator [MERGEJOIN_245] (rows=8138139 width=29) Conds:RS_32._col3=RS_274._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col9","_col10"] <-Map 19 [SIMPLE_EDGE] vectorized SHUFFLE [RS_274] @@ -212,7 +212,7 @@ Stage-0 <-Reducer 11 [SIMPLE_EDGE] SHUFFLE [RS_32] PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_244] (rows=40895108 width=35) + Merge Join Operator [MERGEJOIN_244] (rows=40690692 width=35) Conds:RS_29._col2=RS_271._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col9","_col10"] <-Map 18 [SIMPLE_EDGE] vectorized SHUFFLE [RS_271] @@ -226,7 +226,7 @@ Stage-0 <-Reducer 10 [SIMPLE_EDGE] SHUFFLE [RS_29] PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_243] (rows=100076475 width=39) + Merge Join Operator [MERGEJOIN_243] (rows=99576238 width=39) Conds:RS_268._col0=RS_260._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col9","_col10"] <-Map 16 [SIMPLE_EDGE] vectorized PARTITION_ONLY_SHUFFLE [RS_260] @@ -234,16 +234,16 @@ Stage-0 Select Operator [SEL_259] (rows=652 width=16) Output:["_col0","_col1","_col2"] Filter Operator [FIL_258] (rows=652 width=106) - predicate:((d_year = 2001) and d_date_sk is not null and d_week_seq is not null) + predicate:((d_year = 2001) and d_date is not null and d_date_sk is not null and d_week_seq is not null) TableScan [TS_9] (rows=73049 width=106) default@date_dim,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date","d_week_seq","d_year"] <-Map 9 [SIMPLE_EDGE] vectorized SHUFFLE [RS_268] PartitionCols:_col0 - Select Operator [SEL_267] (rows=282274763 width=31) + Select Operator [SEL_267] (rows=280863799 width=31) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] - Filter Operator [FIL_266] (rows=282274763 width=31) - predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_27_d1_d_date_sk_min) AND DynamicValue(RS_27_d1_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_27_d1_d_date_sk_bloom_filter))) and cs_bill_cdemo_sk is not null and cs_bill_hdemo_sk is not null and cs_item_sk is not null and cs_ship_date_sk is not null and cs_sold_date_sk is not null) + Filter Operator [FIL_266] (rows=280863799 width=31) + predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_27_d1_d_date_sk_min) AND DynamicValue(RS_27_d1_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_27_d1_d_date_sk_bloom_filter))) and cs_bill_cdemo_sk is not null and cs_bill_hdemo_sk is not null and cs_item_sk is not null and cs_quantity is not null and cs_ship_date_sk is not null and cs_sold_date_sk is not null) TableScan [TS_6] (rows=287989836 width=31) default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,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 17 [BROADCAST_EDGE] vectorized @@ -260,15 +260,15 @@ Stage-0 <-Reducer 2 [SIMPLE_EDGE] SHUFFLE [RS_52] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_242] (rows=37584000 width=111) + Merge Join Operator [MERGEJOIN_242] (rows=35703276 width=111) Conds:RS_254._col2=RS_257._col0(Inner),Output:["_col0","_col1","_col3","_col5"] <-Map 1 [SIMPLE_EDGE] vectorized SHUFFLE [RS_254] PartitionCols:_col2 - Select Operator [SEL_253] (rows=37584000 width=15) + Select Operator [SEL_253] (rows=35703276 width=15) Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_252] (rows=37584000 width=15) - predicate:(inv_date_sk is not null and inv_item_sk is not null and inv_warehouse_sk is not null) + Filter Operator [FIL_252] (rows=35703276 width=15) + predicate:(inv_date_sk is not null and inv_item_sk is not null and inv_quantity_on_hand is not null and inv_warehouse_sk is not null) TableScan [TS_0] (rows=37584000 width=15) default@inventory,inventory,Tbl:COMPLETE,Col:COMPLETE,Output:["inv_date_sk","inv_item_sk","inv_warehouse_sk","inv_quantity_on_hand"] <-Map 8 [SIMPLE_EDGE] vectorized diff --git a/ql/src/test/results/clientpositive/perf/tez/query81.q.out b/ql/src/test/results/clientpositive/perf/tez/query81.q.out index 94398cf891..1e980c7339 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query81.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query81.q.out @@ -87,133 +87,137 @@ Stage-0 limit:-1 Stage-1 Reducer 4 vectorized - File Output Operator [FS_210] - Select Operator [SEL_209] (rows=100 width=1506) + File Output Operator [FS_215] + Select Operator [SEL_214] (rows=100 width=1506) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] - Limit [LIM_208] (rows=100 width=1420) + Limit [LIM_213] (rows=100 width=1420) Number of rows:100 - Select Operator [SEL_207] (rows=1577696 width=1418) + Select Operator [SEL_212] (rows=1577696 width=1418) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"] <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_63] - Select Operator [SEL_62] (rows=1577696 width=1418) + SHUFFLE [RS_66] + Select Operator [SEL_65] (rows=1577696 width=1418) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"] - Merge Join Operator [MERGEJOIN_178] (rows=1577696 width=1418) - Conds:RS_59._col0=RS_60._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col19"] + Merge Join Operator [MERGEJOIN_181] (rows=1577696 width=1418) + Conds:RS_62._col0=RS_63._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col19"] <-Reducer 10 [SIMPLE_EDGE] - SHUFFLE [RS_60] + SHUFFLE [RS_63] PartitionCols:_col0 - Select Operator [SEL_55] (rows=1609248 width=227) + Select Operator [SEL_58] (rows=1609248 width=227) Output:["_col0","_col2"] - Filter Operator [FIL_54] (rows=1609248 width=227) + Filter Operator [FIL_57] (rows=1609248 width=227) predicate:(_col2 > _col3) - Merge Join Operator [MERGEJOIN_177] (rows=4827746 width=227) - Conds:RS_201._col1=RS_206._col1(Inner),Output:["_col0","_col2","_col3"] + Merge Join Operator [MERGEJOIN_180] (rows=4827746 width=227) + Conds:RS_205._col1=RS_211._col1(Inner),Output:["_col0","_col2","_col3"] <-Reducer 13 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_206] + SHUFFLE [RS_211] PartitionCols:_col1 - Select Operator [SEL_205] (rows=12 width=198) + Select Operator [SEL_210] (rows=12 width=198) Output:["_col0","_col1"] - Group By Operator [GBY_204] (rows=12 width=206) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0 - Select Operator [SEL_203] (rows=5266632 width=201) - Output:["_col0","_col2"] - Group By Operator [GBY_202] (rows=5266632 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_43] - PartitionCols:_col0 - Group By Operator [GBY_42] (rows=8749496 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 - Merge Join Operator [MERGEJOIN_176] (rows=8749496 width=194) - Conds:RS_38._col2=RS_198._col0(Inner),Output:["_col1","_col3","_col6"] - <-Map 15 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_198] - PartitionCols:_col0 - Select Operator [SEL_196] (rows=40000000 width=90) - Output:["_col0","_col1"] - Filter Operator [FIL_195] (rows=40000000 width=90) - predicate:(ca_address_sk is not null and ca_state is not null) - TableScan [TS_12] (rows=40000000 width=90) - default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state"] - <-Reducer 11 [SIMPLE_EDGE] - SHUFFLE [RS_38] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_175] (rows=8749496 width=112) - Conds:RS_190._col0=RS_194._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 14 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_194] - PartitionCols:_col0 - Select Operator [SEL_192] (rows=652 width=4) - Output:["_col0"] - Filter Operator [FIL_191] (rows=652 width=8) - predicate:((d_year = 1998) and d_date_sk is not null) - TableScan [TS_9] (rows=73049 width=8) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] - <-Map 6 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_190] - PartitionCols:_col0 - Select Operator [SEL_188] (rows=28221532 width=121) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_186] (rows=28221532 width=121) - predicate:(cr_returned_date_sk is not null and cr_returning_addr_sk is not null) - TableScan [TS_6] (rows=28798881 width=121) - default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_returned_date_sk","cr_returning_customer_sk","cr_returning_addr_sk","cr_return_amt_inc_tax"] + Filter Operator [FIL_209] (rows=12 width=206) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_208] (rows=12 width=206) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0 + Select Operator [SEL_207] (rows=5266632 width=201) + Output:["_col0","_col2"] + Group By Operator [GBY_206] (rows=5266632 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 12 [SIMPLE_EDGE] + SHUFFLE [RS_45] + PartitionCols:_col0 + Group By Operator [GBY_44] (rows=8749496 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 + Merge Join Operator [MERGEJOIN_179] (rows=8749496 width=194) + Conds:RS_40._col2=RS_201._col0(Inner),Output:["_col1","_col3","_col6"] + <-Map 15 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_201] + PartitionCols:_col0 + Select Operator [SEL_199] (rows=40000000 width=90) + Output:["_col0","_col1"] + Filter Operator [FIL_198] (rows=40000000 width=90) + predicate:(ca_address_sk is not null and ca_state is not null) + TableScan [TS_12] (rows=40000000 width=90) + default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state"] + <-Reducer 11 [SIMPLE_EDGE] + SHUFFLE [RS_40] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_178] (rows=8749496 width=112) + Conds:RS_193._col0=RS_197._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 14 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_197] + PartitionCols:_col0 + Select Operator [SEL_195] (rows=652 width=4) + Output:["_col0"] + Filter Operator [FIL_194] (rows=652 width=8) + predicate:((d_year = 1998) and d_date_sk is not null) + TableScan [TS_9] (rows=73049 width=8) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"] + <-Map 6 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_193] + PartitionCols:_col0 + Select Operator [SEL_191] (rows=28221532 width=121) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_189] (rows=28221532 width=121) + predicate:(cr_returned_date_sk is not null and cr_returning_addr_sk is not null) + TableScan [TS_6] (rows=28798881 width=121) + default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_returned_date_sk","cr_returning_customer_sk","cr_returning_addr_sk","cr_return_amt_inc_tax"] <-Reducer 9 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_201] + SHUFFLE [RS_205] PartitionCols:_col1 - Select Operator [SEL_200] (rows=4827746 width=201) - Output:["_col0","_col1","_col2"] - Group By Operator [GBY_199] (rows=4827746 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_23] - PartitionCols:_col0, _col1 - Group By Operator [GBY_22] (rows=8574602 width=201) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 - Merge Join Operator [MERGEJOIN_174] (rows=8574602 width=194) - Conds:RS_18._col2=RS_197._col0(Inner),Output:["_col1","_col3","_col6"] - <-Map 15 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_197] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_196] - <-Reducer 7 [SIMPLE_EDGE] - SHUFFLE [RS_18] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_173] (rows=8574602 width=112) - Conds:RS_189._col0=RS_193._col0(Inner),Output:["_col1","_col2","_col3"] - <-Map 14 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_193] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_192] - <-Map 6 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_189] - PartitionCols:_col0 - Select Operator [SEL_187] (rows=27657410 width=121) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_185] (rows=27657410 width=121) - predicate:(cr_returned_date_sk is not null and cr_returning_addr_sk is not null and cr_returning_customer_sk is not null) - Please refer to the previous TableScan [TS_6] + Filter Operator [FIL_204] (rows=4827746 width=201) + predicate:_col2 is not null + Select Operator [SEL_203] (rows=4827746 width=201) + Output:["_col0","_col1","_col2"] + Group By Operator [GBY_202] (rows=4827746 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1 + <-Reducer 8 [SIMPLE_EDGE] + SHUFFLE [RS_23] + PartitionCols:_col0, _col1 + Group By Operator [GBY_22] (rows=8574602 width=201) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col6, _col1 + Merge Join Operator [MERGEJOIN_177] (rows=8574602 width=194) + Conds:RS_18._col2=RS_200._col0(Inner),Output:["_col1","_col3","_col6"] + <-Map 15 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_200] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_199] + <-Reducer 7 [SIMPLE_EDGE] + SHUFFLE [RS_18] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_176] (rows=8574602 width=112) + Conds:RS_192._col0=RS_196._col0(Inner),Output:["_col1","_col2","_col3"] + <-Map 14 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_196] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_195] + <-Map 6 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_192] + PartitionCols:_col0 + Select Operator [SEL_190] (rows=27657410 width=121) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_188] (rows=27657410 width=121) + predicate:(cr_returned_date_sk is not null and cr_returning_addr_sk is not null and cr_returning_customer_sk is not null) + Please refer to the previous TableScan [TS_6] <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_59] + SHUFFLE [RS_62] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_172] (rows=1568628 width=1310) - Conds:RS_181._col2=RS_184._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16"] + Merge Join Operator [MERGEJOIN_175] (rows=1568628 width=1310) + Conds:RS_184._col2=RS_187._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16"] <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_181] + SHUFFLE [RS_184] PartitionCols:_col2 - Select Operator [SEL_180] (rows=80000000 width=375) + Select Operator [SEL_183] (rows=80000000 width=375) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_179] (rows=80000000 width=375) + Filter Operator [FIL_182] (rows=80000000 width=375) predicate:(c_current_addr_sk is not null and c_customer_sk is not null) TableScan [TS_0] (rows=80000000 width=375) default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_customer_id","c_current_addr_sk","c_salutation","c_first_name","c_last_name"] <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_184] + SHUFFLE [RS_187] PartitionCols:_col0 - Select Operator [SEL_183] (rows=784314 width=941) + Select Operator [SEL_186] (rows=784314 width=941) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"] - Filter Operator [FIL_182] (rows=784314 width=1027) + Filter Operator [FIL_185] (rows=784314 width=1027) predicate:((ca_state = 'IL') and ca_address_sk is not null) TableScan [TS_3] (rows=40000000 width=1027) default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_street_number","ca_street_name","ca_street_type","ca_suite_number","ca_city","ca_county","ca_state","ca_zip","ca_country","ca_gmt_offset","ca_location_type"] diff --git a/ql/src/test/results/clientpositive/perf/tez/query92.q.out b/ql/src/test/results/clientpositive/perf/tez/query92.q.out index 2bd5f7ee8d..f144b0043f 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query92.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query92.q.out @@ -67,119 +67,107 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### Plan optimized by CBO. Vertex dependency in root stage -Map 1 <- Reducer 9 (BROADCAST_EDGE) -Map 10 <- Reducer 12 (BROADCAST_EDGE) -Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) -Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 8 (ONE_TO_ONE_EDGE) -Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE) -Reducer 6 <- Map 10 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) +Map 1 <- Reducer 10 (BROADCAST_EDGE) +Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) +Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) +Reducer 4 <- Reducer 3 (ONE_TO_ONE_EDGE), Reducer 7 (ONE_TO_ONE_EDGE) +Reducer 5 <- Reducer 4 (CUSTOM_SIMPLE_EDGE) +Reducer 6 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) Reducer 7 <- Reducer 6 (SIMPLE_EDGE) -Reducer 8 <- Map 11 (SIMPLE_EDGE), Reducer 7 (ONE_TO_ONE_EDGE) -Reducer 9 <- Reducer 8 (CUSTOM_SIMPLE_EDGE) Stage-0 Fetch Operator limit:-1 Stage-1 - Reducer 4 vectorized - File Output Operator [FS_128] - Group By Operator [GBY_127] (rows=1 width=112) + Reducer 5 vectorized + File Output Operator [FS_127] + Group By Operator [GBY_126] (rows=1 width=112) Output:["_col0"],aggregations:["sum(VALUE._col0)"] - <-Reducer 3 [CUSTOM_SIMPLE_EDGE] + <-Reducer 4 [CUSTOM_SIMPLE_EDGE] PARTITION_ONLY_SHUFFLE [RS_36] Group By Operator [GBY_35] (rows=1 width=112) Output:["_col0"],aggregations:["sum(_col2)"] - Select Operator [SEL_34] (rows=2478 width=112) + Select Operator [SEL_34] (rows=32 width=115) Output:["_col2"] - Filter Operator [FIL_33] (rows=2478 width=112) - predicate:(_col2 > _col5) - Merge Join Operator [MERGEJOIN_103] (rows=7434 width=112) - Conds:RS_30._col1=RS_31._col2(Inner),Output:["_col2","_col5"] - <-Reducer 8 [ONE_TO_ONE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_31] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_102] (rows=97 width=116) - Conds:RS_121._col0=RS_110._col0(Inner),Output:["_col1","_col2"] - <-Map 11 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_110] + Filter Operator [FIL_33] (rows=32 width=115) + predicate:(_col2 > _col6) + Merge Join Operator [MERGEJOIN_103] (rows=97 width=113) + Conds:RS_30._col4=RS_125._col0(Inner),Output:["_col2","_col6"] + <-Reducer 3 [ONE_TO_ONE_EDGE] + FORWARD [RS_30] + PartitionCols:_col4 + Merge Join Operator [MERGEJOIN_101] (rows=222882 width=97) + Conds:RS_27._col1=RS_106._col0(Inner),Output:["_col2","_col4"] + <-Map 9 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_106] PartitionCols:_col0 - Select Operator [SEL_109] (rows=669 width=4) + Select Operator [SEL_105] (rows=669 width=4) Output:["_col0"] - Filter Operator [FIL_108] (rows=669 width=7) + Filter Operator [FIL_104] (rows=669 width=7) predicate:((i_manufact_id = 269) and i_item_sk is not null) - TableScan [TS_20] (rows=462000 width=7) + TableScan [TS_6] (rows=462000 width=7) default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_manufact_id"] - <-Reducer 7 [ONE_TO_ONE_EDGE] vectorized - FORWARD [RS_121] - PartitionCols:_col0 - Select Operator [SEL_120] (rows=6951 width=116) - Output:["_col0","_col1"] - Group By Operator [GBY_119] (rows=6951 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_17] - PartitionCols:_col0 - Group By Operator [GBY_16] (rows=55608 width=124) - Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 - Merge Join Operator [MERGEJOIN_101] (rows=15995224 width=115) - Conds:RS_118._col0=RS_107._col0(Inner),Output:["_col1","_col2"] - <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_107] - PartitionCols:_col0 - Select Operator [SEL_105] (rows=8116 width=4) - Output:["_col0"] - Filter Operator [FIL_104] (rows=8116 width=98) - predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00' AND TIMESTAMP'1998-06-16 00:00:00' and d_date_sk is not null) - TableScan [TS_3] (rows=73049 width=98) - default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"] - <-Map 10 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_118] - PartitionCols:_col0 - Select Operator [SEL_117] (rows=143966864 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_116] (rows=143966864 width=119) - predicate:((ws_item_sk BETWEEN DynamicValue(RS_24_item_i_item_sk_min) AND DynamicValue(RS_24_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_24_item_i_item_sk_bloom_filter))) and ws_item_sk is not null and ws_sold_date_sk is not null) - TableScan [TS_6] (rows=144002668 width=119) - default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_ext_discount_amt"] - <-Reducer 12 [BROADCAST_EDGE] vectorized - BROADCAST [RS_115] - Group By Operator [GBY_114] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized - SHUFFLE [RS_113] - Group By Operator [GBY_112] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_111] (rows=669 width=4) - Output:["_col0"] - Please refer to the previous Select Operator [SEL_109] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_30] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_100] (rows=15995224 width=115) - Conds:RS_126._col0=RS_106._col0(Inner),Output:["_col1","_col2"] - <-Map 5 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_106] - PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_105] - <-Map 1 [SIMPLE_EDGE] vectorized - SHUFFLE [RS_126] - PartitionCols:_col0 - Select Operator [SEL_125] (rows=143966864 width=119) - Output:["_col0","_col1","_col2"] - Filter Operator [FIL_124] (rows=143966864 width=119) - predicate:((ws_item_sk BETWEEN DynamicValue(RS_31_item_i_item_sk_min) AND DynamicValue(RS_31_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_31_item_i_item_sk_bloom_filter))) and ws_item_sk is not null and ws_sold_date_sk is not null) - TableScan [TS_0] (rows=144002668 width=119) - default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_ext_discount_amt"] - <-Reducer 9 [BROADCAST_EDGE] vectorized - BROADCAST [RS_123] - Group By Operator [GBY_122] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] - <-Reducer 8 [CUSTOM_SIMPLE_EDGE] - PARTITION_ONLY_SHUFFLE [RS_64] - Group By Operator [GBY_63] (rows=1 width=12) - Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] - Select Operator [SEL_62] (rows=97 width=8) - Output:["_col0"] - Please refer to the previous Merge Join Operator [MERGEJOIN_102] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_27] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_100] (rows=15991229 width=115) + Conds:RS_116._col0=RS_120._col0(Inner),Output:["_col1","_col2"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_116] + PartitionCols:_col0 + Select Operator [SEL_114] (rows=143930905 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_112] (rows=143930905 width=119) + predicate:(ws_ext_discount_amt is not null and ws_item_sk is not null and ws_sold_date_sk is not null) + TableScan [TS_0] (rows=144002668 width=119) + default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_ext_discount_amt"] + <-Reducer 10 [BROADCAST_EDGE] vectorized + BROADCAST [RS_111] + Group By Operator [GBY_110] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"] + <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized + SHUFFLE [RS_109] + Group By Operator [GBY_108] (rows=1 width=12) + Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"] + Select Operator [SEL_107] (rows=669 width=4) + Output:["_col0"] + Please refer to the previous Select Operator [SEL_105] + <-Map 8 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_120] + PartitionCols:_col0 + Select Operator [SEL_119] (rows=8116 width=4) + Output:["_col0"] + Filter Operator [FIL_118] (rows=8116 width=98) + predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00' AND TIMESTAMP'1998-06-16 00:00:00' and d_date_sk is not null) + TableScan [TS_3] (rows=73049 width=98) + default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"] + <-Reducer 7 [ONE_TO_ONE_EDGE] vectorized + FORWARD [RS_125] + PartitionCols:_col0 + Select Operator [SEL_124] (rows=6951 width=116) + Output:["_col0","_col1"] + Filter Operator [FIL_123] (rows=6951 width=124) + predicate:(_col1 is not null and _col2 is not null) + Group By Operator [GBY_122] (rows=6951 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_20] + PartitionCols:_col0 + Group By Operator [GBY_19] (rows=55608 width=124) + Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 + Merge Join Operator [MERGEJOIN_102] (rows=15995224 width=115) + Conds:RS_117._col0=RS_121._col0(Inner),Output:["_col1","_col2"] + <-Map 1 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_117] + PartitionCols:_col0 + Select Operator [SEL_115] (rows=143966864 width=119) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_113] (rows=143966864 width=119) + predicate:(ws_item_sk is not null and ws_sold_date_sk is not null) + Please refer to the previous TableScan [TS_0] + <-Map 8 [SIMPLE_EDGE] vectorized + SHUFFLE [RS_121] + PartitionCols:_col0 + Please refer to the previous Select Operator [SEL_119] diff --git a/ql/src/test/results/clientpositive/spark/join_merging.q.out b/ql/src/test/results/clientpositive/spark/join_merging.q.out index afa8e1e163..eaba33ffa7 100644 --- a/ql/src/test/results/clientpositive/spark/join_merging.q.out +++ b/ql/src/test/results/clientpositive/spark/join_merging.q.out @@ -168,10 +168,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: p2 - filterExpr: p_partkey is not null (type: boolean) + filterExpr: (p_partkey is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: p_partkey is not null (type: boolean) + predicate: (p_partkey is not null and p_size 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_size (type: int), (p_size + 10) (type: int) diff --git a/ql/src/test/results/clientpositive/spark/semijoin.q.out b/ql/src/test/results/clientpositive/spark/semijoin.q.out index a0cbf47eb1..4b49fa5065 100644 --- a/ql/src/test/results/clientpositive/spark/semijoin.q.out +++ b/ql/src/test/results/clientpositive/spark/semijoin.q.out @@ -2836,10 +2836,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: a - filterExpr: key is not null (type: boolean) + filterExpr: (value is not null and key is not null) (type: boolean) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: key is not null (type: boolean) + predicate: (key is not null and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: key (type: string), value (type: string) diff --git a/ql/src/test/results/clientpositive/spark/subquery_in.q.out b/ql/src/test/results/clientpositive/spark/subquery_in.q.out index 3fc9aa1b1b..419b89354c 100644 --- a/ql/src/test/results/clientpositive/spark/subquery_in.q.out +++ b/ql/src/test/results/clientpositive/spark/subquery_in.q.out @@ -932,10 +932,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: b - filterExpr: key is not null (type: boolean) + filterExpr: (key is not null and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: key is not null (type: boolean) + predicate: (key is not null and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: key (type: string), value (type: string) @@ -4630,7 +4630,7 @@ POSTHOOK: Input: default@part 85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull 86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully 90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl -Warning: Shuffle Join JOIN[14][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 4' is a cross product +Warning: Shuffle Join JOIN[15][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 4' is a cross product PREHOOK: query: explain select * from part where p_size in (select min(pp.p_size) from part pp where pp.p_partkey > part.p_partkey) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -4677,15 +4677,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: pp + filterExpr: 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_size (type: int) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: p_partkey is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Select Operator + expressions: p_partkey (type: int), p_size (type: int) + outputColumnNames: _col0, _col1 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) Execution mode: vectorized Map 6 Map Operator Tree: @@ -4797,7 +4801,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[14][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 4' is a cross product +Warning: Shuffle Join JOIN[15][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 4' is a cross product PREHOOK: query: select * from part where p_size in (select min(pp.p_size) from part pp where pp.p_partkey > part.p_partkey) PREHOOK: type: QUERY PREHOOK: Input: default@part diff --git a/ql/src/test/results/clientpositive/spark/subquery_notin.q.out b/ql/src/test/results/clientpositive/spark/subquery_notin.q.out index 2d93874450..b5b7b59365 100644 --- a/ql/src/test/results/clientpositive/spark/subquery_notin.q.out +++ b/ql/src/test/results/clientpositive/spark/subquery_notin.q.out @@ -7427,7 +7427,7 @@ PREHOOK: query: drop table t1_n0 PREHOOK: type: DROPTABLE POSTHOOK: query: drop table t1_n0 POSTHOOK: type: DROPTABLE -Warning: Shuffle Join JOIN[13][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 6' is a cross product +Warning: Shuffle Join JOIN[14][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 6' is a cross product PREHOOK: query: explain select * from src b where b.key not in @@ -7484,10 +7484,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: b + filterExpr: value is not null (type: boolean) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: value + Filter Operator + predicate: value is not null (type: boolean) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Group By Operator keys: value (type: string) @@ -7505,10 +7505,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: a - filterExpr: (key > '9') (type: boolean) + filterExpr: ((key > '9') and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (key > '9') (type: boolean) + predicate: ((key > '9') and value is not null) (type: boolean) Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: key (type: string), value (type: string) @@ -7663,7 +7663,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[13][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 6' is a cross product +Warning: Shuffle Join JOIN[14][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 6' is a cross product PREHOOK: query: select * from src b where b.key not in diff --git a/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out b/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out index 4e31c3fd20..515fd823e3 100644 --- a/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out +++ b/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out @@ -79,7 +79,7 @@ POSTHOOK: Lineage: part_null_n0.p_partkey SCRIPT [] POSTHOOK: Lineage: part_null_n0.p_retailprice SCRIPT [] POSTHOOK: Lineage: part_null_n0.p_size SCRIPT [] POSTHOOK: Lineage: part_null_n0.p_type SCRIPT [] -Warning: Shuffle Join JOIN[10][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product +Warning: Shuffle Join JOIN[13][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product PREHOOK: query: explain select * from part where p_size > (select avg(p_size) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -106,15 +106,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part + filterExpr: p_size 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), UDFToDouble(p_size) (type: double) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 + Filter Operator + predicate: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + 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), UDFToDouble(p_size) (type: double) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 Statistics: Num rows: 26 Data size: 3147 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: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 3147 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: double) Execution mode: vectorized Map 3 Map Operator Tree: @@ -168,14 +172,17 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: (UDFToDouble(_col0) / _col1) (type: double) - outputColumnNames: _col0 + Filter Operator + predicate: (_col0 is not null and _col1 is not null) (type: boolean) Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Select Operator + expressions: (UDFToDouble(_col0) / _col1) (type: double) + outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: double) Stage: Stage-0 Fetch Operator @@ -183,7 +190,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[10][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product +Warning: Shuffle Join JOIN[13][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product PREHOOK: query: select * from part where p_size > (select avg(p_size) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -205,7 +212,7 @@ POSTHOOK: Input: default@part_null_n0 78486 almond azure blanched chiffon midnight Manufacturer#5 Brand#52 LARGE BRUSHED BRASS 23 MED BAG 1464.48 hely blith 85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull 86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully -Warning: Shuffle Join JOIN[15][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[17][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 3' is a cross product PREHOOK: query: select * from part where p_size > (select * from tempty_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -216,7 +223,7 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@tempty_n0 #### A masked pattern was here #### -Warning: Shuffle Join JOIN[15][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[17][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 3' is a cross product PREHOOK: query: explain select * from part where p_size > (select * from tempty_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -261,29 +268,37 @@ STAGE PLANS: Map Operator Tree: TableScan alias: tempty_n0 + filterExpr: c is not null (type: boolean) Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE - Select Operator - expressions: c (type: char(2)) - outputColumnNames: _col0 + Filter Operator + predicate: c is not null (type: boolean) Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE - Reduce Output Operator - sort order: + Select Operator + expressions: c (type: char(2)) + outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE - value expressions: _col0 (type: char(2)) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + value expressions: _col0 (type: char(2)) Execution mode: vectorized Map 5 Map Operator Tree: TableScan alias: part + filterExpr: p_size 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 + Filter Operator + predicate: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + 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 - 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) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 3147 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) Execution mode: vectorized Reducer 2 Execution mode: vectorized @@ -810,7 +825,7 @@ POSTHOOK: Input: default@part_null_n0 85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull 86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully 90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl -Warning: Shuffle Join JOIN[17][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 2' is a cross product +Warning: Shuffle Join JOIN[22][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 2' is a cross product PREHOOK: query: explain select * from part where p_size between (select min(p_size) from part) and (select avg(p_size) from part) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -836,15 +851,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part + filterExpr: p_size 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), UDFToDouble(p_size) (type: double) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 + Filter Operator + predicate: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + 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), UDFToDouble(p_size) (type: double) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 Statistics: Num rows: 26 Data size: 3147 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: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 3147 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: double) Execution mode: vectorized Map 3 Map Operator Tree: @@ -920,14 +939,17 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: UDFToDouble(_col0) (type: double) - outputColumnNames: _col0 + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Select Operator + expressions: UDFToDouble(_col0) (type: double) + outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: double) Reducer 6 Execution mode: vectorized Reduce Operator Tree: @@ -936,14 +958,17 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: (UDFToDouble(_col0) / _col1) (type: double) - outputColumnNames: _col0 + Filter Operator + predicate: (_col0 is not null and _col1 is not null) (type: boolean) Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Select Operator + expressions: (UDFToDouble(_col0) / _col1) (type: double) + outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: double) Stage: Stage-0 Fetch Operator @@ -951,7 +976,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[17][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 2' is a cross product +Warning: Shuffle Join JOIN[22][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 2' is a cross product PREHOOK: query: select * from part where p_size between (select min(p_size) from part) and (select avg(p_size) from part) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -975,7 +1000,7 @@ POSTHOOK: Input: default@part 42669 almond antique medium spring khaki Manufacturer#5 Brand#51 STANDARD BURNISHED TIN 6 MED CAN 1611.66 sits haggl 49671 almond antique gainsboro frosted violet Manufacturer#4 Brand#41 SMALL BRUSHED BRASS 10 SM BOX 1620.67 ccounts run quick 90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl -Warning: Shuffle Join JOIN[32][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 5' is a cross product +Warning: Shuffle Join JOIN[35][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 5' is a cross product PREHOOK: query: explain select p_mfgr, p_name, p_size from part where part.p_size > (select first_value(p_size) over(partition by p_mfgr order by p_size) as fv from part order by fv limit 1) @@ -1019,15 +1044,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part + filterExpr: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: p_name (type: string), p_mfgr (type: string), p_size (type: int) - outputColumnNames: _col0, _col1, _col2 + Filter Operator + predicate: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Select Operator + expressions: p_name (type: string), p_mfgr (type: string), p_size (type: int) + outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int) Execution mode: vectorized Reducer 2 Execution mode: vectorized @@ -1171,10 +1200,13 @@ STAGE PLANS: Limit Number of rows: 1 Statistics: Num rows: 1 Data size: 121 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 121 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 121 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int) Stage: Stage-0 Fetch Operator @@ -1182,7 +1214,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[32][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 5' is a cross product +Warning: Shuffle Join JOIN[35][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 5' is a cross product PREHOOK: query: select p_mfgr, p_name, p_size from part where part.p_size > (select first_value(p_size) over(partition by p_mfgr order by p_size) as fv from part order by fv limit 1) @@ -1378,10 +1410,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: e - filterExpr: p_name is not null (type: boolean) + filterExpr: (p_name is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: p_name is not null (type: boolean) + predicate: (p_name is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: p_name (type: string), (p_size + 100) (type: int) @@ -1466,16 +1498,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: int), _col0 (type: string) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Select Operator + expressions: _col1 (type: int), _col0 (type: string) + outputColumnNames: _col0, _col1 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int) + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int) Stage: Stage-0 Fetch Operator @@ -1652,10 +1687,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part - filterExpr: p_type is not null (type: boolean) + filterExpr: (p_type is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: p_type is not null (type: boolean) + predicate: (p_size is not null and p_type 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), UDFToDouble(p_size) (type: double) @@ -1724,16 +1759,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: (UDFToDouble(_col1) / _col2) (type: double), _col0 (type: string) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Select Operator + expressions: (UDFToDouble(_col1) / _col2) (type: double), _col0 (type: string) + outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: double) + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: double) Stage: Stage-0 Fetch Operator @@ -1752,7 +1790,7 @@ POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 #### A masked pattern was here #### 192697 almond antique blue firebrick mint Manufacturer#5 Brand#52 MEDIUM BURNISHED TIN 31 LG DRUM 1789.69 ickly ir -Warning: Shuffle Join JOIN[22][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[25][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 3' is a cross product PREHOOK: query: explain select * from part where p_size BETWEEN (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND (select max(p_size) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -1781,10 +1819,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part - filterExpr: p_type is not null (type: boolean) + filterExpr: (p_type is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: p_type is not null (type: boolean) + predicate: (p_size is not null and p_type 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) @@ -1890,16 +1928,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: int), _col0 (type: string) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Select Operator + expressions: _col1 (type: int), _col0 (type: string) + outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int) + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int) Reducer 7 Execution mode: vectorized Reduce Operator Tree: @@ -1908,10 +1949,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int) Stage: Stage-0 Fetch Operator @@ -1919,7 +1963,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[22][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[25][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 3' is a cross product PREHOOK: query: select * from part where p_size BETWEEN (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND (select max(p_size) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -1956,7 +2000,7 @@ POSTHOOK: Input: default@part_null_n0 85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull 86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully 90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl -Warning: Shuffle Join JOIN[22][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[25][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 3' is a cross product PREHOOK: query: explain select * from part where p_size >= (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND p_retailprice <= (select max(p_retailprice) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -1985,10 +2029,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part - filterExpr: p_type is not null (type: boolean) + filterExpr: (p_type is not null and p_size is not null and p_retailprice is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: p_type is not null (type: boolean) + predicate: (p_retailprice is not null and p_size is not null and p_type 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) @@ -2094,16 +2138,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: int), _col0 (type: string) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Select Operator + expressions: _col1 (type: int), _col0 (type: string) + outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int) + Reduce Output Operator + key expressions: _col1 (type: string) + sort order: + + Map-reduce partition columns: _col1 (type: string) + Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int) Reducer 7 Execution mode: vectorized Reduce Operator Tree: @@ -2112,10 +2159,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: double) Stage: Stage-0 Fetch Operator @@ -2123,7 +2173,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[22][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[25][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 3' is a cross product PREHOOK: query: select * from part where p_size >= (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND p_retailprice <= (select max(p_retailprice) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -2472,8 +2522,8 @@ POSTHOOK: Input: default@part 85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull 86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully 90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl -Warning: Shuffle Join JOIN[10][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product -Warning: Shuffle Join JOIN[27][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 4' is a cross product +Warning: Shuffle Join JOIN[34][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 8' is a cross product +Warning: Shuffle Join JOIN[45][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 4' is a cross product PREHOOK: query: explain select key, count(*) from src where value <> (select max(value) from src) group by key having count(*) > (select count(*) from src s1 where s1.key = '90' group by s1.key ) PREHOOK: type: QUERY PREHOOK: Input: default@src @@ -2490,28 +2540,39 @@ STAGE PLANS: Stage: Stage-1 Spark Edges: - Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1) - Reducer 3 <- Reducer 2 (GROUP, 2) - Reducer 4 <- Reducer 3 (PARTITION-LEVEL SORT, 1), Reducer 8 (PARTITION-LEVEL SORT, 1) - Reducer 6 <- Map 5 (GROUP, 1) - Reducer 8 <- Map 7 (GROUP, 2) + Reducer 11 <- Map 10 (GROUP, 1) + Reducer 2 <- Map 1 (GROUP, 2) + Reducer 3 <- Reducer 2 (GROUP, 1) + Reducer 4 <- Reducer 3 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1), Reducer 9 (PARTITION-LEVEL SORT, 1) + Reducer 6 <- Map 5 (GROUP, 2) + Reducer 8 <- Map 7 (PARTITION-LEVEL SORT, 1), Reducer 11 (PARTITION-LEVEL SORT, 1) + Reducer 9 <- Reducer 8 (GROUP, 2) #### A masked pattern was here #### Vertices: Map 1 Map Operator Tree: TableScan - alias: src + alias: s1 + filterExpr: (key = '90') (type: boolean) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: key (type: string), value (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) + Filter Operator + predicate: (key = '90') (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Select Operator + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: true (type: boolean) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: boolean) + sort order: + + Map-reduce partition columns: _col0 (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Execution mode: vectorized - Map 5 + Map 10 Map Operator Tree: TableScan alias: src @@ -2531,7 +2592,7 @@ STAGE PLANS: Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE value expressions: _col0 (type: string) Execution mode: vectorized - Map 7 + Map 5 Map Operator Tree: TableScan alias: s1 @@ -2556,86 +2617,95 @@ STAGE PLANS: Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: bigint) Execution mode: vectorized - Reducer 2 - Reduce Operator Tree: - Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 - 1 - outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 500 Data size: 97812 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col1 <> _col2) (type: boolean) - Statistics: Num rows: 500 Data size: 97812 Basic stats: COMPLETE Column stats: NONE + Map 7 + Map Operator Tree: + TableScan + alias: src + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 500 Data size: 97812 Basic stats: COMPLETE Column stats: NONE - Group By Operator - aggregations: count() - keys: _col0 (type: string) - minReductionHashAggr: 0.99 - mode: hash - outputColumnNames: _col0, _col1 - Statistics: Num rows: 500 Data size: 97812 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 500 Data size: 97812 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: bigint) - Reducer 3 + expressions: key (type: string), value (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: string), _col1 (type: string) + Execution mode: vectorized + Reducer 11 Execution mode: vectorized Reduce Operator Tree: Group By Operator - aggregations: count(VALUE._col0) - keys: KEY._col0 (type: string) + aggregations: max(VALUE._col0) mode: mergepartial - outputColumnNames: _col0, _col1 - Statistics: Num rows: 250 Data size: 48906 Basic stats: COMPLETE Column stats: NONE + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator sort order: - Statistics: Num rows: 250 Data size: 48906 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint) + Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: string) + Reducer 2 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + keys: KEY._col0 (type: boolean) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE + Select Operator + Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Reducer 3 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (sq_count_check(_col0) <= 1) (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Select Operator + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE Reducer 4 Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 + Inner Join 0 to 2 keys: 0 1 - outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 31250 Data size: 6476500 Basic stats: COMPLETE Column stats: NONE + 2 + outputColumnNames: _col1, _col2, _col3 + Statistics: Num rows: 31250 Data size: 6726500 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 > _col2) (type: boolean) - Statistics: Num rows: 10416 Data size: 2158695 Basic stats: COMPLETE Column stats: NONE + predicate: (_col3 > _col1) (type: boolean) + Statistics: Num rows: 10416 Data size: 2242023 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: bigint) + expressions: _col2 (type: string), _col3 (type: bigint) outputColumnNames: _col0, _col1 - Statistics: Num rows: 10416 Data size: 2158695 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 10416 Data size: 2242023 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - Statistics: Num rows: 10416 Data size: 2158695 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 10416 Data size: 2242023 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 Reducer 6 - Execution mode: vectorized - Reduce Operator Tree: - Group By Operator - aggregations: max(VALUE._col0) - mode: mergepartial - outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string) - Reducer 8 Execution mode: vectorized Reduce Operator Tree: Group By Operator @@ -2646,12 +2716,65 @@ STAGE PLANS: Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col1 (type: bigint) - outputColumnNames: _col0 + outputColumnNames: _col1 Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: _col1 is not null (type: boolean) + Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col1 (type: bigint) + outputColumnNames: _col0 + Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Reducer 8 + Reduce Operator Tree: + Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 + 1 + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 500 Data size: 97812 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (_col1 <> _col2) (type: boolean) + Statistics: Num rows: 500 Data size: 97812 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col0 (type: string) + outputColumnNames: _col0 + Statistics: Num rows: 500 Data size: 97812 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + keys: _col0 (type: string) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 500 Data size: 97812 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: string) + sort order: + + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 500 Data size: 97812 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: bigint) + Reducer 9 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + keys: KEY._col0 (type: string) + mode: mergepartial + outputColumnNames: _col0, _col1 + Statistics: Num rows: 250 Data size: 48906 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: _col1 is not null (type: boolean) + Statistics: Num rows: 250 Data size: 48906 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator sort order: - Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) + Statistics: Num rows: 250 Data size: 48906 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: string), _col1 (type: bigint) Stage: Stage-0 Fetch Operator @@ -2659,8 +2782,8 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[10][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product -Warning: Shuffle Join JOIN[27][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 4' is a cross product +Warning: Shuffle Join JOIN[34][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 8' is a cross product +Warning: Shuffle Join JOIN[45][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 4' is a cross product PREHOOK: query: select key, count(*) from src where value <> (select max(value) from src) group by key having count(*) > (select count(*) from src s1 where s1.key = '90' group by s1.key ) PREHOOK: type: QUERY PREHOOK: Input: default@src @@ -2679,7 +2802,7 @@ POSTHOOK: Input: default@src 468 4 469 5 489 4 -Warning: Shuffle Join JOIN[14][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[17][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 3' is a cross product PREHOOK: query: explain select sum(p_retailprice) from part group by p_type having sum(p_retailprice) > (select max(pp.p_retailprice) from part pp) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -2757,10 +2880,13 @@ STAGE PLANS: expressions: _col1 (type: double) outputColumnNames: _col1 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: double) Reducer 3 Reduce Operator Tree: Join Operator @@ -2793,10 +2919,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: double) Stage: Stage-0 Fetch Operator @@ -2804,7 +2933,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[14][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[17][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 3' is a cross product PREHOOK: query: select sum(p_retailprice) from part group by p_type having sum(p_retailprice) > (select max(pp.p_retailprice) from part pp) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -2815,7 +2944,7 @@ POSTHOOK: Input: default@part #### A masked pattern was here #### 2346.3 3461.37 -Warning: Shuffle Join JOIN[72][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 5' is a cross product +Warning: Shuffle Join JOIN[77][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 5' is a cross product PREHOOK: query: explain select * from part where p_size > (select count(p_name) from part INTERSECT select count(p_brand) from part) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -2838,8 +2967,12 @@ STAGE PLANS: Reducer 13 <- Reducer 12 (GROUP, 1) Reducer 15 <- Map 14 (GROUP, 1) Reducer 16 <- Reducer 15 (GROUP, 2) - Reducer 4 <- Reducer 11 (GROUP, 2), Reducer 16 (GROUP, 2) + Reducer 2 <- Map 1 (GROUP, 1) + Reducer 3 <- Reducer 2 (GROUP, 2) + Reducer 4 <- Reducer 3 (GROUP, 2), Reducer 8 (GROUP, 2) Reducer 5 <- Map 17 (PARTITION-LEVEL SORT, 1), Reducer 13 (PARTITION-LEVEL SORT, 1), Reducer 4 (PARTITION-LEVEL SORT, 1) + Reducer 7 <- Map 14 (GROUP, 1) + Reducer 8 <- Reducer 7 (GROUP, 2) #### A masked pattern was here #### Vertices: Map 1 @@ -2886,15 +3019,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part + filterExpr: p_size 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 + Filter Operator + predicate: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + 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 - 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) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 3147 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) Execution mode: vectorized Reducer 10 Execution mode: vectorized @@ -3026,6 +3163,52 @@ STAGE PLANS: Map-reduce partition columns: _col0 (type: bigint) Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: bigint) + Reducer 2 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: _col0 is not null (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + keys: _col0 (type: bigint) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: bigint) + sort order: + + Map-reduce partition columns: _col0 (type: bigint) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: bigint) + Reducer 3 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + keys: KEY._col0 (type: bigint) + mode: mergepartial + outputColumnNames: _col0, _col1 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count(_col1) + keys: _col0 (type: bigint) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: bigint) + sort order: + + Map-reduce partition columns: _col0 (type: bigint) + Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: bigint) Reducer 4 Execution mode: vectorized Reduce Operator Tree: @@ -3072,6 +3255,52 @@ STAGE PLANS: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Reducer 7 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: _col0 is not null (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + keys: _col0 (type: bigint) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: bigint) + sort order: + + Map-reduce partition columns: _col0 (type: bigint) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: bigint) + Reducer 8 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + keys: KEY._col0 (type: bigint) + mode: mergepartial + outputColumnNames: _col0, _col1 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count(_col1) + keys: _col0 (type: bigint) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: bigint) + sort order: + + Map-reduce partition columns: _col0 (type: bigint) + Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: bigint) Stage: Stage-0 Fetch Operator @@ -3079,7 +3308,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[72][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 5' is a cross product +Warning: Shuffle Join JOIN[77][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 5' is a cross product PREHOOK: query: select * from part where p_size > (select count(p_name) from part INTERSECT select count(p_brand) from part) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -4224,10 +4453,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: lineitem - filterExpr: l_partkey is not null (type: boolean) + filterExpr: (l_partkey is not null and l_quantity is not null) (type: boolean) Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: l_partkey is not null (type: boolean) + predicate: (l_partkey is not null and l_quantity is not null) (type: boolean) Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: l_partkey (type: int), l_quantity (type: double), l_extendedprice (type: double) @@ -4335,16 +4564,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 50 Data size: 5999 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: int), (_col1 / _col2) (type: double) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: (_col1 is not null and _col2 is not null) (type: boolean) Statistics: Num rows: 50 Data size: 5999 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - Map-reduce partition columns: _col0 (type: int) + Select Operator + expressions: _col0 (type: int), (_col1 / _col2) (type: double) + outputColumnNames: _col0, _col1 Statistics: Num rows: 50 Data size: 5999 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: double) + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 50 Data size: 5999 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: double) Stage: Stage-0 Fetch Operator @@ -4843,10 +5075,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: emps_n4 - filterExpr: deptno is not null (type: boolean) + filterExpr: (deptno is not null and name is not null) (type: boolean) Statistics: Num rows: 5 Data size: 238 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: deptno is not null (type: boolean) + predicate: (deptno is not null and name is not null) (type: boolean) Statistics: Num rows: 5 Data size: 238 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: empno (type: int), name (type: string), deptno (type: int), gender (type: string), city (type: string), empid (type: int), age (type: int), slacker (type: boolean), manager (type: boolean), joinedat (type: date) @@ -4915,16 +5147,19 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string), _col0 (type: int) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: int) - sort order: + - Map-reduce partition columns: _col1 (type: int) + Select Operator + expressions: _col1 (type: string), _col0 (type: int) + outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string) + Reduce Output Operator + key expressions: _col1 (type: int) + sort order: + + Map-reduce partition columns: _col1 (type: int) + Statistics: Num rows: 1 Data size: 10 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: string) Stage: Stage-0 Fetch Operator @@ -5136,7 +5371,7 @@ POSTHOOK: Input: default@emps_n4 110 John 40 M Vancouver 2 NULL false true 2002-05-03 120 Wilma 20 F NULL 1 5 NULL true 2005-09-07 130 Alice 40 F Vancouver 2 NULL false true 2007-01-01 -Warning: Shuffle Join JOIN[18][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product +Warning: Shuffle Join JOIN[20][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product PREHOOK: query: explain select * from emps_n4 where deptno <> (select sum(deptno) from depts_n3 where depts_n3.name = emps_n4.name) and empno > (select count(name) from depts_n3) PREHOOK: type: QUERY PREHOOK: Input: default@depts_n3 @@ -5165,10 +5400,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: emps_n4 - filterExpr: name is not null (type: boolean) + filterExpr: (name is not null and empno is not null) (type: boolean) Statistics: Num rows: 5 Data size: 238 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: name is not null (type: boolean) + predicate: (empno is not null and name is not null) (type: boolean) Statistics: Num rows: 5 Data size: 238 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: empno (type: int), name (type: string), deptno (type: int), gender (type: string), city (type: string), empid (type: int), age (type: int), slacker (type: boolean), manager (type: boolean), joinedat (type: date), UDFToLong(deptno) (type: bigint) @@ -5273,10 +5508,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) Reducer 7 Execution mode: vectorized Reduce Operator Tree: @@ -5303,7 +5541,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[22][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[25][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 3' is a cross product PREHOOK: query: select * from emps_n4 where deptno <> (select count(deptno) from depts_n3 where depts_n3.name = emps_n4.name) and empno > (select count(name) from depts_n3) PREHOOK: type: QUERY PREHOOK: Input: default@depts_n3 @@ -5335,7 +5573,7 @@ POSTHOOK: query: drop table EMPS_n4 POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@emps_n4 POSTHOOK: Output: default@emps_n4 -Warning: Shuffle Join JOIN[15][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[18][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 3' is a cross product PREHOOK: query: explain select key, count(*) from src @@ -5419,10 +5657,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint) + Reduce Output Operator + sort order: + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: string), _col1 (type: bigint) Reducer 3 Reduce Operator Tree: Join Operator @@ -5455,10 +5696,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) Stage: Stage-0 Fetch Operator @@ -5466,7 +5710,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[15][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[18][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 3' is a cross product PREHOOK: query: select key, count(*) from src group by key @@ -5491,7 +5735,7 @@ POSTHOOK: Input: default@src 468 4 469 5 489 4 -Warning: Shuffle Join JOIN[27][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 5' is a cross product +Warning: Shuffle Join JOIN[30][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 5' is a cross product PREHOOK: query: explain select key, value, count(*) from src b @@ -5633,10 +5877,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 91 Data size: 969 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col2 is not null (type: boolean) Statistics: Num rows: 91 Data size: 969 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) + Reduce Output Operator + sort order: + Statistics: Num rows: 91 Data size: 969 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) Reducer 5 Reduce Operator Tree: Join Operator @@ -5669,10 +5916,13 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col0 is not null (type: boolean) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) Stage: Stage-0 Fetch Operator @@ -5680,7 +5930,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[27][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 5' is a cross product +Warning: Shuffle Join JOIN[30][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 5' is a cross product PREHOOK: query: select key, value, count(*) from src b where b.key in (select key from src where src.key > '8') @@ -5697,7 +5947,7 @@ having count(*) > (select count(*) from src s1 where s1.key > '9' ) POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### -Warning: Shuffle Join JOIN[24][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[26][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 3' is a cross product PREHOOK: query: explain select * from part where p_size > (select max(p_size) from part group by p_type) PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -5768,15 +6018,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part + filterExpr: p_size 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 + Filter Operator + predicate: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + 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 - 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) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 3147 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) Execution mode: vectorized Reducer 2 Execution mode: vectorized @@ -5789,12 +6043,19 @@ STAGE PLANS: Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col1 (type: int) - outputColumnNames: _col0 + outputColumnNames: _col1 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Filter Operator + predicate: _col1 is not null (type: boolean) Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int) + Select Operator + expressions: _col1 (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int) Reducer 3 Reduce Operator Tree: Join Operator @@ -5889,10 +6150,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part - filterExpr: p_type is not null (type: boolean) + filterExpr: (p_type is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: p_type is not null (type: boolean) + predicate: (p_size is not null and p_type 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) @@ -6009,15 +6270,22 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col1 (type: int), _col0 (type: string) - outputColumnNames: _col0, _col1 + expressions: _col0 (type: string), _col1 (type: int) + outputColumnNames: _col1, _col2 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) + Filter Operator + predicate: _col2 is not null (type: boolean) Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int) + Select Operator + expressions: _col2 (type: int), _col1 (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 13 Data size: 1573 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: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int) Stage: Stage-0 Fetch Operator @@ -6864,7 +7132,7 @@ POSTHOOK: query: drop table tempty_n0 POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@tempty_n0 POSTHOOK: Output: default@tempty_n0 -Warning: Shuffle Join JOIN[15][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[32][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 4' is a cross product PREHOOK: query: explain select key, count(*) from src group by key having count(*) > (select count(*) from src s1 group by 4) PREHOOK: type: QUERY @@ -6884,34 +7152,32 @@ STAGE PLANS: Spark Edges: Reducer 2 <- Map 1 (GROUP, 2) - Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 5 (PARTITION-LEVEL SORT, 1) - Reducer 5 <- Map 4 (GROUP, 2) + Reducer 3 <- Reducer 2 (GROUP, 1) + Reducer 4 <- Reducer 3 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1), Reducer 8 (PARTITION-LEVEL SORT, 1) + Reducer 6 <- Map 5 (GROUP, 2) + Reducer 8 <- Map 7 (GROUP, 2) #### A masked pattern was here #### Vertices: Map 1 Map Operator Tree: TableScan - alias: src - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + alias: s1 + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: key (type: string) - outputColumnNames: key - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator - aggregations: count() - keys: key (type: string) + keys: true (type: boolean) minReductionHashAggr: 0.99 mode: hash - outputColumnNames: _col0, _col1 - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator - key expressions: _col0 (type: string) + key expressions: _col0 (type: boolean) sort order: + - Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: bigint) + Map-reduce partition columns: _col0 (type: boolean) + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE Execution mode: vectorized - Map 4 + Map 5 Map Operator Tree: TableScan alias: s1 @@ -6932,44 +7198,92 @@ STAGE PLANS: Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: bigint) Execution mode: vectorized + Map 7 + Map Operator Tree: + TableScan + alias: src + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: key (type: string) + outputColumnNames: key + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + keys: key (type: string) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: string) + sort order: + + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: bigint) + Execution mode: vectorized Reducer 2 Execution mode: vectorized Reduce Operator Tree: Group By Operator - aggregations: count(VALUE._col0) - keys: KEY._col0 (type: string) + keys: KEY._col0 (type: boolean) mode: mergepartial - outputColumnNames: _col0, _col1 - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint) + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE + Group By Operator + aggregations: count() + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: bigint) Reducer 3 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: (sq_count_check(_col0) <= 1) (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reducer 4 Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 + Inner Join 0 to 2 keys: 0 1 - outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 250 Data size: 4906 Basic stats: COMPLETE Column stats: NONE + 2 + outputColumnNames: _col1, _col2, _col3 + Statistics: Num rows: 250 Data size: 6906 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 > _col2) (type: boolean) - Statistics: Num rows: 83 Data size: 1628 Basic stats: COMPLETE Column stats: NONE + predicate: (_col3 > _col1) (type: boolean) + Statistics: Num rows: 83 Data size: 2292 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: bigint) + expressions: _col2 (type: string), _col3 (type: bigint) outputColumnNames: _col0, _col1 - Statistics: Num rows: 83 Data size: 1628 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 83 Data size: 2292 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - Statistics: Num rows: 83 Data size: 1628 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 83 Data size: 2292 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 - Reducer 5 + Reducer 6 Execution mode: vectorized Reduce Operator Tree: Group By Operator @@ -6980,12 +7294,35 @@ STAGE PLANS: Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col1 (type: bigint) - outputColumnNames: _col0 + outputColumnNames: _col1 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Filter Operator + predicate: _col1 is not null (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Select Operator + expressions: _col1 (type: bigint) + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col0 (type: bigint) + Reducer 8 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + keys: KEY._col0 (type: string) + mode: mergepartial + outputColumnNames: _col0, _col1 + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: _col1 is not null (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: bigint) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: string), _col1 (type: bigint) Stage: Stage-0 Fetch Operator @@ -6993,7 +7330,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[16][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 3' is a cross product +Warning: Shuffle Join JOIN[34][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 4' is a cross product PREHOOK: query: explain select key, count(*) from src group by key having count(*) > (select count(*) from src s1 where s1.key = '90' group by s1.key ) PREHOOK: type: QUERY @@ -7013,34 +7350,36 @@ STAGE PLANS: Spark Edges: Reducer 2 <- Map 1 (GROUP, 2) - Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 5 (PARTITION-LEVEL SORT, 1) - Reducer 5 <- Map 4 (GROUP, 2) + Reducer 3 <- Reducer 2 (GROUP, 1) + Reducer 4 <- Reducer 3 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1), Reducer 8 (PARTITION-LEVEL SORT, 1) + Reducer 6 <- Map 5 (GROUP, 2) + Reducer 8 <- Map 7 (GROUP, 2) #### A masked pattern was here #### Vertices: Map 1 Map Operator Tree: TableScan - alias: src + alias: s1 + filterExpr: (key = '90') (type: boolean) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: key (type: string) - outputColumnNames: key - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Group By Operator - aggregations: count() - keys: key (type: string) - minReductionHashAggr: 0.99 - mode: hash - outputColumnNames: _col0, _col1 - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: bigint) + Filter Operator + predicate: (key = '90') (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Select Operator + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: true (type: boolean) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: boolean) + sort order: + + Map-reduce partition columns: _col0 (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Execution mode: vectorized - Map 4 + Map 5 Map Operator Tree: TableScan alias: s1 @@ -7065,44 +7404,92 @@ STAGE PLANS: Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: bigint) Execution mode: vectorized + Map 7 + Map Operator Tree: + TableScan + alias: src + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: key (type: string) + outputColumnNames: key + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + keys: key (type: string) + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: string) + sort order: + + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: bigint) + Execution mode: vectorized Reducer 2 Execution mode: vectorized Reduce Operator Tree: Group By Operator - aggregations: count(VALUE._col0) - keys: KEY._col0 (type: string) + keys: KEY._col0 (type: boolean) mode: mergepartial - outputColumnNames: _col0, _col1 - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint) + outputColumnNames: _col0 + Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE + Select Operator + Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + minReductionHashAggr: 0.99 + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) Reducer 3 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (sq_count_check(_col0) <= 1) (type: boolean) + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Select Operator + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reducer 4 Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 + Inner Join 0 to 2 keys: 0 1 - outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 31250 Data size: 695250 Basic stats: COMPLETE Column stats: NONE + 2 + outputColumnNames: _col1, _col2, _col3 + Statistics: Num rows: 31250 Data size: 945250 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 > _col2) (type: boolean) - Statistics: Num rows: 10416 Data size: 231735 Basic stats: COMPLETE Column stats: NONE + predicate: (_col3 > _col1) (type: boolean) + Statistics: Num rows: 10416 Data size: 315063 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: bigint) + expressions: _col2 (type: string), _col3 (type: bigint) outputColumnNames: _col0, _col1 - Statistics: Num rows: 10416 Data size: 231735 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 10416 Data size: 315063 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - Statistics: Num rows: 10416 Data size: 231735 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 10416 Data size: 315063 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 - Reducer 5 + Reducer 6 Execution mode: vectorized Reduce Operator Tree: Group By Operator @@ -7113,12 +7500,35 @@ STAGE PLANS: Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col1 (type: bigint) - outputColumnNames: _col0 + outputColumnNames: _col1 Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: _col1 is not null (type: boolean) + Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col1 (type: bigint) + outputColumnNames: _col0 + Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Reducer 8 + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + keys: KEY._col0 (type: string) + mode: mergepartial + outputColumnNames: _col0, _col1 + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: _col1 is not null (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator sort order: - Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: string), _col1 (type: bigint) Stage: Stage-0 Fetch Operator @@ -7152,7 +7562,7 @@ POSTHOOK: query: CREATE TABLE `date_dim`( POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@date_dim -Warning: Shuffle Join JOIN[19][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product +Warning: Shuffle Join JOIN[45][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 2' is a cross product PREHOOK: query: explain cbo with avg_sales as (select avg(quantity*list_price) average_sales from (select ss_quantity quantity @@ -7181,21 +7591,39 @@ POSTHOOK: Input: default@store_sales #### A masked pattern was here #### CBO PLAN: HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) - HiveJoin(condition=[>($2, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) - HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) - HiveProject($f0=[*(CAST($1):DECIMAL(10, 0), $2)]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $1, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) + HiveJoin(condition=[>($2, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject($f0=[/($0, $1)]) + HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[$0], $f1=[$1]) + HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) + HiveProject($f0=[*(CAST($1):DECIMAL(10, 0), $2)]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $1, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveProject(cnt=[$0]) + HiveFilter(condition=[<=(sq_count_check($0), 1)]) + HiveProject(cnt=[$0]) + HiveAggregate(group=[{}], cnt=[COUNT()]) + HiveProject + HiveProject($f0=[$0]) + HiveAggregate(group=[{}], agg#0=[count($0)]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $1, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) -Warning: Shuffle Join JOIN[35][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 2' is a cross product +Warning: Shuffle Join JOIN[38][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 2' is a cross product PREHOOK: query: explain cbo with avg_sales as (select avg(quantity*list_price) over( partition by list_price) average_sales from (select ss_quantity quantity @@ -7227,15 +7655,18 @@ HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[>($2, $3)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(avg_window_0=[avg(*(CAST($1):DECIMAL(10, 0), $2)) OVER (PARTITION BY $2 ORDER BY $2 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)]) - HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) - HiveFilter(condition=[IS NOT NULL($0)]) - HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject(d_date_sk=[$0]) - HiveFilter(condition=[AND(BETWEEN(false, $1, 1999, 2001), IS NOT NULL($0))]) - HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) + HiveFilter(condition=[IS NOT NULL($2)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(avg_window_0=[$0]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveProject(avg_window_0=[avg(*(CAST($1):DECIMAL(10, 0), $2)) OVER (PARTITION BY $2 ORDER BY $2 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)]) + HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available]) + HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) + HiveFilter(condition=[IS NOT NULL($0)]) + HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) + HiveProject(d_date_sk=[$0]) + HiveFilter(condition=[AND(BETWEEN(false, $1, 1999, 2001), IS NOT NULL($0))]) + HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) HiveProject(cnt=[$0]) HiveFilter(condition=[<=(sq_count_check($0), 1)]) HiveProject(cnt=[$0]) diff --git a/ql/src/test/results/clientpositive/spark/subquery_select.q.out b/ql/src/test/results/clientpositive/spark/subquery_select.q.out index 3c6f6af020..e04cf99bad 100644 --- a/ql/src/test/results/clientpositive/spark/subquery_select.q.out +++ b/ql/src/test/results/clientpositive/spark/subquery_select.q.out @@ -4250,7 +4250,7 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### true -Warning: Shuffle Join JOIN[12][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 4' is a cross product +Warning: Shuffle Join JOIN[15][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 4' is a cross product PREHOOK: query: explain select o.p_size, (select count(distinct p_type) from part p where p.p_partkey = o.p_partkey) tmp FROM part o right join (select * from part where p_size > (select avg(p_size) from part)) t on t.p_partkey = o.p_partkey PREHOOK: type: QUERY @@ -4295,15 +4295,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part + filterExpr: p_size 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), UDFToDouble(p_size) (type: double) - outputColumnNames: _col0, _col1 + Filter Operator + predicate: p_size is not null (type: boolean) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Select Operator + expressions: p_partkey (type: int), UDFToDouble(p_size) (type: double) + outputColumnNames: _col0, _col1 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: double) Execution mode: vectorized Map 5 Map Operator Tree: @@ -4399,14 +4403,17 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: (UDFToDouble(_col0) / _col1) (type: double) - outputColumnNames: _col0 + Filter Operator + predicate: (_col0 is not null and _col1 is not null) (type: boolean) Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: + Select Operator + expressions: (UDFToDouble(_col0) / _col1) (type: double) + outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: double) + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: double) Reducer 8 Execution mode: vectorized Reduce Operator Tree: @@ -4438,7 +4445,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[12][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 4' is a cross product +Warning: Shuffle Join JOIN[15][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 4' is a cross product PREHOOK: query: select o.p_size, (select count(distinct p_type) from part p where p.p_partkey = o.p_partkey) tmp FROM part o right join (select * from part where p_size > (select avg(p_size) from part)) t on t.p_partkey = o.p_partkey PREHOOK: type: QUERY