diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRemoveSqCountCheck.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRemoveSqCountCheck.java index 01003952dd..f0f7094e35 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRemoveSqCountCheck.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRemoveSqCountCheck.java @@ -40,9 +40,11 @@ import java.util.TreeMap; /** - * Planner rule that removes UDF sq_count_check from a - * plan if group by keys in a subquery are constant - * and there is no windowing or grouping sets + * Planner rule that removes UDF sq_count_check from a plan if + * 1) either group by keys in a subquery are constant and there is no windowing or grouping sets + * 2) OR there are no group by keys but only aggregate + * Both of the above case will produce at most one row, therefore it is safe to remove sq_count_check + * which was introduced earlier in the plan to ensure that this condition is met at run time */ public class HiveRemoveSqCountCheck extends RelOptRule { @@ -97,25 +99,17 @@ private boolean isSqlCountCheck(final HiveFilter filter) { return false; } + private boolean isAggregateWithoutGbyKeys(final Aggregate agg) { + return agg.getGroupCount() == 0 ? true : false; + } - @Override public void onMatch(RelOptRuleCall call) { - final Join topJoin= call.rel(0); - final Join join = call.rel(2); - final Aggregate aggregate = call.rel(6); - - // in presence of grouping sets we can't remove sq_count_check - if(aggregate.indicator) { - return; - } - - final int groupCount = aggregate.getGroupCount(); - + private boolean isAggWithConstantGbyKeys(final Aggregate aggregate, RelOptRuleCall call) { final RexBuilder rexBuilder = aggregate.getCluster().getRexBuilder(); final RelMetadataQuery mq = call.getMetadataQuery(); final RelOptPredicateList predicates = mq.getPulledUpPredicates(aggregate.getInput()); if (predicates == null) { - return; + return false; } final NavigableMap map = new TreeMap<>(); for (int key : aggregate.getGroupSet()) { @@ -128,15 +122,30 @@ private boolean isSqlCountCheck(final HiveFilter filter) { // None of the group expressions are constant. Nothing to do. if (map.isEmpty()) { - return; + return false; } + final int groupCount = aggregate.getGroupCount(); if (groupCount == map.size()) { + return true; + } + return false; + } + + @Override public void onMatch(RelOptRuleCall call) { + final Join topJoin= call.rel(0); + final Join join = call.rel(2); + final Aggregate aggregate = call.rel(6); + + // in presence of grouping sets we can't remove sq_count_check + if(aggregate.indicator) { + return; + } + if(isAggregateWithoutGbyKeys(aggregate) || isAggWithConstantGbyKeys(aggregate, call)) { // join(left, join.getRight) RelNode newJoin = HiveJoin.getJoin(topJoin.getCluster(), join.getLeft(), topJoin.getRight(), topJoin.getCondition(), topJoin.getJoinType()); call.transformTo(newJoin); } } - } diff --git a/ql/src/test/queries/clientpositive/subquery_scalar.q b/ql/src/test/queries/clientpositive/subquery_scalar.q index a7322f5978..05d675885c 100644 --- a/ql/src/test/queries/clientpositive/subquery_scalar.q +++ b/ql/src/test/queries/clientpositive/subquery_scalar.q @@ -258,3 +258,26 @@ explain select key, count(*) from src group by key having count(*) > explain select key, count(*) from src group by key having count(*) > (select count(*) from src s1 where s1.key = '90' group by s1.key ); + +CREATE TABLE `store_sales`( + `ss_sold_date_sk` int, + `ss_quantity` int, + `ss_list_price` decimal(7,2)); + +CREATE TABLE `date_dim`( + `d_date_sk` int, + `d_year` int); + +explain cbo with avg_sales as + (select avg(quantity*list_price) average_sales + from (select ss_quantity quantity + ,ss_list_price list_price + from store_sales + ,date_dim + where ss_sold_date_sk = d_date_sk + and d_year between 1999 and 2001 ) x) +select * from store_sales where ss_list_price > (select average_sales from avg_sales); + +DROP TABLE store_sales; +DROP TABLE date_dim; + 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 c43ad9188b..0e94e0b6aa 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out @@ -84,12 +84,12 @@ PREHOOK: query: explain select * from part where p_size > (select avg(p_size) fr PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where p_size > (select avg(p_size) from part_null_n0) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -189,12 +189,12 @@ PREHOOK: query: select * from part where p_size > (select avg(p_size) from part_ PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part where p_size > (select avg(p_size) from part_null_n0) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 132666 almond aquamarine rose maroon antique Manufacturer#2 Brand#24 SMALL POLISHED NICKEL 25 MED BOX 1698.66 even 144293 almond antique olive coral navajo Manufacturer#3 Brand#34 STANDARD POLISHED STEEL 45 JUMBO CAN 1337.29 ag furiously about 15103 almond aquamarine dodger light gainsboro Manufacturer#5 Brand#53 ECONOMY BURNISHED STEEL 46 LG PACK 1018.1 packages hinder carefu @@ -211,23 +211,23 @@ PREHOOK: query: select * from part where p_size > (select * from tempty_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@tempty_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part where p_size > (select * from tempty_n0) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@tempty_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### Warning: Shuffle Join MERGEJOIN[18][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage '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 PREHOOK: Input: default@tempty_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where p_size > (select * from tempty_n0) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@tempty_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -342,12 +342,12 @@ PREHOOK: query: explain select * from part where p_name = (select p_name from pa PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where p_name = (select p_name from part_null_n0 where p_name is null) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -457,24 +457,24 @@ PREHOOK: query: select * from part where p_name = (select p_name from part_null_ PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part where p_name = (select p_name from part_null_n0 where p_name is null) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### Warning: Shuffle Join MERGEJOIN[33][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product Warning: Shuffle Join MERGEJOIN[34][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 5' is a cross product PREHOOK: query: explain select * from part where (select i from tnull_n0 limit 1) is null PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@tnull_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where (select i from tnull_n0 limit 1) is null POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@tnull_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -642,12 +642,12 @@ PREHOOK: query: select * from part where (select i from tnull_n0 limit 1) is nul PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@tnull_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part where (select i from tnull_n0 limit 1) is null POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@tnull_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 105685 almond antique violet chocolate turquoise Manufacturer#2 Brand#22 MEDIUM ANODIZED COPPER 14 MED CAN 1690.68 ly pending requ 110592 almond antique salmon chartreuse burlywood Manufacturer#1 Brand#15 PROMO BURNISHED NICKEL 6 JUMBO PKG 1602.59 to the furiously 112398 almond antique metallic orange dim Manufacturer#3 Brand#32 MEDIUM BURNISHED BRASS 19 JUMBO JAR 1410.39 ole car @@ -679,12 +679,12 @@ PREHOOK: query: explain select * from part where (select max(p_name) from part_n PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where (select max(p_name) from part_null_n0) is not null POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -779,12 +779,12 @@ PREHOOK: query: select * from part where (select max(p_name) from part_null_n0) PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part where (select max(p_name) from part_null_n0) is not null POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 105685 almond antique violet chocolate turquoise Manufacturer#2 Brand#22 MEDIUM ANODIZED COPPER 14 MED CAN 1690.68 ly pending requ 110592 almond antique salmon chartreuse burlywood Manufacturer#1 Brand#15 PROMO BURNISHED NICKEL 6 JUMBO PKG 1602.59 to the furiously 112398 almond antique metallic orange dim Manufacturer#3 Brand#32 MEDIUM BURNISHED BRASS 19 JUMBO JAR 1410.39 ole car @@ -816,11 +816,11 @@ Warning: Shuffle Join MERGEJOIN[24][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Sta 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 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where p_size between (select min(p_size) from part) and (select avg(p_size) from part) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -960,11 +960,11 @@ Warning: Shuffle Join MERGEJOIN[24][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Sta 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 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part where p_size between (select min(p_size) from part) and (select avg(p_size) from part) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 105685 almond antique violet chocolate turquoise Manufacturer#2 Brand#22 MEDIUM ANODIZED COPPER 14 MED CAN 1690.68 ly pending requ 110592 almond antique salmon chartreuse burlywood Manufacturer#1 Brand#15 PROMO BURNISHED NICKEL 6 JUMBO PKG 1602.59 to the furiously 112398 almond antique metallic orange dim Manufacturer#3 Brand#32 MEDIUM BURNISHED BRASS 19 JUMBO JAR 1410.39 ole car @@ -986,13 +986,13 @@ 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) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -1185,13 +1185,13 @@ 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) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### Manufacturer#1 almond antique burnished rose metallic 2 Manufacturer#1 almond antique burnished rose metallic 2 Manufacturer#1 almond antique chartreuse lavender yellow 34 @@ -1221,11 +1221,11 @@ Warning: Shuffle Join MERGEJOIN[13][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reduc PREHOOK: query: explain select * from part where (p_partkey*p_size) <> (select min(p_partkey) from part) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where (p_partkey*p_size) <> (select min(p_partkey) from part) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -1320,11 +1320,11 @@ Warning: Shuffle Join MERGEJOIN[13][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reduc PREHOOK: query: select * from part where (p_partkey*p_size) <> (select min(p_partkey) from part) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part where (p_partkey*p_size) <> (select min(p_partkey) from part) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 105685 almond antique violet chocolate turquoise Manufacturer#2 Brand#22 MEDIUM ANODIZED COPPER 14 MED CAN 1690.68 ly pending requ 110592 almond antique salmon chartreuse burlywood Manufacturer#1 Brand#15 PROMO BURNISHED NICKEL 6 JUMBO PKG 1602.59 to the furiously 112398 almond antique metallic orange dim Manufacturer#3 Brand#32 MEDIUM BURNISHED BRASS 19 JUMBO JAR 1410.39 ole car @@ -1354,11 +1354,11 @@ POSTHOOK: Input: default@part PREHOOK: query: explain select count(*) as c from part as e where p_size + 100 < (select max(p_partkey) from part where p_name = e.p_name) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select count(*) as c from part as e where p_size + 100 < (select max(p_partkey) from part where p_name = e.p_name) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -1484,20 +1484,20 @@ STAGE PLANS: PREHOOK: query: select count(*) as c from part as e where p_size + 100 < (select max(p_partkey) from part where p_name = e.p_name) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select count(*) as c from part as e where p_size + 100 < (select max(p_partkey) from part where p_name = e.p_name) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 26 PREHOOK: query: explain select count(*) as c from part as e where 100 < (select max(p_partkey) from part where p_name = e.p_name) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select count(*) as c from part as e where 100 < (select max(p_partkey) from part where p_name = e.p_name) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -1620,22 +1620,22 @@ STAGE PLANS: PREHOOK: query: select count(*) as c from part as e where 100 < (select max(p_partkey) from part where p_name = e.p_name) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select count(*) as c from part as e where 100 < (select max(p_partkey) from part where p_name = e.p_name) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 26 PREHOOK: query: explain select * from part where p_size > (select avg(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where p_size > (select avg(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -1746,24 +1746,24 @@ PREHOOK: query: select * from part where p_size > (select avg(p_size) from part_ PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part where p_size > (select avg(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 192697 almond antique blue firebrick mint Manufacturer#5 Brand#52 MEDIUM BURNISHED TIN 31 LG DRUM 1789.69 ickly ir Warning: Shuffle Join MERGEJOIN[32][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 PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -1922,12 +1922,12 @@ PREHOOK: query: select * from part where p_size BETWEEN (select min(p_size) from PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 105685 almond antique violet chocolate turquoise Manufacturer#2 Brand#22 MEDIUM ANODIZED COPPER 14 MED CAN 1690.68 ly pending requ 110592 almond antique salmon chartreuse burlywood Manufacturer#1 Brand#15 PROMO BURNISHED NICKEL 6 JUMBO PKG 1602.59 to the furiously 112398 almond antique metallic orange dim Manufacturer#3 Brand#32 MEDIUM BURNISHED BRASS 19 JUMBO JAR 1410.39 ole car @@ -1959,12 +1959,12 @@ PREHOOK: query: explain select * from part where p_size >= (select min(p_size) f PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -2126,12 +2126,12 @@ PREHOOK: query: select * from part where p_size >= (select min(p_size) from part PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 105685 almond antique violet chocolate turquoise Manufacturer#2 Brand#22 MEDIUM ANODIZED COPPER 14 MED CAN 1690.68 ly pending requ 110592 almond antique salmon chartreuse burlywood Manufacturer#1 Brand#15 PROMO BURNISHED NICKEL 6 JUMBO PKG 1602.59 to the furiously 112398 almond antique metallic orange dim Manufacturer#3 Brand#32 MEDIUM BURNISHED BRASS 19 JUMBO JAR 1410.39 ole car @@ -2162,11 +2162,11 @@ Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reduc PREHOOK: query: explain select * from part where p_brand <> (select min(p_brand) from part ) AND p_size IN (select (p_size) from part p where p.p_type = part.p_type ) AND p_size <> 340 PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where p_brand <> (select min(p_brand) from part ) AND p_size IN (select (p_size) from part p where p.p_type = part.p_type ) AND p_size <> 340 POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -2304,11 +2304,11 @@ Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reduc PREHOOK: query: select * from part where p_brand <> (select min(p_brand) from part ) AND p_size IN (select (p_size) from part p where p.p_type = part.p_type ) AND p_size <> 340 PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part where p_brand <> (select min(p_brand) from part ) AND p_size IN (select (p_size) from part p where p.p_type = part.p_type ) AND p_size <> 340 POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 105685 almond antique violet chocolate turquoise Manufacturer#2 Brand#22 MEDIUM ANODIZED COPPER 14 MED CAN 1690.68 ly pending requ 110592 almond antique salmon chartreuse burlywood Manufacturer#1 Brand#15 PROMO BURNISHED NICKEL 6 JUMBO PKG 1602.59 to the furiously 112398 almond antique metallic orange dim Manufacturer#3 Brand#32 MEDIUM BURNISHED BRASS 19 JUMBO JAR 1410.39 ole car @@ -2335,11 +2335,11 @@ POSTHOOK: Input: default@part PREHOOK: query: explain select * from part where p_size <> (select count(p_name) from part p where p.p_size = part.p_size AND part.p_partkey= p.p_partkey ) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where p_size <> (select count(p_name) from part p where p.p_size = part.p_size AND part.p_partkey= p.p_partkey ) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -2447,11 +2447,11 @@ STAGE PLANS: PREHOOK: query: select * from part where p_size <> (select count(p_name) from part p where p.p_size = part.p_size AND part.p_partkey= p.p_partkey ) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part where p_size <> (select count(p_name) from part p where p.p_size = part.p_size AND part.p_partkey= p.p_partkey ) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 105685 almond antique violet chocolate turquoise Manufacturer#2 Brand#22 MEDIUM ANODIZED COPPER 14 MED CAN 1690.68 ly pending requ 110592 almond antique salmon chartreuse burlywood Manufacturer#1 Brand#15 PROMO BURNISHED NICKEL 6 JUMBO PKG 1602.59 to the furiously 112398 almond antique metallic orange dim Manufacturer#3 Brand#32 MEDIUM BURNISHED BRASS 19 JUMBO JAR 1410.39 ole car @@ -2480,11 +2480,11 @@ Warning: Shuffle Join MERGEJOIN[31][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reduc 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 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: 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 ) POSTHOOK: type: QUERY POSTHOOK: Input: default@src -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -2666,11 +2666,11 @@ Warning: Shuffle Join MERGEJOIN[31][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reduc 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 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: 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 ) POSTHOOK: type: QUERY POSTHOOK: Input: default@src -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 138 4 169 4 230 5 @@ -2685,11 +2685,11 @@ Warning: Shuffle Join MERGEJOIN[17][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reduc 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 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select sum(p_retailprice) from part group by p_type having sum(p_retailprice) > (select max(pp.p_retailprice) from part pp) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -2810,22 +2810,22 @@ Warning: Shuffle Join MERGEJOIN[17][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reduc 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 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select sum(p_retailprice) from part group by p_type having sum(p_retailprice) > (select max(pp.p_retailprice) from part pp) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 2346.3 3461.37 Warning: Shuffle Join MERGEJOIN[76][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 6' 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 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where p_size > (select count(p_name) from part INTERSECT select count(p_brand) from part) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -3141,11 +3141,11 @@ Warning: Shuffle Join MERGEJOIN[76][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Sta 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 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part where p_size > (select count(p_name) from part INTERSECT select count(p_brand) from part) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 144293 almond antique olive coral navajo Manufacturer#3 Brand#34 STANDARD POLISHED STEEL 45 JUMBO CAN 1337.29 ag furiously about 15103 almond aquamarine dodger light gainsboro Manufacturer#5 Brand#53 ECONOMY BURNISHED STEEL 46 LG PACK 1018.1 packages hinder carefu 191709 almond antique violet turquoise frosted Manufacturer#2 Brand#22 ECONOMY POLISHED STEEL 40 MED BOX 1800.7 haggle @@ -3158,11 +3158,11 @@ POSTHOOK: Input: default@part PREHOOK: query: explain select p_partkey from part where p_name like (select max(p.p_name) from part p left outer join part pp on p.p_type = pp.p_type where pp.p_size = part.p_size) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select p_partkey from part where p_name like (select max(p.p_name) from part p left outer join part pp on p.p_type = pp.p_type where pp.p_size = part.p_size) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -3315,11 +3315,11 @@ STAGE PLANS: PREHOOK: query: select p_partkey from part where p_name like (select max(p.p_name) from part p left outer join part pp on p.p_type = pp.p_type where pp.p_size = part.p_size) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select p_partkey from part where p_name like (select max(p.p_name) from part p left outer join part pp on p.p_type = pp.p_type where pp.p_size = part.p_size) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 105685 110592 112398 @@ -3346,12 +3346,12 @@ PREHOOK: query: explain select * from part_null_n0 where p_name NOT LIKE (select PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part_null_n0 where p_name NOT LIKE (select min(p_name) from part_null_n0) AND p_brand NOT IN (select p_name from part) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -3551,12 +3551,12 @@ PREHOOK: query: select * from part_null_n0 where p_name NOT LIKE (select min(p_n PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part_null_n0 where p_name NOT LIKE (select min(p_name) from part_null_n0) AND p_brand NOT IN (select p_name from part) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 105685 almond antique violet chocolate turquoise Manufacturer#2 Brand#22 MEDIUM ANODIZED COPPER 14 MED CAN 1690.68 ly pending requ 110592 almond antique salmon chartreuse burlywood Manufacturer#1 Brand#15 PROMO BURNISHED NICKEL 6 JUMBO PKG 1602.59 to the furiously 112398 almond antique metallic orange dim Manufacturer#3 Brand#32 MEDIUM BURNISHED BRASS 19 JUMBO JAR 1410.39 ole car @@ -3587,12 +3587,12 @@ PREHOOK: query: explain select * from part_null_n0 where p_brand NOT IN (select PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part_null_n0 where p_brand NOT IN (select p_name from part) AND p_name NOT LIKE (select min(p_name) from part_null_n0 pp where part_null_n0.p_type = pp.p_type) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -3811,12 +3811,12 @@ PREHOOK: query: select * from part_null_n0 where p_brand NOT IN (select p_name f PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part_null_n0 where p_brand NOT IN (select p_name from part) AND p_name NOT LIKE (select min(p_name) from part_null_n0 pp where part_null_n0.p_type = pp.p_type) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 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[42][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain select p.p_partkey, li.l_suppkey @@ -3825,14 +3825,14 @@ where li.l_linenumber = 1 and li.l_orderkey <> (select min(l_orderkey) from lineitem where l_shipmode = 'AIR' and l_linenumber = li.l_linenumber) PREHOOK: type: QUERY PREHOOK: Input: default@lineitem -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select p.p_partkey, li.l_suppkey from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey where li.l_linenumber = 1 and li.l_orderkey <> (select min(l_orderkey) from lineitem where l_shipmode = 'AIR' and l_linenumber = li.l_linenumber) POSTHOOK: type: QUERY POSTHOOK: Input: default@lineitem -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -3999,14 +3999,14 @@ where li.l_linenumber = 1 and li.l_orderkey <> (select min(l_orderkey) from lineitem where l_shipmode = 'AIR' and l_linenumber = li.l_linenumber) PREHOOK: type: QUERY PREHOOK: Input: default@lineitem -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select p.p_partkey, li.l_suppkey from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey where li.l_linenumber = 1 and li.l_orderkey <> (select min(l_orderkey) from lineitem where l_shipmode = 'AIR' and l_linenumber = li.l_linenumber) POSTHOOK: type: QUERY POSTHOOK: Input: default@lineitem -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 106170 1191 108570 8571 115118 7630 @@ -4039,14 +4039,14 @@ where li.l_linenumber = 1 and li.l_orderkey <> (select min(l_orderkey) from lineitem where l_shipmode = 'AIR' and l_linenumber = li.l_linenumber) PREHOOK: type: QUERY PREHOOK: Input: default@lineitem -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select p.p_partkey, li.l_suppkey from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey where li.l_linenumber = 1 and li.l_orderkey <> (select min(l_orderkey) from lineitem where l_shipmode = 'AIR' and l_linenumber = li.l_linenumber) POSTHOOK: type: QUERY POSTHOOK: Input: default@lineitem -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -4213,14 +4213,14 @@ where li.l_linenumber = 1 and li.l_orderkey <> (select min(l_orderkey) from lineitem where l_shipmode = 'AIR' and l_linenumber = li.l_linenumber) PREHOOK: type: QUERY PREHOOK: Input: default@lineitem -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select p.p_partkey, li.l_suppkey from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey where li.l_linenumber = 1 and li.l_orderkey <> (select min(l_orderkey) from lineitem where l_shipmode = 'AIR' and l_linenumber = li.l_linenumber) POSTHOOK: type: QUERY POSTHOOK: Input: default@lineitem -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 106170 1191 108570 8571 115118 7630 @@ -4250,12 +4250,12 @@ PREHOOK: query: explain select sum(l_extendedprice) from lineitem, part where p_ PREHOOK: type: QUERY PREHOOK: Input: default@lineitem PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select sum(l_extendedprice) from lineitem, part where p_partkey = l_partkey and l_quantity > (select avg(l_quantity) from lineitem where l_partkey = p_partkey) POSTHOOK: type: QUERY POSTHOOK: Input: default@lineitem POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -4406,23 +4406,23 @@ PREHOOK: query: select sum(l_extendedprice) from lineitem, part where p_partkey PREHOOK: type: QUERY PREHOOK: Input: default@lineitem PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select sum(l_extendedprice) from lineitem, part where p_partkey = l_partkey and l_quantity > (select avg(l_quantity) from lineitem where l_partkey = p_partkey) POSTHOOK: type: QUERY POSTHOOK: Input: default@lineitem POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### NULL PREHOOK: query: explain select * from part_null_n0 where p_name IN (select p_name from part where part.p_type = part_null_n0.p_type AND p_brand NOT LIKE (select min(p_brand) from part pp where part.p_type = pp.p_type)) PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part_null_n0 where p_name IN (select p_name from part where part.p_type = part_null_n0.p_type AND p_brand NOT LIKE (select min(p_brand) from part pp where part.p_type = pp.p_type)) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -4576,12 +4576,12 @@ PREHOOK: query: select * from part_null_n0 where p_name IN (select p_name from p PREHOOK: type: QUERY PREHOOK: Input: default@part PREHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part_null_n0 where p_name IN (select p_name from part where part.p_type = part_null_n0.p_type AND p_brand NOT LIKE (select min(p_brand) from part pp where part.p_type = pp.p_type)) POSTHOOK: type: QUERY POSTHOOK: Input: default@part POSTHOOK: Input: default@part_null_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 192697 almond antique blue firebrick mint Manufacturer#5 Brand#52 MEDIUM BURNISHED TIN 31 LG DRUM 1789.69 ickly ir PREHOOK: query: drop table tnull_n0 PREHOOK: type: DROPTABLE @@ -4747,12 +4747,12 @@ PREHOOK: query: explain select * from emps_n4 where deptno <> (select count(dept PREHOOK: type: QUERY PREHOOK: Input: default@depts_n3 PREHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from emps_n4 where deptno <> (select count(deptno) from depts_n3 where depts_n3.name = emps_n4.name) POSTHOOK: type: QUERY POSTHOOK: Input: default@depts_n3 POSTHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -4861,12 +4861,12 @@ PREHOOK: query: select * from emps_n4 where deptno <> (select count(deptno) from PREHOOK: type: QUERY PREHOOK: Input: default@depts_n3 PREHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from emps_n4 where deptno <> (select count(deptno) from depts_n3 where depts_n3.name = emps_n4.name) POSTHOOK: type: QUERY POSTHOOK: Input: default@depts_n3 POSTHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 100 Fred 10 NULL NULL 30 25 true false 1996-08-03 110 Eric 20 M San Francisco 3 80 NULL false 2001-01-01 110 John 40 M Vancouver 2 NULL false true 2002-05-03 @@ -4876,12 +4876,12 @@ PREHOOK: query: explain select * from emps_n4 where name > (select min(name) fro PREHOOK: type: QUERY PREHOOK: Input: default@depts_n3 PREHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from emps_n4 where name > (select min(name) from depts_n3 where depts_n3.deptno=emps_n4.deptno) POSTHOOK: type: QUERY POSTHOOK: Input: default@depts_n3 POSTHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -4992,23 +4992,23 @@ PREHOOK: query: select * from emps_n4 where name > (select min(name) from depts_ PREHOOK: type: QUERY PREHOOK: Input: default@depts_n3 PREHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from emps_n4 where name > (select min(name) from depts_n3 where depts_n3.deptno=emps_n4.deptno) POSTHOOK: type: QUERY POSTHOOK: Input: default@depts_n3 POSTHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 120 Wilma 20 F NULL 1 5 NULL true 2005-09-07 PREHOOK: query: explain 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 where depts_n3.deptno = emps_n4.deptno) PREHOOK: type: QUERY PREHOOK: Input: default@depts_n3 PREHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain 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 where depts_n3.deptno = emps_n4.deptno) POSTHOOK: type: QUERY POSTHOOK: Input: default@depts_n3 POSTHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -5177,12 +5177,12 @@ PREHOOK: query: select * from emps_n4 where deptno <> (select count(deptno) from PREHOOK: type: QUERY PREHOOK: Input: default@depts_n3 PREHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: 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 where depts_n3.deptno = emps_n4.deptno) POSTHOOK: type: QUERY POSTHOOK: Input: default@depts_n3 POSTHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 100 Fred 10 NULL NULL 30 25 true false 1996-08-03 110 Eric 20 M San Francisco 3 80 NULL false 2001-01-01 110 John 40 M Vancouver 2 NULL false true 2002-05-03 @@ -5193,12 +5193,12 @@ PREHOOK: query: explain select * from emps_n4 where deptno <> (select sum(deptno PREHOOK: type: QUERY PREHOOK: Input: default@depts_n3 PREHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@depts_n3 POSTHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -5360,12 +5360,12 @@ PREHOOK: query: select * from emps_n4 where deptno <> (select count(deptno) from PREHOOK: type: QUERY PREHOOK: Input: default@depts_n3 PREHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@depts_n3 POSTHOOK: Input: default@emps_n4 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 100 Fred 10 NULL NULL 30 25 true false 1996-08-03 110 Eric 20 M San Francisco 3 80 NULL false 2001-01-01 110 John 40 M Vancouver 2 NULL false true 2002-05-03 @@ -5395,7 +5395,7 @@ group by key having count(*) > (select count(*) from src s1 where s1.key > '9' ) PREHOOK: type: QUERY PREHOOK: Input: default@src -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select key, count(*) from src @@ -5403,7 +5403,7 @@ group by key having count(*) > (select count(*) from src s1 where s1.key > '9' ) POSTHOOK: type: QUERY POSTHOOK: Input: default@src -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -5517,14 +5517,14 @@ group by key having count(*) > (select count(*) from src s1 where s1.key = '90') PREHOOK: type: QUERY PREHOOK: Input: default@src -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select key, count(*) from src group by key having count(*) > (select count(*) from src s1 where s1.key = '90') POSTHOOK: type: QUERY POSTHOOK: Input: default@src -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 138 4 169 4 230 5 @@ -5544,7 +5544,7 @@ group by key, value having count(*) > (select count(*) from src s1 where s1.key > '9' ) PREHOOK: type: QUERY PREHOOK: Input: default@src -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select key, value, count(*) from src b @@ -5553,7 +5553,7 @@ group by key, value having count(*) > (select count(*) from src s1 where s1.key > '9' ) POSTHOOK: type: QUERY POSTHOOK: Input: default@src -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -5725,7 +5725,7 @@ group by key, value having count(*) > (select count(*) from src s1 where s1.key > '9' ) PREHOOK: type: QUERY PREHOOK: Input: default@src -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select key, value, count(*) from src b where b.key in (select key from src where src.key > '8') @@ -5733,16 +5733,16 @@ group by key, value having count(*) > (select count(*) from src s1 where s1.key > '9' ) POSTHOOK: type: QUERY POSTHOOK: Input: default@src -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage '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 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where p_size > (select max(p_size) from part group by p_type) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -5904,11 +5904,11 @@ STAGE PLANS: PREHOOK: query: explain select * from part where p_size > (select max(p_size) from part p where p.p_type = part.p_type group by p_type) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where p_size > (select max(p_size) from part p where p.p_type = part.p_type group by p_type) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -6070,12 +6070,12 @@ PREHOOK: query: explain select * from part where p_size <> (select count(p_size) from part pp where part.p_type <> pp.p_type) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from part where p_size <> (select count(p_size) from part pp where part.p_type <> pp.p_type) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -6236,12 +6236,12 @@ PREHOOK: query: select * from part where p_size <> (select count(p_size) from part pp where part.p_type <> pp.p_type) PREHOOK: type: QUERY PREHOOK: Input: default@part -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from part where p_size <> (select count(p_size) from part pp where part.p_type <> pp.p_type) POSTHOOK: type: QUERY POSTHOOK: Input: default@part -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 105685 almond antique violet chocolate turquoise Manufacturer#2 Brand#22 MEDIUM ANODIZED COPPER 14 MED CAN 1690.68 ly pending requ 110592 almond antique salmon chartreuse burlywood Manufacturer#1 Brand#15 PROMO BURNISHED NICKEL 6 JUMBO PKG 1602.59 to the furiously 112398 almond antique metallic orange dim Manufacturer#3 Brand#32 MEDIUM BURNISHED BRASS 19 JUMBO JAR 1410.39 ole car @@ -6289,11 +6289,11 @@ Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reduc PREHOOK: query: explain select * from t_n11 where 0 = (select count(*) from t_n11 tt_n11 where tt_n11.j <> t_n11.i) PREHOOK: type: QUERY PREHOOK: Input: default@t_n11 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from t_n11 where 0 = (select count(*) from t_n11 tt_n11 where tt_n11.j <> t_n11.i) POSTHOOK: type: QUERY POSTHOOK: Input: default@t_n11 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -6453,21 +6453,21 @@ Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reduc PREHOOK: query: select * from t_n11 where 0 = (select count(*) from t_n11 tt_n11 where tt_n11.j <> t_n11.i) PREHOOK: type: QUERY PREHOOK: Input: default@t_n11 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from t_n11 where 0 = (select count(*) from t_n11 tt_n11 where tt_n11.j <> t_n11.i) POSTHOOK: type: QUERY POSTHOOK: Input: default@t_n11 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 1 1 Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product PREHOOK: query: explain select * from t_n11 where 0 = (select avg(tt_n11.i) from t_n11 tt_n11 where tt_n11.j <> t_n11.i) PREHOOK: type: QUERY PREHOOK: Input: default@t_n11 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from t_n11 where 0 = (select avg(tt_n11.i) from t_n11 tt_n11 where tt_n11.j <> t_n11.i) POSTHOOK: type: QUERY POSTHOOK: Input: default@t_n11 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -6623,11 +6623,11 @@ Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reduc PREHOOK: query: select * from t_n11 where 0 = (select avg(tt_n11.i) from t_n11 tt_n11 where tt_n11.j <> t_n11.i) PREHOOK: type: QUERY PREHOOK: Input: default@t_n11 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from t_n11 where 0 = (select avg(tt_n11.i) from t_n11 tt_n11 where tt_n11.j <> t_n11.i) POSTHOOK: type: QUERY POSTHOOK: Input: default@t_n11 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### PREHOOK: query: create table tempty_n0(i int, j int) PREHOOK: type: CREATETABLE PREHOOK: Output: database:default @@ -6640,12 +6640,12 @@ PREHOOK: query: explain select * from t_n11 where 0 = (select count(*) from temp PREHOOK: type: QUERY PREHOOK: Input: default@t_n11 PREHOOK: Input: default@tempty_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from t_n11 where 0 = (select count(*) from tempty_n0 tt_n11 where t_n11.i=tt_n11.i) POSTHOOK: type: QUERY POSTHOOK: Input: default@t_n11 POSTHOOK: Input: default@tempty_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -6754,24 +6754,24 @@ PREHOOK: query: select * from t_n11 where 0 = (select count(*) from tempty_n0 tt PREHOOK: type: QUERY PREHOOK: Input: default@t_n11 PREHOOK: Input: default@tempty_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from t_n11 where 0 = (select count(*) from tempty_n0 tt_n11 where t_n11.i=tt_n11.i) POSTHOOK: type: QUERY POSTHOOK: Input: default@t_n11 POSTHOOK: Input: default@tempty_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### 1 1 3 1 PREHOOK: query: explain select * from t_n11 where 0 = (select min(tt_n11.j) from tempty_n0 tt_n11 where t_n11.i=tt_n11.i) PREHOOK: type: QUERY PREHOOK: Input: default@t_n11 PREHOOK: Input: default@tempty_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select * from t_n11 where 0 = (select min(tt_n11.j) from tempty_n0 tt_n11 where t_n11.i=tt_n11.i) POSTHOOK: type: QUERY POSTHOOK: Input: default@t_n11 POSTHOOK: Input: default@tempty_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -6879,12 +6879,12 @@ PREHOOK: query: select * from t_n11 where 0 = (select min(tt_n11.j) from tempty_ PREHOOK: type: QUERY PREHOOK: Input: default@t_n11 PREHOOK: Input: default@tempty_n0 -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: select * from t_n11 where 0 = (select min(tt_n11.j) from tempty_n0 tt_n11 where t_n11.i=tt_n11.i) POSTHOOK: type: QUERY POSTHOOK: Input: default@t_n11 POSTHOOK: Input: default@tempty_n0 -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### PREHOOK: query: drop table t_n11 PREHOOK: type: DROPTABLE PREHOOK: Input: default@t_n11 @@ -6906,12 +6906,12 @@ PREHOOK: query: explain select key, count(*) from src group by key having count( (select count(*) from src s1 group by 4) PREHOOK: type: QUERY PREHOOK: Input: default@src -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: query: explain select key, count(*) from src group by key having count(*) > (select count(*) from src s1 group by 4) POSTHOOK: type: QUERY POSTHOOK: Input: default@src -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -7035,12 +7035,12 @@ 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 PREHOOK: Input: default@src -#### A masked pattern was here #### +PREHOOK: Output: hdfs://### HDFS PATH ### POSTHOOK: 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 ) POSTHOOK: type: QUERY POSTHOOK: Input: default@src -#### A masked pattern was here #### +POSTHOOK: Output: hdfs://### HDFS PATH ### STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -7155,3 +7155,88 @@ STAGE PLANS: Processor Tree: ListSink +PREHOOK: query: CREATE TABLE `store_sales`( + `ss_sold_date_sk` int, + `ss_quantity` int, + `ss_list_price` decimal(7,2)) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@store_sales +POSTHOOK: query: CREATE TABLE `store_sales`( + `ss_sold_date_sk` int, + `ss_quantity` int, + `ss_list_price` decimal(7,2)) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@store_sales +PREHOOK: query: CREATE TABLE `date_dim`( + `d_date_sk` int, + `d_year` int) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@date_dim +POSTHOOK: query: CREATE TABLE `date_dim`( + `d_date_sk` int, + `d_year` int) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@date_dim +Warning: Shuffle Join MERGEJOIN[37][tables = [$hdt$_0, $hdt$_1]] in Stage '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 + ,ss_list_price list_price + from store_sales + ,date_dim + where ss_sold_date_sk = d_date_sk + and d_year between 1999 and 2001 ) x) +select * from store_sales where ss_list_price > (select average_sales from avg_sales) +PREHOOK: type: QUERY +PREHOOK: Input: default@date_dim +PREHOOK: Input: default@store_sales +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: explain cbo with avg_sales as + (select avg(quantity*list_price) average_sales + from (select ss_quantity quantity + ,ss_list_price list_price + from store_sales + ,date_dim + where ss_sold_date_sk = d_date_sk + and d_year between 1999 and 2001 ) x) +select * from store_sales where ss_list_price > (select average_sales from avg_sales) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@date_dim +POSTHOOK: Input: default@store_sales +POSTHOOK: Output: hdfs://### HDFS PATH ### +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]) + +PREHOOK: query: DROP TABLE store_sales +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@store_sales +PREHOOK: Output: default@store_sales +POSTHOOK: query: DROP TABLE store_sales +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@store_sales +POSTHOOK: Output: default@store_sales +PREHOOK: query: DROP TABLE date_dim +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@date_dim +PREHOOK: Output: default@date_dim +POSTHOOK: query: DROP TABLE date_dim +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@date_dim +POSTHOOK: Output: default@date_dim