commit ea5c2ea5af8fe988caaab925b9a859d4369d1268 Author: Pengcheng Xiong Date: Tue May 30 21:52:12 2017 -0700 ko diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterAggregateTransposeRule.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterAggregateTransposeRule.java index 0e5c7313b6..e6f58a16dd 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterAggregateTransposeRule.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterAggregateTransposeRule.java @@ -36,7 +36,9 @@ public HiveFilterAggregateTransposeRule(Class filterClass, public boolean matches(RelOptRuleCall call) { final Filter filterRel = call.rel(0); RexNode condition = filterRel.getCondition(); - if (!HiveCalciteUtil.isDeterministic(condition)) { + // when condition.isAlwaysFalse(), it will create values, which hive can not handle yet. + // TODO: support values + if (condition.isAlwaysFalse() || !HiveCalciteUtil.isDeterministic(condition)) { return false; } diff --git a/ql/src/test/queries/clientpositive/perf/query4.q b/ql/src/test/queries/clientpositive/perf/query4.q new file mode 100644 index 0000000000..631a464028 --- /dev/null +++ b/ql/src/test/queries/clientpositive/perf/query4.q @@ -0,0 +1,111 @@ +set hive.mapred.mode=nonstrict; +-- start query 1 in stream 0 using template query4.tpl and seed 1819994127 +explain +with year_total as ( + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,c_preferred_cust_flag customer_preferred_cust_flag + ,c_birth_country customer_birth_country + ,c_login customer_login + ,c_email_address customer_email_address + ,d_year dyear + ,sum(((ss_ext_list_price-ss_ext_wholesale_cost-ss_ext_discount_amt)+ss_ext_sales_price)/2) year_total + ,'s' sale_type + from customer + ,store_sales + ,date_dim + where c_customer_sk = ss_customer_sk + and ss_sold_date_sk = d_date_sk + group by c_customer_id + ,c_first_name + ,c_last_name + ,c_preferred_cust_flag + ,c_birth_country + ,c_login + ,c_email_address + ,d_year + union all + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,c_preferred_cust_flag customer_preferred_cust_flag + ,c_birth_country customer_birth_country + ,c_login customer_login + ,c_email_address customer_email_address + ,d_year dyear + ,sum((((cs_ext_list_price-cs_ext_wholesale_cost-cs_ext_discount_amt)+cs_ext_sales_price)/2) ) year_total + ,'c' sale_type + from customer + ,catalog_sales + ,date_dim + where c_customer_sk = cs_bill_customer_sk + and cs_sold_date_sk = d_date_sk + group by c_customer_id + ,c_first_name + ,c_last_name + ,c_preferred_cust_flag + ,c_birth_country + ,c_login + ,c_email_address + ,d_year +union all + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,c_preferred_cust_flag customer_preferred_cust_flag + ,c_birth_country customer_birth_country + ,c_login customer_login + ,c_email_address customer_email_address + ,d_year dyear + ,sum((((ws_ext_list_price-ws_ext_wholesale_cost-ws_ext_discount_amt)+ws_ext_sales_price)/2) ) year_total + ,'w' sale_type + from customer + ,web_sales + ,date_dim + where c_customer_sk = ws_bill_customer_sk + and ws_sold_date_sk = d_date_sk + group by c_customer_id + ,c_first_name + ,c_last_name + ,c_preferred_cust_flag + ,c_birth_country + ,c_login + ,c_email_address + ,d_year + ) + select t_s_secyear.customer_preferred_cust_flag + from year_total t_s_firstyear + ,year_total t_s_secyear + ,year_total t_c_firstyear + ,year_total t_c_secyear + ,year_total t_w_firstyear + ,year_total t_w_secyear + where t_s_secyear.customer_id = t_s_firstyear.customer_id + and t_s_firstyear.customer_id = t_c_secyear.customer_id + and t_s_firstyear.customer_id = t_c_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_secyear.customer_id + and t_s_firstyear.sale_type = 's' + and t_c_firstyear.sale_type = 'c' + and t_w_firstyear.sale_type = 'w' + and t_s_secyear.sale_type = 's' + and t_c_secyear.sale_type = 'c' + and t_w_secyear.sale_type = 'w' + and t_s_firstyear.dyear = 2001 + and t_s_secyear.dyear = 2001+1 + and t_c_firstyear.dyear = 2001 + and t_c_secyear.dyear = 2001+1 + and t_w_firstyear.dyear = 2001 + and t_w_secyear.dyear = 2001+1 + and t_s_firstyear.year_total > 0 + and t_c_firstyear.year_total > 0 + and t_w_firstyear.year_total > 0 + and case when t_c_firstyear.year_total > 0 then t_c_secyear.year_total / t_c_firstyear.year_total else null end + > case when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total else null end + and case when t_c_firstyear.year_total > 0 then t_c_secyear.year_total / t_c_firstyear.year_total else null end + > case when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total else null end + order by t_s_secyear.customer_preferred_cust_flag +limit 100; + +-- end query 1 in stream 0 using template query4.tpl diff --git a/ql/src/test/queries/clientpositive/perf/query74.q b/ql/src/test/queries/clientpositive/perf/query74.q new file mode 100644 index 0000000000..b25db9c0e0 --- /dev/null +++ b/ql/src/test/queries/clientpositive/perf/query74.q @@ -0,0 +1,63 @@ +set hive.mapred.mode=nonstrict; +-- start query 1 in stream 0 using template query74.tpl and seed 1556717815 +explain +with year_total as ( + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,d_year as year + ,max(ss_net_paid) year_total + ,'s' sale_type + from customer + ,store_sales + ,date_dim + where c_customer_sk = ss_customer_sk + and ss_sold_date_sk = d_date_sk + and d_year in (2001,2001+1) + group by c_customer_id + ,c_first_name + ,c_last_name + ,d_year + union all + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,d_year as year + ,max(ws_net_paid) year_total + ,'w' sale_type + from customer + ,web_sales + ,date_dim + where c_customer_sk = ws_bill_customer_sk + and ws_sold_date_sk = d_date_sk + and d_year in (2001,2001+1) + group by c_customer_id + ,c_first_name + ,c_last_name + ,d_year + ) + select + t_s_secyear.customer_id, t_s_secyear.customer_first_name, t_s_secyear.customer_last_name + from year_total t_s_firstyear + ,year_total t_s_secyear + ,year_total t_w_firstyear + ,year_total t_w_secyear + where t_s_secyear.customer_id = t_s_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_secyear.customer_id + and t_s_firstyear.customer_id = t_w_firstyear.customer_id + and t_s_firstyear.sale_type = 's' + and t_w_firstyear.sale_type = 'w' + and t_s_secyear.sale_type = 's' + and t_w_secyear.sale_type = 'w' + and t_s_firstyear.year = 2001 + and t_s_secyear.year = 2001+1 + and t_w_firstyear.year = 2001 + and t_w_secyear.year = 2001+1 + and t_s_firstyear.year_total > 0 + and t_w_firstyear.year_total > 0 + and case when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total else null end + > case when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total else null end + order by 2,1,3 +limit 100; + +-- end query 1 in stream 0 using template query74.tpl diff --git a/ql/src/test/results/clientpositive/perf/query4.q.out b/ql/src/test/results/clientpositive/perf/query4.q.out new file mode 100644 index 0000000000..8fe4d1b123 --- /dev/null +++ b/ql/src/test/results/clientpositive/perf/query4.q.out @@ -0,0 +1,1176 @@ +PREHOOK: query: explain +with year_total as ( + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,c_preferred_cust_flag customer_preferred_cust_flag + ,c_birth_country customer_birth_country + ,c_login customer_login + ,c_email_address customer_email_address + ,d_year dyear + ,sum(((ss_ext_list_price-ss_ext_wholesale_cost-ss_ext_discount_amt)+ss_ext_sales_price)/2) year_total + ,'s' sale_type + from customer + ,store_sales + ,date_dim + where c_customer_sk = ss_customer_sk + and ss_sold_date_sk = d_date_sk + group by c_customer_id + ,c_first_name + ,c_last_name + ,c_preferred_cust_flag + ,c_birth_country + ,c_login + ,c_email_address + ,d_year + union all + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,c_preferred_cust_flag customer_preferred_cust_flag + ,c_birth_country customer_birth_country + ,c_login customer_login + ,c_email_address customer_email_address + ,d_year dyear + ,sum((((cs_ext_list_price-cs_ext_wholesale_cost-cs_ext_discount_amt)+cs_ext_sales_price)/2) ) year_total + ,'c' sale_type + from customer + ,catalog_sales + ,date_dim + where c_customer_sk = cs_bill_customer_sk + and cs_sold_date_sk = d_date_sk + group by c_customer_id + ,c_first_name + ,c_last_name + ,c_preferred_cust_flag + ,c_birth_country + ,c_login + ,c_email_address + ,d_year +union all + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,c_preferred_cust_flag customer_preferred_cust_flag + ,c_birth_country customer_birth_country + ,c_login customer_login + ,c_email_address customer_email_address + ,d_year dyear + ,sum((((ws_ext_list_price-ws_ext_wholesale_cost-ws_ext_discount_amt)+ws_ext_sales_price)/2) ) year_total + ,'w' sale_type + from customer + ,web_sales + ,date_dim + where c_customer_sk = ws_bill_customer_sk + and ws_sold_date_sk = d_date_sk + group by c_customer_id + ,c_first_name + ,c_last_name + ,c_preferred_cust_flag + ,c_birth_country + ,c_login + ,c_email_address + ,d_year + ) + select t_s_secyear.customer_preferred_cust_flag + from year_total t_s_firstyear + ,year_total t_s_secyear + ,year_total t_c_firstyear + ,year_total t_c_secyear + ,year_total t_w_firstyear + ,year_total t_w_secyear + where t_s_secyear.customer_id = t_s_firstyear.customer_id + and t_s_firstyear.customer_id = t_c_secyear.customer_id + and t_s_firstyear.customer_id = t_c_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_secyear.customer_id + and t_s_firstyear.sale_type = 's' + and t_c_firstyear.sale_type = 'c' + and t_w_firstyear.sale_type = 'w' + and t_s_secyear.sale_type = 's' + and t_c_secyear.sale_type = 'c' + and t_w_secyear.sale_type = 'w' + and t_s_firstyear.dyear = 2001 + and t_s_secyear.dyear = 2001+1 + and t_c_firstyear.dyear = 2001 + and t_c_secyear.dyear = 2001+1 + and t_w_firstyear.dyear = 2001 + and t_w_secyear.dyear = 2001+1 + and t_s_firstyear.year_total > 0 + and t_c_firstyear.year_total > 0 + and t_w_firstyear.year_total > 0 + and case when t_c_firstyear.year_total > 0 then t_c_secyear.year_total / t_c_firstyear.year_total else null end + > case when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total else null end + and case when t_c_firstyear.year_total > 0 then t_c_secyear.year_total / t_c_firstyear.year_total else null end + > case when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total else null end + order by t_s_secyear.customer_preferred_cust_flag +limit 100 +PREHOOK: type: QUERY +POSTHOOK: query: explain +with year_total as ( + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,c_preferred_cust_flag customer_preferred_cust_flag + ,c_birth_country customer_birth_country + ,c_login customer_login + ,c_email_address customer_email_address + ,d_year dyear + ,sum(((ss_ext_list_price-ss_ext_wholesale_cost-ss_ext_discount_amt)+ss_ext_sales_price)/2) year_total + ,'s' sale_type + from customer + ,store_sales + ,date_dim + where c_customer_sk = ss_customer_sk + and ss_sold_date_sk = d_date_sk + group by c_customer_id + ,c_first_name + ,c_last_name + ,c_preferred_cust_flag + ,c_birth_country + ,c_login + ,c_email_address + ,d_year + union all + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,c_preferred_cust_flag customer_preferred_cust_flag + ,c_birth_country customer_birth_country + ,c_login customer_login + ,c_email_address customer_email_address + ,d_year dyear + ,sum((((cs_ext_list_price-cs_ext_wholesale_cost-cs_ext_discount_amt)+cs_ext_sales_price)/2) ) year_total + ,'c' sale_type + from customer + ,catalog_sales + ,date_dim + where c_customer_sk = cs_bill_customer_sk + and cs_sold_date_sk = d_date_sk + group by c_customer_id + ,c_first_name + ,c_last_name + ,c_preferred_cust_flag + ,c_birth_country + ,c_login + ,c_email_address + ,d_year +union all + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,c_preferred_cust_flag customer_preferred_cust_flag + ,c_birth_country customer_birth_country + ,c_login customer_login + ,c_email_address customer_email_address + ,d_year dyear + ,sum((((ws_ext_list_price-ws_ext_wholesale_cost-ws_ext_discount_amt)+ws_ext_sales_price)/2) ) year_total + ,'w' sale_type + from customer + ,web_sales + ,date_dim + where c_customer_sk = ws_bill_customer_sk + and ws_sold_date_sk = d_date_sk + group by c_customer_id + ,c_first_name + ,c_last_name + ,c_preferred_cust_flag + ,c_birth_country + ,c_login + ,c_email_address + ,d_year + ) + select t_s_secyear.customer_preferred_cust_flag + from year_total t_s_firstyear + ,year_total t_s_secyear + ,year_total t_c_firstyear + ,year_total t_c_secyear + ,year_total t_w_firstyear + ,year_total t_w_secyear + where t_s_secyear.customer_id = t_s_firstyear.customer_id + and t_s_firstyear.customer_id = t_c_secyear.customer_id + and t_s_firstyear.customer_id = t_c_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_secyear.customer_id + and t_s_firstyear.sale_type = 's' + and t_c_firstyear.sale_type = 'c' + and t_w_firstyear.sale_type = 'w' + and t_s_secyear.sale_type = 's' + and t_c_secyear.sale_type = 'c' + and t_w_secyear.sale_type = 'w' + and t_s_firstyear.dyear = 2001 + and t_s_secyear.dyear = 2001+1 + and t_c_firstyear.dyear = 2001 + and t_c_secyear.dyear = 2001+1 + and t_w_firstyear.dyear = 2001 + and t_w_secyear.dyear = 2001+1 + and t_s_firstyear.year_total > 0 + and t_c_firstyear.year_total > 0 + and t_w_firstyear.year_total > 0 + and case when t_c_firstyear.year_total > 0 then t_c_secyear.year_total / t_c_firstyear.year_total else null end + > case when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total else null end + and case when t_c_firstyear.year_total > 0 then t_c_secyear.year_total / t_c_firstyear.year_total else null end + > case when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total else null end + order by t_s_secyear.customer_preferred_cust_flag +limit 100 +POSTHOOK: type: QUERY +Plan optimized by CBO. + +Vertex dependency in root stage +Reducer 10 <- Reducer 9 (SIMPLE_EDGE), Union 11 (CONTAINS) +Reducer 12 <- Map 1 (SIMPLE_EDGE), Map 28 (SIMPLE_EDGE) +Reducer 13 <- Map 65 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) +Reducer 14 <- Reducer 13 (SIMPLE_EDGE), Union 15 (CONTAINS) +Reducer 16 <- Map 1 (SIMPLE_EDGE), Map 28 (SIMPLE_EDGE) +Reducer 17 <- Map 65 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE) +Reducer 18 <- Reducer 17 (SIMPLE_EDGE), Union 19 (CONTAINS) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 28 (SIMPLE_EDGE) +Reducer 20 <- Map 1 (SIMPLE_EDGE), Map 28 (SIMPLE_EDGE) +Reducer 21 <- Map 65 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE) +Reducer 22 <- Reducer 21 (SIMPLE_EDGE), Union 23 (CONTAINS) +Reducer 24 <- Map 1 (SIMPLE_EDGE), Map 28 (SIMPLE_EDGE) +Reducer 25 <- Map 65 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE) +Reducer 26 <- Reducer 25 (SIMPLE_EDGE), Union 27 (CONTAINS) +Reducer 29 <- Map 28 (SIMPLE_EDGE), Map 66 (SIMPLE_EDGE) +Reducer 3 <- Map 65 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) +Reducer 30 <- Map 65 (SIMPLE_EDGE), Reducer 29 (SIMPLE_EDGE) +Reducer 31 <- Reducer 30 (SIMPLE_EDGE), Union 5 (CONTAINS) +Reducer 32 <- Map 28 (SIMPLE_EDGE), Map 67 (SIMPLE_EDGE) +Reducer 33 <- Map 65 (SIMPLE_EDGE), Reducer 32 (SIMPLE_EDGE) +Reducer 34 <- Reducer 33 (SIMPLE_EDGE), Union 5 (CONTAINS) +Reducer 35 <- Map 28 (SIMPLE_EDGE), Map 66 (SIMPLE_EDGE) +Reducer 36 <- Map 65 (SIMPLE_EDGE), Reducer 35 (SIMPLE_EDGE) +Reducer 37 <- Reducer 36 (SIMPLE_EDGE), Union 11 (CONTAINS) +Reducer 38 <- Map 28 (SIMPLE_EDGE), Map 67 (SIMPLE_EDGE) +Reducer 39 <- Map 65 (SIMPLE_EDGE), Reducer 38 (SIMPLE_EDGE) +Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS) +Reducer 40 <- Reducer 39 (SIMPLE_EDGE), Union 11 (CONTAINS) +Reducer 41 <- Map 28 (SIMPLE_EDGE), Map 66 (SIMPLE_EDGE) +Reducer 42 <- Map 65 (SIMPLE_EDGE), Reducer 41 (SIMPLE_EDGE) +Reducer 43 <- Reducer 42 (SIMPLE_EDGE), Union 15 (CONTAINS) +Reducer 44 <- Map 28 (SIMPLE_EDGE), Map 67 (SIMPLE_EDGE) +Reducer 45 <- Map 65 (SIMPLE_EDGE), Reducer 44 (SIMPLE_EDGE) +Reducer 46 <- Reducer 45 (SIMPLE_EDGE), Union 15 (CONTAINS) +Reducer 47 <- Map 28 (SIMPLE_EDGE), Map 66 (SIMPLE_EDGE) +Reducer 48 <- Map 65 (SIMPLE_EDGE), Reducer 47 (SIMPLE_EDGE) +Reducer 49 <- Reducer 48 (SIMPLE_EDGE), Union 19 (CONTAINS) +Reducer 50 <- Map 28 (SIMPLE_EDGE), Map 67 (SIMPLE_EDGE) +Reducer 51 <- Map 65 (SIMPLE_EDGE), Reducer 50 (SIMPLE_EDGE) +Reducer 52 <- Reducer 51 (SIMPLE_EDGE), Union 19 (CONTAINS) +Reducer 53 <- Map 28 (SIMPLE_EDGE), Map 66 (SIMPLE_EDGE) +Reducer 54 <- Map 65 (SIMPLE_EDGE), Reducer 53 (SIMPLE_EDGE) +Reducer 55 <- Reducer 54 (SIMPLE_EDGE), Union 23 (CONTAINS) +Reducer 56 <- Map 28 (SIMPLE_EDGE), Map 67 (SIMPLE_EDGE) +Reducer 57 <- Map 65 (SIMPLE_EDGE), Reducer 56 (SIMPLE_EDGE) +Reducer 58 <- Reducer 57 (SIMPLE_EDGE), Union 23 (CONTAINS) +Reducer 59 <- Map 28 (SIMPLE_EDGE), Map 66 (SIMPLE_EDGE) +Reducer 6 <- Union 11 (SIMPLE_EDGE), Union 15 (SIMPLE_EDGE), Union 19 (SIMPLE_EDGE), Union 23 (SIMPLE_EDGE), Union 27 (SIMPLE_EDGE), Union 5 (SIMPLE_EDGE) +Reducer 60 <- Map 65 (SIMPLE_EDGE), Reducer 59 (SIMPLE_EDGE) +Reducer 61 <- Reducer 60 (SIMPLE_EDGE), Union 27 (CONTAINS) +Reducer 62 <- Map 28 (SIMPLE_EDGE), Map 67 (SIMPLE_EDGE) +Reducer 63 <- Map 65 (SIMPLE_EDGE), Reducer 62 (SIMPLE_EDGE) +Reducer 64 <- Reducer 63 (SIMPLE_EDGE), Union 27 (CONTAINS) +Reducer 7 <- Reducer 6 (SIMPLE_EDGE) +Reducer 8 <- Map 1 (SIMPLE_EDGE), Map 28 (SIMPLE_EDGE) +Reducer 9 <- Map 65 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE) + +Stage-0 + Fetch Operator + limit:100 + Stage-1 + Reducer 7 + File Output Operator [FS_424] + Limit [LIM_423] (rows=100 width=88) + Number of rows:100 + Select Operator [SEL_422] (rows=479156402 width=88) + Output:["_col0"] + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_421] + Select Operator [SEL_420] (rows=479156402 width=88) + Output:["_col0"] + Filter Operator [FIL_418] (rows=479156402 width=88) + predicate:(CASE WHEN ((_col12 > 0)) THEN (CASE WHEN ((_col8 > 0)) THEN (((_col6 / _col8) > (_col10 / _col12))) ELSE ((null > (_col10 / _col12))) END) ELSE (CASE WHEN ((_col8 > 0)) THEN (((_col6 / _col8) > null)) ELSE (null) END) END and CASE WHEN ((_col4 > 0)) THEN (CASE WHEN ((_col8 > 0)) THEN (((_col6 / _col8) > (_col2 / _col4))) ELSE ((null > (_col2 / _col4))) END) ELSE (CASE WHEN ((_col8 > 0)) THEN (((_col6 / _col8) > null)) ELSE (null) END) END) + Merge Join Operator [MERGEJOIN_890] (rows=1916625609 width=88) + Conds:Union 5._col0=Union 11._col0(Inner),Union 11._col0=Union 15._col0(Inner),Union 11._col0=Union 19._col0(Inner),Union 11._col0=Union 23._col0(Inner),Union 11._col0=Union 27._col0(Inner),Output:["_col1","_col2","_col4","_col6","_col8","_col10","_col12"] + <-Union 11 [SIMPLE_EDGE] + <-Reducer 10 [CONTAINS] + Reduce Output Operator [RS_412] + PartitionCols:_col0 + Select Operator [SEL_89] (rows=116159124 width=88) + Output:["_col0","_col1"] + Filter Operator [FIL_88] (rows=116159124 width=88) + predicate:(_col7 > 0) + Select Operator [SEL_849] (rows=348477374 width=88) + Output:["_col0","_col7"] + Group By Operator [GBY_87] (rows=348477374 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6 + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_86] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6 + Group By Operator [GBY_85] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6 + Select Operator [SEL_83] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Merge Join Operator [MERGEJOIN_861] (rows=696954748 width=88) + Conds:RS_80._col1=RS_81._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_81] + PartitionCols:_col0 + Select Operator [SEL_76] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_796] (rows=80000000 width=860) + predicate:(c_customer_sk is not null and c_customer_id is not null) + TableScan [TS_6] (rows=80000000 width=860) + default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_customer_id","c_first_name","c_last_name","c_preferred_cust_flag","c_birth_country","c_login","c_email_address"] + <-Reducer 8 [SIMPLE_EDGE] + SHUFFLE [RS_80] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_860] (rows=633595212 width=88) + Conds:RS_77._col0=RS_78._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_78] + PartitionCols:_col0 + Select Operator [SEL_73] (rows=36524 width=1119) + Output:["_col0"] + Filter Operator [FIL_795] (rows=36524 width=1119) + predicate:((d_year = 2001) and d_date_sk is not null) + TableScan [TS_3] (rows=73049 width=1119) + default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_77] + PartitionCols:_col0 + Select Operator [SEL_70] (rows=575995635 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_794] (rows=575995635 width=88) + predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null) + TableScan [TS_0] (rows=575995635 width=88) + default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_ext_discount_amt","ss_ext_sales_price","ss_ext_wholesale_cost","ss_ext_list_price"] + <-Reducer 37 [CONTAINS] + Reduce Output Operator [RS_412] + PartitionCols:_col0 + Select Operator [SEL_111] (rows=1 width=135) + Output:["_col0","_col1"] + Filter Operator [FIL_110] (rows=1 width=135) + predicate:false + Select Operator [SEL_839] (rows=174233858 width=135) + Output:["_col0","_col8"] + Group By Operator [GBY_109] (rows=174233858 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7 + <-Reducer 36 [SIMPLE_EDGE] + SHUFFLE [RS_108] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Group By Operator [GBY_107] (rows=348467716 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col8)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Select Operator [SEL_105] (rows=348467716 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] + Merge Join Operator [MERGEJOIN_863] (rows=348467716 width=135) + Conds:RS_102._col1=RS_103._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_103] + PartitionCols:_col0 + Select Operator [SEL_98] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_799] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 35 [SIMPLE_EDGE] + SHUFFLE [RS_102] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_862] (rows=316788826 width=135) + Conds:RS_99._col0=RS_100._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_100] + PartitionCols:_col0 + Select Operator [SEL_95] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_798] (rows=73049 width=1119) + predicate:d_date_sk is not null + Please refer to the previous TableScan [TS_3] + <-Map 66 [SIMPLE_EDGE] + SHUFFLE [RS_99] + PartitionCols:_col0 + Select Operator [SEL_92] (rows=287989836 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_797] (rows=287989836 width=135) + predicate:(cs_bill_customer_sk is not null and cs_sold_date_sk is not null) + TableScan [TS_21] (rows=287989836 width=135) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_ext_discount_amt","cs_ext_sales_price","cs_ext_wholesale_cost","cs_ext_list_price"] + <-Reducer 40 [CONTAINS] + Reduce Output Operator [RS_412] + PartitionCols:_col0 + Select Operator [SEL_135] (rows=1 width=135) + Output:["_col0","_col1"] + Filter Operator [FIL_134] (rows=1 width=135) + predicate:false + Select Operator [SEL_840] (rows=87121617 width=135) + Output:["_col0","_col8"] + Group By Operator [GBY_133] (rows=87121617 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7 + <-Reducer 39 [SIMPLE_EDGE] + SHUFFLE [RS_132] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Group By Operator [GBY_131] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col8)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Select Operator [SEL_129] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] + Merge Join Operator [MERGEJOIN_865] (rows=174243235 width=135) + Conds:RS_126._col1=RS_127._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_127] + PartitionCols:_col0 + Select Operator [SEL_122] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_802] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 38 [SIMPLE_EDGE] + SHUFFLE [RS_126] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_864] (rows=158402938 width=135) + Conds:RS_123._col0=RS_124._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_124] + PartitionCols:_col0 + Select Operator [SEL_119] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_801] (rows=73049 width=1119) + predicate:d_date_sk is not null + Please refer to the previous TableScan [TS_3] + <-Map 67 [SIMPLE_EDGE] + SHUFFLE [RS_123] + PartitionCols:_col0 + Select Operator [SEL_116] (rows=144002668 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_800] (rows=144002668 width=135) + predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null) + TableScan [TS_45] (rows=144002668 width=135) + default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk","ws_ext_discount_amt","ws_ext_sales_price","ws_ext_wholesale_cost","ws_ext_list_price"] + <-Union 15 [SIMPLE_EDGE] + <-Reducer 14 [CONTAINS] + Reduce Output Operator [RS_413] + PartitionCols:_col0 + Select Operator [SEL_158] (rows=1 width=88) + Output:["_col0","_col1"] + Filter Operator [FIL_157] (rows=1 width=88) + predicate:false + Select Operator [SEL_850] (rows=348477374 width=88) + Output:["_col0","_col8"] + Group By Operator [GBY_156] (rows=348477374 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7 + <-Reducer 13 [SIMPLE_EDGE] + SHUFFLE [RS_155] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Group By Operator [GBY_154] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col8)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Select Operator [SEL_152] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] + Merge Join Operator [MERGEJOIN_867] (rows=696954748 width=88) + Conds:RS_149._col1=RS_150._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_150] + PartitionCols:_col0 + Select Operator [SEL_145] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_805] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 12 [SIMPLE_EDGE] + SHUFFLE [RS_149] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_866] (rows=633595212 width=88) + Conds:RS_146._col0=RS_147._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_147] + PartitionCols:_col0 + Select Operator [SEL_142] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_804] (rows=73049 width=1119) + predicate:d_date_sk is not null + Please refer to the previous TableScan [TS_3] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_146] + PartitionCols:_col0 + Select Operator [SEL_139] (rows=575995635 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_803] (rows=575995635 width=88) + predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null) + Please refer to the previous TableScan [TS_0] + <-Reducer 43 [CONTAINS] + Reduce Output Operator [RS_413] + PartitionCols:_col0 + Select Operator [SEL_179] (rows=174233858 width=135) + Output:["_col0","_col1"] + Group By Operator [GBY_178] (rows=174233858 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6 + <-Reducer 42 [SIMPLE_EDGE] + SHUFFLE [RS_177] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6 + Group By Operator [GBY_176] (rows=348467716 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6 + Select Operator [SEL_174] (rows=348467716 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Merge Join Operator [MERGEJOIN_869] (rows=348467716 width=135) + Conds:RS_171._col1=RS_172._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_172] + PartitionCols:_col0 + Select Operator [SEL_167] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_808] (rows=80000000 width=860) + predicate:(c_customer_sk is not null and c_customer_id is not null) + Please refer to the previous TableScan [TS_6] + <-Reducer 41 [SIMPLE_EDGE] + SHUFFLE [RS_171] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_868] (rows=316788826 width=135) + Conds:RS_168._col0=RS_169._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_169] + PartitionCols:_col0 + Select Operator [SEL_164] (rows=36524 width=1119) + Output:["_col0"] + Filter Operator [FIL_807] (rows=36524 width=1119) + predicate:((d_year = 2002) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 66 [SIMPLE_EDGE] + SHUFFLE [RS_168] + PartitionCols:_col0 + Select Operator [SEL_161] (rows=287989836 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_806] (rows=287989836 width=135) + predicate:(cs_bill_customer_sk is not null and cs_sold_date_sk is not null) + Please refer to the previous TableScan [TS_21] + <-Reducer 46 [CONTAINS] + Reduce Output Operator [RS_413] + PartitionCols:_col0 + Select Operator [SEL_203] (rows=1 width=135) + Output:["_col0","_col1"] + Filter Operator [FIL_202] (rows=1 width=135) + predicate:false + Select Operator [SEL_841] (rows=87121617 width=135) + Output:["_col0","_col8"] + Group By Operator [GBY_201] (rows=87121617 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7 + <-Reducer 45 [SIMPLE_EDGE] + SHUFFLE [RS_200] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Group By Operator [GBY_199] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col8)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Select Operator [SEL_197] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] + Merge Join Operator [MERGEJOIN_871] (rows=174243235 width=135) + Conds:RS_194._col1=RS_195._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_195] + PartitionCols:_col0 + Select Operator [SEL_190] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_811] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 44 [SIMPLE_EDGE] + SHUFFLE [RS_194] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_870] (rows=158402938 width=135) + Conds:RS_191._col0=RS_192._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_192] + PartitionCols:_col0 + Select Operator [SEL_187] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_810] (rows=73049 width=1119) + predicate:d_date_sk is not null + Please refer to the previous TableScan [TS_3] + <-Map 67 [SIMPLE_EDGE] + SHUFFLE [RS_191] + PartitionCols:_col0 + Select Operator [SEL_184] (rows=144002668 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_809] (rows=144002668 width=135) + predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null) + Please refer to the previous TableScan [TS_45] + <-Union 19 [SIMPLE_EDGE] + <-Reducer 18 [CONTAINS] + Reduce Output Operator [RS_414] + PartitionCols:_col0 + Select Operator [SEL_226] (rows=1 width=88) + Output:["_col0","_col1"] + Filter Operator [FIL_225] (rows=1 width=88) + predicate:false + Select Operator [SEL_851] (rows=348477374 width=88) + Output:["_col0","_col8"] + Group By Operator [GBY_224] (rows=348477374 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7 + <-Reducer 17 [SIMPLE_EDGE] + SHUFFLE [RS_223] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Group By Operator [GBY_222] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col8)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Select Operator [SEL_220] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] + Merge Join Operator [MERGEJOIN_873] (rows=696954748 width=88) + Conds:RS_217._col1=RS_218._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_218] + PartitionCols:_col0 + Select Operator [SEL_213] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_814] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 16 [SIMPLE_EDGE] + SHUFFLE [RS_217] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_872] (rows=633595212 width=88) + Conds:RS_214._col0=RS_215._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_215] + PartitionCols:_col0 + Select Operator [SEL_210] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_813] (rows=73049 width=1119) + predicate:d_date_sk is not null + Please refer to the previous TableScan [TS_3] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_214] + PartitionCols:_col0 + Select Operator [SEL_207] (rows=575995635 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_812] (rows=575995635 width=88) + predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null) + Please refer to the previous TableScan [TS_0] + <-Reducer 49 [CONTAINS] + Reduce Output Operator [RS_414] + PartitionCols:_col0 + Select Operator [SEL_248] (rows=58077952 width=135) + Output:["_col0","_col1"] + Filter Operator [FIL_247] (rows=58077952 width=135) + predicate:(_col7 > 0) + Select Operator [SEL_842] (rows=174233858 width=135) + Output:["_col0","_col7"] + Group By Operator [GBY_246] (rows=174233858 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6 + <-Reducer 48 [SIMPLE_EDGE] + SHUFFLE [RS_245] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6 + Group By Operator [GBY_244] (rows=348467716 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6 + Select Operator [SEL_242] (rows=348467716 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Merge Join Operator [MERGEJOIN_875] (rows=348467716 width=135) + Conds:RS_239._col1=RS_240._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_240] + PartitionCols:_col0 + Select Operator [SEL_235] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_817] (rows=80000000 width=860) + predicate:(c_customer_sk is not null and c_customer_id is not null) + Please refer to the previous TableScan [TS_6] + <-Reducer 47 [SIMPLE_EDGE] + SHUFFLE [RS_239] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_874] (rows=316788826 width=135) + Conds:RS_236._col0=RS_237._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_237] + PartitionCols:_col0 + Select Operator [SEL_232] (rows=36524 width=1119) + Output:["_col0"] + Filter Operator [FIL_816] (rows=36524 width=1119) + predicate:((d_year = 2001) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 66 [SIMPLE_EDGE] + SHUFFLE [RS_236] + PartitionCols:_col0 + Select Operator [SEL_229] (rows=287989836 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_815] (rows=287989836 width=135) + predicate:(cs_bill_customer_sk is not null and cs_sold_date_sk is not null) + Please refer to the previous TableScan [TS_21] + <-Reducer 52 [CONTAINS] + Reduce Output Operator [RS_414] + PartitionCols:_col0 + Select Operator [SEL_272] (rows=1 width=135) + Output:["_col0","_col1"] + Filter Operator [FIL_271] (rows=1 width=135) + predicate:false + Select Operator [SEL_843] (rows=87121617 width=135) + Output:["_col0","_col8"] + Group By Operator [GBY_270] (rows=87121617 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7 + <-Reducer 51 [SIMPLE_EDGE] + SHUFFLE [RS_269] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Group By Operator [GBY_268] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col8)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Select Operator [SEL_266] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] + Merge Join Operator [MERGEJOIN_877] (rows=174243235 width=135) + Conds:RS_263._col1=RS_264._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_264] + PartitionCols:_col0 + Select Operator [SEL_259] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_820] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 50 [SIMPLE_EDGE] + SHUFFLE [RS_263] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_876] (rows=158402938 width=135) + Conds:RS_260._col0=RS_261._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_261] + PartitionCols:_col0 + Select Operator [SEL_256] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_819] (rows=73049 width=1119) + predicate:d_date_sk is not null + Please refer to the previous TableScan [TS_3] + <-Map 67 [SIMPLE_EDGE] + SHUFFLE [RS_260] + PartitionCols:_col0 + Select Operator [SEL_253] (rows=144002668 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_818] (rows=144002668 width=135) + predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null) + Please refer to the previous TableScan [TS_45] + <-Union 23 [SIMPLE_EDGE] + <-Reducer 22 [CONTAINS] + Reduce Output Operator [RS_415] + PartitionCols:_col0 + Select Operator [SEL_295] (rows=1 width=88) + Output:["_col0","_col1"] + Filter Operator [FIL_294] (rows=1 width=88) + predicate:false + Select Operator [SEL_852] (rows=348477374 width=88) + Output:["_col0","_col8"] + Group By Operator [GBY_293] (rows=348477374 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7 + <-Reducer 21 [SIMPLE_EDGE] + SHUFFLE [RS_292] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Group By Operator [GBY_291] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col8)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Select Operator [SEL_289] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] + Merge Join Operator [MERGEJOIN_879] (rows=696954748 width=88) + Conds:RS_286._col1=RS_287._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_287] + PartitionCols:_col0 + Select Operator [SEL_282] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_823] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 20 [SIMPLE_EDGE] + SHUFFLE [RS_286] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_878] (rows=633595212 width=88) + Conds:RS_283._col0=RS_284._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_284] + PartitionCols:_col0 + Select Operator [SEL_279] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_822] (rows=73049 width=1119) + predicate:d_date_sk is not null + Please refer to the previous TableScan [TS_3] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_283] + PartitionCols:_col0 + Select Operator [SEL_276] (rows=575995635 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_821] (rows=575995635 width=88) + predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null) + Please refer to the previous TableScan [TS_0] + <-Reducer 55 [CONTAINS] + Reduce Output Operator [RS_415] + PartitionCols:_col0 + Select Operator [SEL_317] (rows=1 width=135) + Output:["_col0","_col1"] + Filter Operator [FIL_316] (rows=1 width=135) + predicate:false + Select Operator [SEL_844] (rows=174233858 width=135) + Output:["_col0","_col8"] + Group By Operator [GBY_315] (rows=174233858 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7 + <-Reducer 54 [SIMPLE_EDGE] + SHUFFLE [RS_314] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Group By Operator [GBY_313] (rows=348467716 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col8)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Select Operator [SEL_311] (rows=348467716 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] + Merge Join Operator [MERGEJOIN_881] (rows=348467716 width=135) + Conds:RS_308._col1=RS_309._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_309] + PartitionCols:_col0 + Select Operator [SEL_304] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_826] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 53 [SIMPLE_EDGE] + SHUFFLE [RS_308] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_880] (rows=316788826 width=135) + Conds:RS_305._col0=RS_306._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_306] + PartitionCols:_col0 + Select Operator [SEL_301] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_825] (rows=73049 width=1119) + predicate:d_date_sk is not null + Please refer to the previous TableScan [TS_3] + <-Map 66 [SIMPLE_EDGE] + SHUFFLE [RS_305] + PartitionCols:_col0 + Select Operator [SEL_298] (rows=287989836 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_824] (rows=287989836 width=135) + predicate:(cs_bill_customer_sk is not null and cs_sold_date_sk is not null) + Please refer to the previous TableScan [TS_21] + <-Reducer 58 [CONTAINS] + Reduce Output Operator [RS_415] + PartitionCols:_col0 + Select Operator [SEL_340] (rows=87121617 width=135) + Output:["_col0","_col1"] + Group By Operator [GBY_339] (rows=87121617 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6 + <-Reducer 57 [SIMPLE_EDGE] + SHUFFLE [RS_338] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6 + Group By Operator [GBY_337] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6 + Select Operator [SEL_335] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Merge Join Operator [MERGEJOIN_883] (rows=174243235 width=135) + Conds:RS_332._col1=RS_333._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_333] + PartitionCols:_col0 + Select Operator [SEL_328] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_829] (rows=80000000 width=860) + predicate:(c_customer_sk is not null and c_customer_id is not null) + Please refer to the previous TableScan [TS_6] + <-Reducer 56 [SIMPLE_EDGE] + SHUFFLE [RS_332] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_882] (rows=158402938 width=135) + Conds:RS_329._col0=RS_330._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_330] + PartitionCols:_col0 + Select Operator [SEL_325] (rows=36524 width=1119) + Output:["_col0"] + Filter Operator [FIL_828] (rows=36524 width=1119) + predicate:((d_year = 2002) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 67 [SIMPLE_EDGE] + SHUFFLE [RS_329] + PartitionCols:_col0 + Select Operator [SEL_322] (rows=144002668 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_827] (rows=144002668 width=135) + predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null) + Please refer to the previous TableScan [TS_45] + <-Union 27 [SIMPLE_EDGE] + <-Reducer 26 [CONTAINS] + Reduce Output Operator [RS_416] + PartitionCols:_col0 + Select Operator [SEL_363] (rows=1 width=88) + Output:["_col0","_col1"] + Filter Operator [FIL_362] (rows=1 width=88) + predicate:false + Select Operator [SEL_853] (rows=348477374 width=88) + Output:["_col0","_col8"] + Group By Operator [GBY_361] (rows=348477374 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7 + <-Reducer 25 [SIMPLE_EDGE] + SHUFFLE [RS_360] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Group By Operator [GBY_359] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col8)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Select Operator [SEL_357] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] + Merge Join Operator [MERGEJOIN_885] (rows=696954748 width=88) + Conds:RS_354._col1=RS_355._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_355] + PartitionCols:_col0 + Select Operator [SEL_350] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_832] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 24 [SIMPLE_EDGE] + SHUFFLE [RS_354] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_884] (rows=633595212 width=88) + Conds:RS_351._col0=RS_352._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_352] + PartitionCols:_col0 + Select Operator [SEL_347] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_831] (rows=73049 width=1119) + predicate:d_date_sk is not null + Please refer to the previous TableScan [TS_3] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_351] + PartitionCols:_col0 + Select Operator [SEL_344] (rows=575995635 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_830] (rows=575995635 width=88) + predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null) + Please refer to the previous TableScan [TS_0] + <-Reducer 61 [CONTAINS] + Reduce Output Operator [RS_416] + PartitionCols:_col0 + Select Operator [SEL_385] (rows=1 width=135) + Output:["_col0","_col1"] + Filter Operator [FIL_384] (rows=1 width=135) + predicate:false + Select Operator [SEL_845] (rows=174233858 width=135) + Output:["_col0","_col8"] + Group By Operator [GBY_383] (rows=174233858 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7 + <-Reducer 60 [SIMPLE_EDGE] + SHUFFLE [RS_382] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Group By Operator [GBY_381] (rows=348467716 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col8)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Select Operator [SEL_379] (rows=348467716 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] + Merge Join Operator [MERGEJOIN_887] (rows=348467716 width=135) + Conds:RS_376._col1=RS_377._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_377] + PartitionCols:_col0 + Select Operator [SEL_372] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_835] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 59 [SIMPLE_EDGE] + SHUFFLE [RS_376] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_886] (rows=316788826 width=135) + Conds:RS_373._col0=RS_374._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_374] + PartitionCols:_col0 + Select Operator [SEL_369] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_834] (rows=73049 width=1119) + predicate:d_date_sk is not null + Please refer to the previous TableScan [TS_3] + <-Map 66 [SIMPLE_EDGE] + SHUFFLE [RS_373] + PartitionCols:_col0 + Select Operator [SEL_366] (rows=287989836 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_833] (rows=287989836 width=135) + predicate:(cs_bill_customer_sk is not null and cs_sold_date_sk is not null) + Please refer to the previous TableScan [TS_21] + <-Reducer 64 [CONTAINS] + Reduce Output Operator [RS_416] + PartitionCols:_col0 + Select Operator [SEL_409] (rows=29040539 width=135) + Output:["_col0","_col1"] + Filter Operator [FIL_408] (rows=29040539 width=135) + predicate:(_col7 > 0) + Select Operator [SEL_846] (rows=87121617 width=135) + Output:["_col0","_col7"] + Group By Operator [GBY_407] (rows=87121617 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6 + <-Reducer 63 [SIMPLE_EDGE] + SHUFFLE [RS_406] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6 + Group By Operator [GBY_405] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6 + Select Operator [SEL_403] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Merge Join Operator [MERGEJOIN_889] (rows=174243235 width=135) + Conds:RS_400._col1=RS_401._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_401] + PartitionCols:_col0 + Select Operator [SEL_396] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_838] (rows=80000000 width=860) + predicate:(c_customer_sk is not null and c_customer_id is not null) + Please refer to the previous TableScan [TS_6] + <-Reducer 62 [SIMPLE_EDGE] + SHUFFLE [RS_400] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_888] (rows=158402938 width=135) + Conds:RS_397._col0=RS_398._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_398] + PartitionCols:_col0 + Select Operator [SEL_393] (rows=36524 width=1119) + Output:["_col0"] + Filter Operator [FIL_837] (rows=36524 width=1119) + predicate:((d_year = 2001) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 67 [SIMPLE_EDGE] + SHUFFLE [RS_397] + PartitionCols:_col0 + Select Operator [SEL_390] (rows=144002668 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_836] (rows=144002668 width=135) + predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null) + Please refer to the previous TableScan [TS_45] + <-Union 5 [SIMPLE_EDGE] + <-Reducer 31 [CONTAINS] + Reduce Output Operator [RS_411] + PartitionCols:_col0 + Select Operator [SEL_42] (rows=1 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_41] (rows=1 width=135) + predicate:false + Select Operator [SEL_847] (rows=174233858 width=135) + Output:["_col0","_col3","_col8"] + Group By Operator [GBY_40] (rows=174233858 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7 + <-Reducer 30 [SIMPLE_EDGE] + SHUFFLE [RS_39] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Group By Operator [GBY_38] (rows=348467716 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col8)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Select Operator [SEL_36] (rows=348467716 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] + Merge Join Operator [MERGEJOIN_857] (rows=348467716 width=135) + Conds:RS_33._col1=RS_34._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_34] + PartitionCols:_col0 + Select Operator [SEL_29] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_790] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 29 [SIMPLE_EDGE] + SHUFFLE [RS_33] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_856] (rows=316788826 width=135) + Conds:RS_30._col0=RS_31._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_31] + PartitionCols:_col0 + Select Operator [SEL_26] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_789] (rows=73049 width=1119) + predicate:d_date_sk is not null + Please refer to the previous TableScan [TS_3] + <-Map 66 [SIMPLE_EDGE] + SHUFFLE [RS_30] + PartitionCols:_col0 + Select Operator [SEL_23] (rows=287989836 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_788] (rows=287989836 width=135) + predicate:(cs_bill_customer_sk is not null and cs_sold_date_sk is not null) + Please refer to the previous TableScan [TS_21] + <-Reducer 34 [CONTAINS] + Reduce Output Operator [RS_411] + PartitionCols:_col0 + Select Operator [SEL_66] (rows=1 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_65] (rows=1 width=135) + predicate:false + Select Operator [SEL_848] (rows=87121617 width=135) + Output:["_col0","_col3","_col8"] + Group By Operator [GBY_64] (rows=87121617 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7 + <-Reducer 33 [SIMPLE_EDGE] + SHUFFLE [RS_63] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Group By Operator [GBY_62] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col8)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 + Select Operator [SEL_60] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] + Merge Join Operator [MERGEJOIN_859] (rows=174243235 width=135) + Conds:RS_57._col1=RS_58._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_58] + PartitionCols:_col0 + Select Operator [SEL_53] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_793] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 32 [SIMPLE_EDGE] + SHUFFLE [RS_57] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_858] (rows=158402938 width=135) + Conds:RS_54._col0=RS_55._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_55] + PartitionCols:_col0 + Select Operator [SEL_50] (rows=73049 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_792] (rows=73049 width=1119) + predicate:d_date_sk is not null + Please refer to the previous TableScan [TS_3] + <-Map 67 [SIMPLE_EDGE] + SHUFFLE [RS_54] + PartitionCols:_col0 + Select Operator [SEL_47] (rows=144002668 width=135) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_791] (rows=144002668 width=135) + predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null) + Please refer to the previous TableScan [TS_45] + <-Reducer 4 [CONTAINS] + Reduce Output Operator [RS_411] + PartitionCols:_col0 + Select Operator [SEL_20] (rows=348477374 width=88) + Output:["_col0","_col1","_col2"] + Group By Operator [GBY_19] (rows=348477374 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6 + <-Reducer 3 [SIMPLE_EDGE] + SHUFFLE [RS_18] + PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6 + Group By Operator [GBY_17] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6 + Select Operator [SEL_15] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Merge Join Operator [MERGEJOIN_855] (rows=696954748 width=88) + Conds:RS_12._col1=RS_13._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"] + <-Map 65 [SIMPLE_EDGE] + SHUFFLE [RS_13] + PartitionCols:_col0 + Select Operator [SEL_8] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"] + Filter Operator [FIL_787] (rows=80000000 width=860) + predicate:(c_customer_sk is not null and c_customer_id is not null) + Please refer to the previous TableScan [TS_6] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_12] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_854] (rows=633595212 width=88) + Conds:RS_9._col0=RS_10._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_10] + PartitionCols:_col0 + Select Operator [SEL_5] (rows=36524 width=1119) + Output:["_col0"] + Filter Operator [FIL_786] (rows=36524 width=1119) + predicate:((d_year = 2002) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_9] + PartitionCols:_col0 + Select Operator [SEL_2] (rows=575995635 width=88) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_785] (rows=575995635 width=88) + predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null) + Please refer to the previous TableScan [TS_0] + diff --git a/ql/src/test/results/clientpositive/perf/query74.q.out b/ql/src/test/results/clientpositive/perf/query74.q.out new file mode 100644 index 0000000000..188c01714a --- /dev/null +++ b/ql/src/test/results/clientpositive/perf/query74.q.out @@ -0,0 +1,545 @@ +PREHOOK: query: explain +with year_total as ( + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,d_year as year + ,max(ss_net_paid) year_total + ,'s' sale_type + from customer + ,store_sales + ,date_dim + where c_customer_sk = ss_customer_sk + and ss_sold_date_sk = d_date_sk + and d_year in (2001,2001+1) + group by c_customer_id + ,c_first_name + ,c_last_name + ,d_year + union all + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,d_year as year + ,max(ws_net_paid) year_total + ,'w' sale_type + from customer + ,web_sales + ,date_dim + where c_customer_sk = ws_bill_customer_sk + and ws_sold_date_sk = d_date_sk + and d_year in (2001,2001+1) + group by c_customer_id + ,c_first_name + ,c_last_name + ,d_year + ) + select + t_s_secyear.customer_id, t_s_secyear.customer_first_name, t_s_secyear.customer_last_name + from year_total t_s_firstyear + ,year_total t_s_secyear + ,year_total t_w_firstyear + ,year_total t_w_secyear + where t_s_secyear.customer_id = t_s_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_secyear.customer_id + and t_s_firstyear.customer_id = t_w_firstyear.customer_id + and t_s_firstyear.sale_type = 's' + and t_w_firstyear.sale_type = 'w' + and t_s_secyear.sale_type = 's' + and t_w_secyear.sale_type = 'w' + and t_s_firstyear.year = 2001 + and t_s_secyear.year = 2001+1 + and t_w_firstyear.year = 2001 + and t_w_secyear.year = 2001+1 + and t_s_firstyear.year_total > 0 + and t_w_firstyear.year_total > 0 + and case when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total else null end + > case when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total else null end + order by 2,1,3 +limit 100 +PREHOOK: type: QUERY +POSTHOOK: query: explain +with year_total as ( + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,d_year as year + ,max(ss_net_paid) year_total + ,'s' sale_type + from customer + ,store_sales + ,date_dim + where c_customer_sk = ss_customer_sk + and ss_sold_date_sk = d_date_sk + and d_year in (2001,2001+1) + group by c_customer_id + ,c_first_name + ,c_last_name + ,d_year + union all + select c_customer_id customer_id + ,c_first_name customer_first_name + ,c_last_name customer_last_name + ,d_year as year + ,max(ws_net_paid) year_total + ,'w' sale_type + from customer + ,web_sales + ,date_dim + where c_customer_sk = ws_bill_customer_sk + and ws_sold_date_sk = d_date_sk + and d_year in (2001,2001+1) + group by c_customer_id + ,c_first_name + ,c_last_name + ,d_year + ) + select + t_s_secyear.customer_id, t_s_secyear.customer_first_name, t_s_secyear.customer_last_name + from year_total t_s_firstyear + ,year_total t_s_secyear + ,year_total t_w_firstyear + ,year_total t_w_secyear + where t_s_secyear.customer_id = t_s_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_secyear.customer_id + and t_s_firstyear.customer_id = t_w_firstyear.customer_id + and t_s_firstyear.sale_type = 's' + and t_w_firstyear.sale_type = 'w' + and t_s_secyear.sale_type = 's' + and t_w_secyear.sale_type = 'w' + and t_s_firstyear.year = 2001 + and t_s_secyear.year = 2001+1 + and t_w_firstyear.year = 2001 + and t_w_secyear.year = 2001+1 + and t_s_firstyear.year_total > 0 + and t_w_firstyear.year_total > 0 + and case when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total else null end + > case when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total else null end + order by 2,1,3 +limit 100 +POSTHOOK: type: QUERY +Plan optimized by CBO. + +Vertex dependency in root stage +Reducer 10 <- Reducer 9 (SIMPLE_EDGE), Union 11 (CONTAINS) +Reducer 12 <- Map 1 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE) +Reducer 13 <- Map 33 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE) +Reducer 14 <- Reducer 13 (SIMPLE_EDGE), Union 15 (CONTAINS) +Reducer 16 <- Map 1 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE) +Reducer 17 <- Map 33 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE) +Reducer 18 <- Reducer 17 (SIMPLE_EDGE), Union 19 (CONTAINS) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE) +Reducer 21 <- Map 20 (SIMPLE_EDGE), Map 34 (SIMPLE_EDGE) +Reducer 22 <- Map 33 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE) +Reducer 23 <- Reducer 22 (SIMPLE_EDGE), Union 5 (CONTAINS) +Reducer 24 <- Map 20 (SIMPLE_EDGE), Map 34 (SIMPLE_EDGE) +Reducer 25 <- Map 33 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE) +Reducer 26 <- Reducer 25 (SIMPLE_EDGE), Union 11 (CONTAINS) +Reducer 27 <- Map 20 (SIMPLE_EDGE), Map 34 (SIMPLE_EDGE) +Reducer 28 <- Map 33 (SIMPLE_EDGE), Reducer 27 (SIMPLE_EDGE) +Reducer 29 <- Reducer 28 (SIMPLE_EDGE), Union 15 (CONTAINS) +Reducer 3 <- Map 33 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) +Reducer 30 <- Map 20 (SIMPLE_EDGE), Map 34 (SIMPLE_EDGE) +Reducer 31 <- Map 33 (SIMPLE_EDGE), Reducer 30 (SIMPLE_EDGE) +Reducer 32 <- Reducer 31 (SIMPLE_EDGE), Union 19 (CONTAINS) +Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS) +Reducer 6 <- Union 11 (SIMPLE_EDGE), Union 15 (SIMPLE_EDGE), Union 19 (SIMPLE_EDGE), Union 5 (SIMPLE_EDGE) +Reducer 7 <- Reducer 6 (SIMPLE_EDGE) +Reducer 8 <- Map 1 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE) +Reducer 9 <- Map 33 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE) + +Stage-0 + Fetch Operator + limit:100 + Stage-1 + Reducer 7 + File Output Operator [FS_184] + Limit [LIM_183] (rows=100 width=88) + Number of rows:100 + Select Operator [SEL_182] (rows=574987681 width=88) + Output:["_col0","_col1","_col2"] + <-Reducer 6 [SIMPLE_EDGE] + SHUFFLE [RS_181] + Select Operator [SEL_180] (rows=574987681 width=88) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_179] (rows=574987681 width=88) + predicate:CASE WHEN ((_col5 > 0)) THEN (CASE WHEN ((_col9 > 0)) THEN (((_col7 / _col9) > (_col3 / _col5))) ELSE ((null > (_col3 / _col5))) END) ELSE (CASE WHEN ((_col9 > 0)) THEN (((_col7 / _col9) > null)) ELSE (null) END) END + Merge Join Operator [MERGEJOIN_343] (rows=1149975362 width=88) + Conds:Union 5._col0=Union 11._col0(Inner),Union 11._col0=Union 15._col0(Inner),Union 11._col0=Union 19._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col5","_col7","_col9"] + <-Union 11 [SIMPLE_EDGE] + <-Reducer 10 [CONTAINS] + Reduce Output Operator [RS_175] + PartitionCols:_col0 + Select Operator [SEL_63] (rows=116159124 width=88) + Output:["_col0","_col1"] + Filter Operator [FIL_62] (rows=116159124 width=88) + predicate:(_col4 > 0) + Select Operator [SEL_323] (rows=348477374 width=88) + Output:["_col0","_col4"] + Group By Operator [GBY_61] (rows=348477374 width=88) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3 + <-Reducer 9 [SIMPLE_EDGE] + SHUFFLE [RS_60] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_59] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6, _col7, _col8, _col4 + Merge Join Operator [MERGEJOIN_332] (rows=696954748 width=88) + Conds:RS_55._col1=RS_56._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_56] + PartitionCols:_col0 + Select Operator [SEL_51] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_305] (rows=80000000 width=860) + predicate:(c_customer_sk is not null and c_customer_id is not null) + TableScan [TS_6] (rows=80000000 width=860) + default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_customer_id","c_first_name","c_last_name"] + <-Reducer 8 [SIMPLE_EDGE] + SHUFFLE [RS_55] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_331] (rows=633595212 width=88) + Conds:RS_52._col0=RS_53._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_53] + PartitionCols:_col0 + Select Operator [SEL_48] (rows=18262 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_304] (rows=18262 width=1119) + predicate:((d_year) IN (2001, 2002) and (d_year = 2001) and d_date_sk is not null) + TableScan [TS_3] (rows=73049 width=1119) + default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_52] + PartitionCols:_col0 + Select Operator [SEL_45] (rows=575995635 width=88) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_303] (rows=575995635 width=88) + predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null) + TableScan [TS_0] (rows=575995635 width=88) + default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_net_paid"] + <-Reducer 26 [CONTAINS] + Reduce Output Operator [RS_175] + PartitionCols:_col0 + Select Operator [SEL_84] (rows=1 width=135) + Output:["_col0","_col1"] + Filter Operator [FIL_83] (rows=1 width=135) + predicate:false + Select Operator [SEL_324] (rows=87121617 width=135) + Output:["_col0","_col4"] + Group By Operator [GBY_82] (rows=87121617 width=135) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3 + <-Reducer 25 [SIMPLE_EDGE] + SHUFFLE [RS_81] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_80] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6, _col7, _col8, _col4 + Merge Join Operator [MERGEJOIN_334] (rows=174243235 width=135) + Conds:RS_76._col1=RS_77._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_77] + PartitionCols:_col0 + Select Operator [SEL_72] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_308] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 24 [SIMPLE_EDGE] + SHUFFLE [RS_76] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_333] (rows=158402938 width=135) + Conds:RS_73._col0=RS_74._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_74] + PartitionCols:_col0 + Select Operator [SEL_69] (rows=36525 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_307] (rows=36525 width=1119) + predicate:((d_year) IN (2001, 2002) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 34 [SIMPLE_EDGE] + SHUFFLE [RS_73] + PartitionCols:_col0 + Select Operator [SEL_66] (rows=144002668 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_306] (rows=144002668 width=135) + predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null) + TableScan [TS_20] (rows=144002668 width=135) + default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk","ws_net_paid"] + <-Union 15 [SIMPLE_EDGE] + <-Reducer 14 [CONTAINS] + Reduce Output Operator [RS_176] + PartitionCols:_col0 + Select Operator [SEL_107] (rows=1 width=88) + Output:["_col0","_col1"] + Filter Operator [FIL_106] (rows=1 width=88) + predicate:false + Select Operator [SEL_325] (rows=348477374 width=88) + Output:["_col0","_col4"] + Group By Operator [GBY_105] (rows=348477374 width=88) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3 + <-Reducer 13 [SIMPLE_EDGE] + SHUFFLE [RS_104] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_103] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6, _col7, _col8, _col4 + Merge Join Operator [MERGEJOIN_336] (rows=696954748 width=88) + Conds:RS_99._col1=RS_100._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_100] + PartitionCols:_col0 + Select Operator [SEL_95] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_311] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 12 [SIMPLE_EDGE] + SHUFFLE [RS_99] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_335] (rows=633595212 width=88) + Conds:RS_96._col0=RS_97._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_97] + PartitionCols:_col0 + Select Operator [SEL_92] (rows=36525 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_310] (rows=36525 width=1119) + predicate:((d_year) IN (2001, 2002) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_96] + PartitionCols:_col0 + Select Operator [SEL_89] (rows=575995635 width=88) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_309] (rows=575995635 width=88) + predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null) + Please refer to the previous TableScan [TS_0] + <-Reducer 29 [CONTAINS] + Reduce Output Operator [RS_176] + PartitionCols:_col0 + Select Operator [SEL_127] (rows=87121617 width=135) + Output:["_col0","_col1"] + Group By Operator [GBY_126] (rows=87121617 width=135) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3 + <-Reducer 28 [SIMPLE_EDGE] + SHUFFLE [RS_125] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_124] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6, _col7, _col8, _col4 + Merge Join Operator [MERGEJOIN_338] (rows=174243235 width=135) + Conds:RS_120._col1=RS_121._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_121] + PartitionCols:_col0 + Select Operator [SEL_116] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_314] (rows=80000000 width=860) + predicate:(c_customer_sk is not null and c_customer_id is not null) + Please refer to the previous TableScan [TS_6] + <-Reducer 27 [SIMPLE_EDGE] + SHUFFLE [RS_120] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_337] (rows=158402938 width=135) + Conds:RS_117._col0=RS_118._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_118] + PartitionCols:_col0 + Select Operator [SEL_113] (rows=18262 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_313] (rows=18262 width=1119) + predicate:((d_year) IN (2001, 2002) and (d_year = 2002) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 34 [SIMPLE_EDGE] + SHUFFLE [RS_117] + PartitionCols:_col0 + Select Operator [SEL_110] (rows=144002668 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_312] (rows=144002668 width=135) + predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null) + Please refer to the previous TableScan [TS_20] + <-Union 19 [SIMPLE_EDGE] + <-Reducer 18 [CONTAINS] + Reduce Output Operator [RS_177] + PartitionCols:_col0 + Select Operator [SEL_150] (rows=1 width=88) + Output:["_col0","_col1"] + Filter Operator [FIL_149] (rows=1 width=88) + predicate:false + Select Operator [SEL_326] (rows=348477374 width=88) + Output:["_col0","_col4"] + Group By Operator [GBY_148] (rows=348477374 width=88) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3 + <-Reducer 17 [SIMPLE_EDGE] + SHUFFLE [RS_147] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_146] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6, _col7, _col8, _col4 + Merge Join Operator [MERGEJOIN_340] (rows=696954748 width=88) + Conds:RS_142._col1=RS_143._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_143] + PartitionCols:_col0 + Select Operator [SEL_138] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_317] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 16 [SIMPLE_EDGE] + SHUFFLE [RS_142] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_339] (rows=633595212 width=88) + Conds:RS_139._col0=RS_140._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_140] + PartitionCols:_col0 + Select Operator [SEL_135] (rows=36525 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_316] (rows=36525 width=1119) + predicate:((d_year) IN (2001, 2002) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_139] + PartitionCols:_col0 + Select Operator [SEL_132] (rows=575995635 width=88) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_315] (rows=575995635 width=88) + predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null) + Please refer to the previous TableScan [TS_0] + <-Reducer 32 [CONTAINS] + Reduce Output Operator [RS_177] + PartitionCols:_col0 + Select Operator [SEL_171] (rows=29040539 width=135) + Output:["_col0","_col1"] + Filter Operator [FIL_170] (rows=29040539 width=135) + predicate:(_col4 > 0) + Select Operator [SEL_321] (rows=87121617 width=135) + Output:["_col0","_col4"] + Group By Operator [GBY_169] (rows=87121617 width=135) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3 + <-Reducer 31 [SIMPLE_EDGE] + SHUFFLE [RS_168] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_167] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6, _col7, _col8, _col4 + Merge Join Operator [MERGEJOIN_342] (rows=174243235 width=135) + Conds:RS_163._col1=RS_164._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_164] + PartitionCols:_col0 + Select Operator [SEL_159] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_320] (rows=80000000 width=860) + predicate:(c_customer_sk is not null and c_customer_id is not null) + Please refer to the previous TableScan [TS_6] + <-Reducer 30 [SIMPLE_EDGE] + SHUFFLE [RS_163] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_341] (rows=158402938 width=135) + Conds:RS_160._col0=RS_161._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_161] + PartitionCols:_col0 + Select Operator [SEL_156] (rows=18262 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_319] (rows=18262 width=1119) + predicate:((d_year) IN (2001, 2002) and (d_year = 2001) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 34 [SIMPLE_EDGE] + SHUFFLE [RS_160] + PartitionCols:_col0 + Select Operator [SEL_153] (rows=144002668 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_318] (rows=144002668 width=135) + predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null) + Please refer to the previous TableScan [TS_20] + <-Union 5 [SIMPLE_EDGE] + <-Reducer 23 [CONTAINS] + Reduce Output Operator [RS_174] + PartitionCols:_col0 + Select Operator [SEL_40] (rows=1 width=135) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_39] (rows=1 width=135) + predicate:false + Select Operator [SEL_322] (rows=87121617 width=135) + Output:["_col0","_col1","_col2","_col4"] + Group By Operator [GBY_38] (rows=87121617 width=135) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3 + <-Reducer 22 [SIMPLE_EDGE] + SHUFFLE [RS_37] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_36] (rows=174243235 width=135) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6, _col7, _col8, _col4 + Merge Join Operator [MERGEJOIN_330] (rows=174243235 width=135) + Conds:RS_32._col1=RS_33._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_33] + PartitionCols:_col0 + Select Operator [SEL_28] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_302] (rows=80000000 width=860) + predicate:c_customer_sk is not null + Please refer to the previous TableScan [TS_6] + <-Reducer 21 [SIMPLE_EDGE] + SHUFFLE [RS_32] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_329] (rows=158402938 width=135) + Conds:RS_29._col0=RS_30._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_30] + PartitionCols:_col0 + Select Operator [SEL_25] (rows=36525 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_301] (rows=36525 width=1119) + predicate:((d_year) IN (2001, 2002) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 34 [SIMPLE_EDGE] + SHUFFLE [RS_29] + PartitionCols:_col0 + Select Operator [SEL_22] (rows=144002668 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_300] (rows=144002668 width=135) + predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null) + Please refer to the previous TableScan [TS_20] + <-Reducer 4 [CONTAINS] + Reduce Output Operator [RS_174] + PartitionCols:_col0 + Select Operator [SEL_19] (rows=348477374 width=88) + Output:["_col0","_col1","_col2","_col3"] + Group By Operator [GBY_18] (rows=348477374 width=88) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3 + <-Reducer 3 [SIMPLE_EDGE] + SHUFFLE [RS_17] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_16] (rows=696954748 width=88) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6, _col7, _col8, _col4 + Merge Join Operator [MERGEJOIN_328] (rows=696954748 width=88) + Conds:RS_12._col1=RS_13._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_13] + PartitionCols:_col0 + Select Operator [SEL_8] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_299] (rows=80000000 width=860) + predicate:(c_customer_sk is not null and c_customer_id is not null) + Please refer to the previous TableScan [TS_6] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_12] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_327] (rows=633595212 width=88) + Conds:RS_9._col0=RS_10._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_10] + PartitionCols:_col0 + Select Operator [SEL_5] (rows=18262 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_298] (rows=18262 width=1119) + predicate:((d_year) IN (2001, 2002) and (d_year = 2002) and d_date_sk is not null) + Please refer to the previous TableScan [TS_3] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_9] + PartitionCols:_col0 + Select Operator [SEL_2] (rows=575995635 width=88) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_297] (rows=575995635 width=88) + predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null) + Please refer to the previous TableScan [TS_0] +