Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 3350C200C89 for ; Sat, 3 Jun 2017 22:09:28 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 27279160BDE; Sat, 3 Jun 2017 20:09:28 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id A473F160BB5 for ; Sat, 3 Jun 2017 22:09:26 +0200 (CEST) Received: (qmail 92560 invoked by uid 500); 3 Jun 2017 20:09:25 -0000 Mailing-List: contact commits-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hive-dev@hive.apache.org Delivered-To: mailing list commits@hive.apache.org Received: (qmail 92530 invoked by uid 99); 3 Jun 2017 20:09:23 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 03 Jun 2017 20:09:23 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 9ACB1E024D; Sat, 3 Jun 2017 20:09:23 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: hashutosh@apache.org To: commits@hive.apache.org Date: Sat, 03 Jun 2017 20:09:23 -0000 Message-Id: <7dad62cfeabc44dd96fedb8376e3ef87@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/3] hive git commit: HIVE-16775 : Fix HiveFilterAggregateTransposeRule when filter is always false (Pengcheng Xiong via Jesus Camacho Rodriguez) archived-at: Sat, 03 Jun 2017 20:09:28 -0000 Repository: hive Updated Branches: refs/heads/master 9a6916960 -> b754cb7dc http://git-wip-us.apache.org/repos/asf/hive/blob/b754cb7d/ql/src/test/results/clientpositive/perf/query74.q.out ---------------------------------------------------------------------- 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 0000000..bb4a71e --- /dev/null +++ b/ql/src/test/results/clientpositive/perf/query74.q.out @@ -0,0 +1,529 @@ +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 ((_col1 > 0)) THEN (CASE WHEN ((_col3 > 0)) THEN (((_col5 / _col3) > (_col9 / _col1))) ELSE ((null > (_col9 / _col1))) END) ELSE (CASE WHEN ((_col3 > 0)) THEN (((_col5 / _col3) > null)) ELSE (null) END) END + Merge Join Operator [MERGEJOIN_339] (rows=1149975362 width=88) + Conds:Union 5._col0=Union 11._col0(Inner),Union 5._col0=Union 15._col0(Inner),Union 5._col0=Union 19._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8","_col9"] + <-Union 11 [SIMPLE_EDGE] + <-Reducer 10 [CONTAINS] + Reduce Output Operator [RS_175] + PartitionCols:_col0 + Select Operator [SEL_63] (rows=1 width=105) + Output:["_col0","_col1"] + Group By Operator [GBY_62] (rows=1 width=105) + 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_61] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_60] (rows=1 width=105) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6, _col4, _col7, _col8 + Merge Join Operator [MERGEJOIN_328] (rows=1 width=105) + Conds:RS_56._col1=RS_57._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_57] + PartitionCols:_col0 + Select Operator [SEL_52] (rows=1 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_305] (rows=1 width=860) + predicate:false + 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_56] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_327] (rows=1 width=96) + Conds:RS_53._col0=RS_54._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_54] + PartitionCols:_col0 + Select Operator [SEL_49] (rows=1 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_304] (rows=1 width=1119) + predicate:false + 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_53] + PartitionCols:_col0 + Select Operator [SEL_46] (rows=1 width=88) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_303] (rows=1 width=88) + predicate:false + 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_85] (rows=29040539 width=135) + Output:["_col0","_col1"] + Filter Operator [FIL_84] (rows=29040539 width=135) + predicate:(_col4 > 0) + Select Operator [SEL_321] (rows=87121617 width=135) + Output:["_col0","_col4"] + Group By Operator [GBY_83] (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_82] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_81] (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_77._col1=RS_78._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_78] + PartitionCols:_col0 + Select Operator [SEL_73] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_308] (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 24 [SIMPLE_EDGE] + SHUFFLE [RS_77] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_329] (rows=158402938 width=135) + Conds:RS_74._col0=RS_75._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_75] + PartitionCols:_col0 + Select Operator [SEL_70] (rows=18262 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_307] (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_74] + PartitionCols:_col0 + Select Operator [SEL_67] (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_21] (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=105) + Output:["_col0","_col1"] + Group By Operator [GBY_106] (rows=1 width=105) + 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_105] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_104] (rows=1 width=105) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6, _col4, _col7, _col8 + Merge Join Operator [MERGEJOIN_332] (rows=1 width=105) + Conds:RS_100._col1=RS_101._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_101] + PartitionCols:_col0 + Select Operator [SEL_96] (rows=1 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_311] (rows=1 width=860) + predicate:false + Please refer to the previous TableScan [TS_6] + <-Reducer 12 [SIMPLE_EDGE] + SHUFFLE [RS_100] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_331] (rows=1 width=96) + Conds:RS_97._col0=RS_98._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_98] + PartitionCols:_col0 + Select Operator [SEL_93] (rows=1 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_310] (rows=1 width=1119) + predicate:false + Please refer to the previous TableScan [TS_3] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_97] + PartitionCols:_col0 + Select Operator [SEL_90] (rows=1 width=88) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_309] (rows=1 width=88) + predicate:false + Please refer to the previous TableScan [TS_0] + <-Reducer 29 [CONTAINS] + Reduce Output Operator [RS_176] + PartitionCols:_col0 + Select Operator [SEL_128] (rows=87121617 width=135) + Output:["_col0","_col1"] + Group By Operator [GBY_127] (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_126] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_125] (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_121._col1=RS_122._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_122] + PartitionCols:_col0 + Select Operator [SEL_117] (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_121] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_333] (rows=158402938 width=135) + Conds:RS_118._col0=RS_119._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_119] + PartitionCols:_col0 + Select Operator [SEL_114] (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_118] + PartitionCols:_col0 + Select Operator [SEL_111] (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_21] + <-Union 19 [SIMPLE_EDGE] + <-Reducer 18 [CONTAINS] + Reduce Output Operator [RS_177] + PartitionCols:_col0 + Select Operator [SEL_150] (rows=348477374 width=88) + Output:["_col0","_col1","_col2","_col3"] + Group By Operator [GBY_149] (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_148] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_147] (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_143._col1=RS_144._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_144] + PartitionCols:_col0 + Select Operator [SEL_139] (rows=80000000 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_317] (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 16 [SIMPLE_EDGE] + SHUFFLE [RS_143] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_335] (rows=633595212 width=88) + Conds:RS_140._col0=RS_141._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_141] + PartitionCols:_col0 + Select Operator [SEL_136] (rows=18262 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_316] (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_140] + PartitionCols:_col0 + Select Operator [SEL_133] (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_170] (rows=1 width=162) + Output:["_col0","_col1","_col2","_col3"] + Group By Operator [GBY_169] (rows=1 width=162) + 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=1 width=162) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6, _col4, _col7, _col8 + Merge Join Operator [MERGEJOIN_338] (rows=1 width=162) + 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=1 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_320] (rows=1 width=860) + predicate:false + Please refer to the previous TableScan [TS_6] + <-Reducer 30 [SIMPLE_EDGE] + SHUFFLE [RS_163] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_337] (rows=1 width=148) + 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=1 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_319] (rows=1 width=1119) + predicate:false + Please refer to the previous TableScan [TS_3] + <-Map 34 [SIMPLE_EDGE] + SHUFFLE [RS_160] + PartitionCols:_col0 + Select Operator [SEL_153] (rows=1 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_318] (rows=1 width=135) + predicate:false + Please refer to the previous TableScan [TS_21] + <-Union 5 [SIMPLE_EDGE] + <-Reducer 23 [CONTAINS] + Reduce Output Operator [RS_174] + PartitionCols:_col0 + Select Operator [SEL_40] (rows=1 width=162) + Output:["_col0","_col1"] + Group By Operator [GBY_39] (rows=1 width=162) + 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_38] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_37] (rows=1 width=162) + Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6, _col4, _col7, _col8 + Merge Join Operator [MERGEJOIN_326] (rows=1 width=162) + Conds:RS_33._col1=RS_34._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_34] + PartitionCols:_col0 + Select Operator [SEL_29] (rows=1 width=860) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_302] (rows=1 width=860) + predicate:false + Please refer to the previous TableScan [TS_6] + <-Reducer 21 [SIMPLE_EDGE] + SHUFFLE [RS_33] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_325] (rows=1 width=148) + Conds:RS_30._col0=RS_31._col0(Inner),Output:["_col1","_col2","_col4"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_31] + PartitionCols:_col0 + Select Operator [SEL_26] (rows=1 width=1119) + Output:["_col0","_col1"] + Filter Operator [FIL_301] (rows=1 width=1119) + predicate:false + Please refer to the previous TableScan [TS_3] + <-Map 34 [SIMPLE_EDGE] + SHUFFLE [RS_30] + PartitionCols:_col0 + Select Operator [SEL_23] (rows=1 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_300] (rows=1 width=135) + predicate:false + Please refer to the previous TableScan [TS_21] + <-Reducer 4 [CONTAINS] + Reduce Output Operator [RS_174] + PartitionCols:_col0 + Select Operator [SEL_20] (rows=116159124 width=88) + Output:["_col0","_col1"] + Filter Operator [FIL_19] (rows=116159124 width=88) + predicate:(_col4 > 0) + Select Operator [SEL_322] (rows=348477374 width=88) + Output:["_col0","_col4"] + 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_324] (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_323] (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 = 2001) 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] +