Repository: hive Updated Branches: refs/heads/master 28a2efd0c -> fa24d4b9b
HIVE-16317 CASE .. NULL in JOIN condition can trigger SemanticException (Remus Rusanu, reviewed by Ashutosh Chauhan) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/fa24d4b9 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/fa24d4b9 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/fa24d4b9 Branch: refs/heads/master Commit: fa24d4b9b99b5e81b65d781f379679dcf916e2e2 Parents: 28a2efd Author: Remus Rusanu <rem...@apache.org> Authored: Thu Apr 20 03:28:24 2017 -0700 Committer: Remus Rusanu <rem...@apache.org> Committed: Thu Apr 20 03:28:24 2017 -0700 ---------------------------------------------------------------------- .../hadoop/hive/ql/parse/SemanticAnalyzer.java | 1 + .../results/clientpositive/perf/query31.q.out | 526 ++++++++++--------- 2 files changed, 267 insertions(+), 260 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/fa24d4b9/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java index 77fc35d..b5a5645 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -2571,6 +2571,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer { } unparseTranslator.addIdentifierTranslation(condn); break; + case HiveParser.TOK_NULL: case HiveParser.Number: case HiveParser.StringLiteral: case HiveParser.IntegralLiteral: http://git-wip-us.apache.org/repos/asf/hive/blob/fa24d4b9/ql/src/test/results/clientpositive/perf/query31.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/perf/query31.q.out b/ql/src/test/results/clientpositive/perf/query31.q.out index 4de6eb6..3ed312d 100644 --- a/ql/src/test/results/clientpositive/perf/query31.q.out +++ b/ql/src/test/results/clientpositive/perf/query31.q.out @@ -2,7 +2,7 @@ PREHOOK: query: explain with ss as (select ca_county,d_qoy, d_year,sum(ss_ext_sa PREHOOK: type: QUERY POSTHOOK: query: explain with ss as (select ca_county,d_qoy, d_year,sum(ss_ext_sales_price) as store_sales from store_sales,date_dim,customer_address where ss_sold_date_sk = d_date_sk and ss_addr_sk=ca_address_sk group by ca_county,d_qoy, d_year), ws as (select ca_county,d_qoy, d_year,sum(ws_ext_sales_price) as web_sales from web_sales,date_dim,customer_address where ws_sold_date_sk = d_date_sk and ws_bill_addr_sk=ca_address_sk group by ca_county,d_qoy, d_year) select ss1.ca_county ,ss1.d_year ,ws2.web_sales/ws1.web_sales web_q1_q2_increase ,ss2.store_sales/ss1.store_sales store_q1_q2_increase ,ws3.web_sales/ws2.web_sales web_q2_q3_increase ,ss3.store_sales/ss2.store_sales store_q2_q3_increase from ss ss1 ,ss ss2 ,ss ss3 ,ws ws1 ,ws ws2 ,ws ws3 where ss1.d_qoy = 1 and ss1.d_year = 1998 and ss1.ca_county = ss2.ca_county and ss2.d_qoy = 2 and ss2.d_year = 1998 and ss2.ca_county = ss3.ca_county and ss3.d_qoy = 3 and ss3.d_year = 1998 and ss1.ca_county = ws1.ca_county and ws1.d_qoy = 1 and ws1.d_year = 1998 and ws1.ca_county = ws2.ca_county and ws2.d_qoy = 2 and ws2.d_year = 1998 and ws1.ca_county = ws3.ca_county and ws3.d_qoy = 3 and ws3.d_year =1998 and case when ws1.web_sales > 0 then ws2.web_sales/ws1.web_sales else null end > case when ss1.store_sales > 0 then ss2.store_sales/ss1.store_sales else null end and case when ws2.web_sales > 0 then ws3.web_sales/ws2.web_sales else null end > case when ss2.store_sales > 0 then ss3.store_sales/ss2.store_sales else null end order by web_q1_q2_increase POSTHOOK: type: QUERY -Plan not optimized by CBO. +Plan optimized by CBO. Vertex dependency in root stage Reducer 10 <- Map 13 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE) @@ -12,18 +12,19 @@ Reducer 16 <- Map 15 (SIMPLE_EDGE), Map 19 (SIMPLE_EDGE) Reducer 17 <- Map 20 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE) Reducer 18 <- Reducer 17 (SIMPLE_EDGE) Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE) -Reducer 22 <- Map 21 (SIMPLE_EDGE), Map 25 (SIMPLE_EDGE) -Reducer 23 <- Map 26 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE) +Reducer 22 <- Map 21 (SIMPLE_EDGE), Map 26 (SIMPLE_EDGE) +Reducer 23 <- Map 27 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE) Reducer 24 <- Reducer 23 (SIMPLE_EDGE) -Reducer 28 <- Map 27 (SIMPLE_EDGE), Map 31 (SIMPLE_EDGE) -Reducer 29 <- Map 32 (SIMPLE_EDGE), Reducer 28 (SIMPLE_EDGE) +Reducer 25 <- Reducer 24 (SIMPLE_EDGE), Reducer 31 (SIMPLE_EDGE), Reducer 37 (SIMPLE_EDGE) +Reducer 29 <- Map 28 (SIMPLE_EDGE), Map 32 (SIMPLE_EDGE) Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) -Reducer 30 <- Reducer 29 (SIMPLE_EDGE) -Reducer 34 <- Map 33 (SIMPLE_EDGE), Map 37 (SIMPLE_EDGE) -Reducer 35 <- Map 38 (SIMPLE_EDGE), Reducer 34 (SIMPLE_EDGE) -Reducer 36 <- Reducer 35 (SIMPLE_EDGE) +Reducer 30 <- Map 33 (SIMPLE_EDGE), Reducer 29 (SIMPLE_EDGE) +Reducer 31 <- Reducer 30 (SIMPLE_EDGE) +Reducer 35 <- Map 34 (SIMPLE_EDGE), Map 38 (SIMPLE_EDGE) +Reducer 36 <- Map 39 (SIMPLE_EDGE), Reducer 35 (SIMPLE_EDGE) +Reducer 37 <- Reducer 36 (SIMPLE_EDGE) Reducer 4 <- Reducer 3 (SIMPLE_EDGE) -Reducer 5 <- Reducer 12 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE), Reducer 30 (SIMPLE_EDGE), Reducer 36 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) +Reducer 5 <- Reducer 12 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE), Reducer 25 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) Reducer 6 <- Reducer 5 (SIMPLE_EDGE) Stage-0 @@ -31,279 +32,284 @@ Stage-0 limit:-1 Stage-1 Reducer 6 - File Output Operator [FS_256] - Select Operator [SEL_255] (rows=1663737 width=88) + File Output Operator [FS_135] + Select Operator [SEL_134] (rows=287493839 width=88) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_254] - Select Operator [SEL_253] (rows=1663737 width=88) + SHUFFLE [RS_133] + Select Operator [SEL_132] (rows=287493839 width=88) Output:["_col0","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_377] (rows=1663737 width=88) - predicate:((_col0 = _col4) and (_col0 = _col12) and (CASE WHEN ((_col15 > 0)) THEN ((_col19 / _col15)) ELSE (null) END > CASE WHEN ((_col3 > 0)) THEN ((_col7 / _col3)) ELSE (null) END) and (CASE WHEN ((_col19 > 0)) THEN ((_col23 / _col19)) ELSE (null) END > CASE WHEN ((_col7 > 0)) THEN ((_col11 / _col7)) ELSE (null) END) and (_col4 = _col8) and (_col12 = _col16) and (_col12 = _col20)) - Merge Join Operator [MERGEJOIN_414] (rows=479156396 width=88) - Conds:RS_240._col0=RS_242._col0(Inner),RS_242._col0=RS_244._col0(Inner),RS_240._col0=RS_246._col0(Inner),RS_246._col0=RS_248._col0(Inner),RS_246._col0=RS_250._col0(Inner),Output:["_col0","_col3","_col4","_col7","_col8","_col11","_col12","_col15","_col16","_col19","_col20","_col23"] + Filter Operator [FIL_130] (rows=287493839 width=88) + predicate:(CASE WHEN ((_col1 > 0)) THEN (CASE WHEN ((_col9 > 0)) THEN (((_col11 / _col9) > (_col5 / _col1))) ELSE ((null > (_col5 / _col1))) END) ELSE (CASE WHEN ((_col9 > 0)) THEN (((_col11 / _col9) > null)) ELSE (null) END) END and CASE WHEN ((_col3 > 0)) THEN (CASE WHEN ((_col7 > 0)) THEN (((_col9 / _col7) > (_col1 / _col3))) ELSE ((null > (_col1 / _col3))) END) ELSE (CASE WHEN ((_col7 > 0)) THEN (((_col9 / _col7) > null)) ELSE (null) END) END) + Merge Join Operator [MERGEJOIN_269] (rows=1149975359 width=88) + Conds:RS_125._col0=RS_126._col0(Inner),RS_125._col0=RS_127._col0(Inner),RS_125._col0=RS_128._col0(Inner),Output:["_col0","_col1","_col3","_col5","_col7","_col9","_col11"] <-Reducer 12 [SIMPLE_EDGE] - SHUFFLE [RS_242] + SHUFFLE [RS_126] PartitionCols:_col0 - Select Operator [SEL_162] (rows=87119343 width=88) - Output:["_col0","_col3"] - Group By Operator [GBY_161] (rows=87119343 width=88) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, 2, 1998 - <-Reducer 11 [SIMPLE_EDGE] - SHUFFLE [RS_160] - PartitionCols:_col0, 2, 1998 - Group By Operator [GBY_159] (rows=174238687 width=88) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col15)"],keys:_col64, 2, 1998 - Select Operator [SEL_158] (rows=174238687 width=88) - Output:["_col15","_col64"] - Filter Operator [FIL_382] (rows=174238687 width=88) - predicate:((_col0 = _col26) and (_col6 = _col57)) - Merge Join Operator [MERGEJOIN_405] (rows=696954748 width=88) - Conds:RS_153._col6=RS_155.ca_address_sk(Inner),Output:["_col0","_col6","_col15","_col26","_col57","_col64"] - <-Map 14 [SIMPLE_EDGE] - SHUFFLE [RS_155] - PartitionCols:ca_address_sk - Filter Operator [FIL_385] (rows=40000000 width=1014) - predicate:(ca_address_sk is not null and ca_county is not null) - TableScan [TS_146] (rows=40000000 width=1014) - default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county"] - <-Reducer 10 [SIMPLE_EDGE] - SHUFFLE [RS_153] - PartitionCols:_col6 - Merge Join Operator [MERGEJOIN_404] (rows=633595212 width=88) - Conds:RS_148.ss_sold_date_sk=RS_150.d_date_sk(Inner),Output:["_col0","_col6","_col15","_col26"] - <-Map 13 [SIMPLE_EDGE] - SHUFFLE [RS_150] - PartitionCols:d_date_sk - Filter Operator [FIL_384] (rows=18262 width=1119) - predicate:(d_date_sk is not null and (d_qoy = 2) and (d_year = 1998)) - TableScan [TS_145] (rows=73049 width=1119) - default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"] - <-Map 9 [SIMPLE_EDGE] - SHUFFLE [RS_148] - PartitionCols:ss_sold_date_sk - Filter Operator [FIL_383] (rows=575995635 width=88) - predicate:(ss_sold_date_sk is not null and ss_addr_sk is not null) - TableScan [TS_144] (rows=575995635 width=88) - default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"] + Group By Operator [GBY_38] (rows=348477374 width=88) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 + <-Reducer 11 [SIMPLE_EDGE] + SHUFFLE [RS_37] + PartitionCols:_col0 + Group By Operator [GBY_36] (rows=696954748 width=88) + Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7 + Merge Join Operator [MERGEJOIN_259] (rows=696954748 width=88) + Conds:RS_32._col1=RS_33._col0(Inner),Output:["_col2","_col7"] + <-Map 14 [SIMPLE_EDGE] + SHUFFLE [RS_33] + PartitionCols:_col0 + Select Operator [SEL_28] (rows=40000000 width=1014) + Output:["_col0","_col1"] + Filter Operator [FIL_243] (rows=40000000 width=1014) + predicate:(ca_address_sk is not null and ca_county is not null) + TableScan [TS_26] (rows=40000000 width=1014) + default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county"] + <-Reducer 10 [SIMPLE_EDGE] + SHUFFLE [RS_32] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_258] (rows=633595212 width=88) + Conds:RS_29._col0=RS_30._col0(Inner),Output:["_col1","_col2"] + <-Map 13 [SIMPLE_EDGE] + SHUFFLE [RS_30] + PartitionCols:_col0 + Select Operator [SEL_25] (rows=18262 width=1119) + Output:["_col0"] + Filter Operator [FIL_242] (rows=18262 width=1119) + predicate:((d_qoy = 1) and (d_year = 1998) and d_date_sk is not null) + TableScan [TS_23] (rows=73049 width=1119) + default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"] + <-Map 9 [SIMPLE_EDGE] + SHUFFLE [RS_29] + PartitionCols:_col0 + Select Operator [SEL_22] (rows=575995635 width=88) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_241] (rows=575995635 width=88) + predicate:(ss_sold_date_sk is not null and ss_addr_sk is not null) + TableScan [TS_20] (rows=575995635 width=88) + default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"] <-Reducer 18 [SIMPLE_EDGE] - SHUFFLE [RS_244] + SHUFFLE [RS_127] PartitionCols:_col0 - Select Operator [SEL_181] (rows=87119343 width=88) - Output:["_col0","_col3"] - Group By Operator [GBY_180] (rows=87119343 width=88) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, 3, 1998 - <-Reducer 17 [SIMPLE_EDGE] - SHUFFLE [RS_179] - PartitionCols:_col0, 3, 1998 - Group By Operator [GBY_178] (rows=174238687 width=88) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col15)"],keys:_col64, 3, 1998 - Select Operator [SEL_177] (rows=174238687 width=88) - Output:["_col15","_col64"] - Filter Operator [FIL_386] (rows=174238687 width=88) - predicate:((_col0 = _col26) and (_col6 = _col57)) - Merge Join Operator [MERGEJOIN_407] (rows=696954748 width=88) - Conds:RS_172._col6=RS_174.ca_address_sk(Inner),Output:["_col0","_col6","_col15","_col26","_col57","_col64"] - <-Map 20 [SIMPLE_EDGE] - SHUFFLE [RS_174] - PartitionCols:ca_address_sk - Filter Operator [FIL_389] (rows=40000000 width=1014) - predicate:(ca_address_sk is not null and ca_county is not null) - TableScan [TS_165] (rows=40000000 width=1014) - default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county"] - <-Reducer 16 [SIMPLE_EDGE] - SHUFFLE [RS_172] - PartitionCols:_col6 - Merge Join Operator [MERGEJOIN_406] (rows=633595212 width=88) - Conds:RS_167.ss_sold_date_sk=RS_169.d_date_sk(Inner),Output:["_col0","_col6","_col15","_col26"] - <-Map 15 [SIMPLE_EDGE] - SHUFFLE [RS_167] - PartitionCols:ss_sold_date_sk - Filter Operator [FIL_387] (rows=575995635 width=88) - predicate:(ss_sold_date_sk is not null and ss_addr_sk is not null) - TableScan [TS_163] (rows=575995635 width=88) - default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"] - <-Map 19 [SIMPLE_EDGE] - SHUFFLE [RS_169] - PartitionCols:d_date_sk - Filter Operator [FIL_388] (rows=18262 width=1119) - predicate:(d_date_sk is not null and (d_qoy = 3) and (d_year = 1998)) - TableScan [TS_164] (rows=73049 width=1119) - default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"] - <-Reducer 24 [SIMPLE_EDGE] - SHUFFLE [RS_246] + Group By Operator [GBY_58] (rows=348477374 width=88) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 + <-Reducer 17 [SIMPLE_EDGE] + SHUFFLE [RS_57] + PartitionCols:_col0 + Group By Operator [GBY_56] (rows=696954748 width=88) + Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7 + Merge Join Operator [MERGEJOIN_261] (rows=696954748 width=88) + Conds:RS_52._col1=RS_53._col0(Inner),Output:["_col2","_col7"] + <-Map 20 [SIMPLE_EDGE] + SHUFFLE [RS_53] + PartitionCols:_col0 + Select Operator [SEL_48] (rows=40000000 width=1014) + Output:["_col0","_col1"] + Filter Operator [FIL_246] (rows=40000000 width=1014) + predicate:(ca_address_sk is not null and ca_county is not null) + TableScan [TS_46] (rows=40000000 width=1014) + default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county"] + <-Reducer 16 [SIMPLE_EDGE] + SHUFFLE [RS_52] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_260] (rows=633595212 width=88) + Conds:RS_49._col0=RS_50._col0(Inner),Output:["_col1","_col2"] + <-Map 15 [SIMPLE_EDGE] + SHUFFLE [RS_49] + PartitionCols:_col0 + Select Operator [SEL_42] (rows=575995635 width=88) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_244] (rows=575995635 width=88) + predicate:(ss_sold_date_sk is not null and ss_addr_sk is not null) + TableScan [TS_40] (rows=575995635 width=88) + default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"] + <-Map 19 [SIMPLE_EDGE] + SHUFFLE [RS_50] + PartitionCols:_col0 + Select Operator [SEL_45] (rows=18262 width=1119) + Output:["_col0"] + Filter Operator [FIL_245] (rows=18262 width=1119) + predicate:((d_qoy = 3) and (d_year = 1998) and d_date_sk is not null) + TableScan [TS_43] (rows=73049 width=1119) + default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"] + <-Reducer 25 [SIMPLE_EDGE] + SHUFFLE [RS_128] PartitionCols:_col0 - Select Operator [SEL_200] (rows=21780404 width=135) - Output:["_col0","_col3"] - Group By Operator [GBY_199] (rows=21780404 width=135) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, 1, 1998 - <-Reducer 23 [SIMPLE_EDGE] - SHUFFLE [RS_198] - PartitionCols:_col0, 1, 1998 - Group By Operator [GBY_197] (rows=43560808 width=135) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col23)"],keys:_col75, 1, 1998 - Select Operator [SEL_196] (rows=43560808 width=135) - Output:["_col23","_col75"] - Filter Operator [FIL_390] (rows=43560808 width=135) - predicate:((_col0 = _col37) and (_col7 = _col68)) - Merge Join Operator [MERGEJOIN_409] (rows=174243235 width=135) - Conds:RS_191._col7=RS_193.ca_address_sk(Inner),Output:["_col0","_col7","_col23","_col37","_col68","_col75"] - <-Map 26 [SIMPLE_EDGE] - SHUFFLE [RS_193] - PartitionCols:ca_address_sk - Filter Operator [FIL_393] (rows=40000000 width=1014) + Merge Join Operator [MERGEJOIN_268] (rows=191667561 width=135) + Conds:RS_120._col0=RS_121._col0(Inner),RS_120._col0=RS_122._col0(Inner),Output:["_col0","_col1","_col3","_col5"] + <-Reducer 24 [SIMPLE_EDGE] + SHUFFLE [RS_120] + PartitionCols:_col0 + Group By Operator [GBY_78] (rows=87121617 width=135) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 + <-Reducer 23 [SIMPLE_EDGE] + SHUFFLE [RS_77] + PartitionCols:_col0 + Group By Operator [GBY_76] (rows=174243235 width=135) + Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7 + Merge Join Operator [MERGEJOIN_263] (rows=174243235 width=135) + Conds:RS_72._col1=RS_73._col0(Inner),Output:["_col2","_col7"] + <-Map 27 [SIMPLE_EDGE] + SHUFFLE [RS_73] + PartitionCols:_col0 + Select Operator [SEL_68] (rows=40000000 width=1014) + Output:["_col0","_col1"] + Filter Operator [FIL_249] (rows=40000000 width=1014) predicate:(ca_address_sk is not null and ca_county is not null) - TableScan [TS_184] (rows=40000000 width=1014) + TableScan [TS_66] (rows=40000000 width=1014) default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county"] - <-Reducer 22 [SIMPLE_EDGE] - SHUFFLE [RS_191] - PartitionCols:_col7 - Merge Join Operator [MERGEJOIN_408] (rows=158402938 width=135) - Conds:RS_186.ws_sold_date_sk=RS_188.d_date_sk(Inner),Output:["_col0","_col7","_col23","_col37"] - <-Map 21 [SIMPLE_EDGE] - SHUFFLE [RS_186] - PartitionCols:ws_sold_date_sk - Filter Operator [FIL_391] (rows=144002668 width=135) + <-Reducer 22 [SIMPLE_EDGE] + SHUFFLE [RS_72] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_262] (rows=158402938 width=135) + Conds:RS_69._col0=RS_70._col0(Inner),Output:["_col1","_col2"] + <-Map 21 [SIMPLE_EDGE] + SHUFFLE [RS_69] + PartitionCols:_col0 + Select Operator [SEL_62] (rows=144002668 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_247] (rows=144002668 width=135) predicate:(ws_sold_date_sk is not null and ws_bill_addr_sk is not null) - TableScan [TS_182] (rows=144002668 width=135) + TableScan [TS_60] (rows=144002668 width=135) default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"] - <-Map 25 [SIMPLE_EDGE] - SHUFFLE [RS_188] - PartitionCols:d_date_sk - Filter Operator [FIL_392] (rows=18262 width=1119) - predicate:(d_date_sk is not null and (d_qoy = 1) and (d_year = 1998)) - TableScan [TS_183] (rows=73049 width=1119) + <-Map 26 [SIMPLE_EDGE] + SHUFFLE [RS_70] + PartitionCols:_col0 + Select Operator [SEL_65] (rows=18262 width=1119) + Output:["_col0"] + Filter Operator [FIL_248] (rows=18262 width=1119) + predicate:((d_qoy = 1) and (d_year = 1998) and d_date_sk is not null) + TableScan [TS_63] (rows=73049 width=1119) default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"] - <-Reducer 30 [SIMPLE_EDGE] - SHUFFLE [RS_248] - PartitionCols:_col0 - Select Operator [SEL_219] (rows=21780404 width=135) - Output:["_col0","_col3"] - Group By Operator [GBY_218] (rows=21780404 width=135) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, 2, 1998 - <-Reducer 29 [SIMPLE_EDGE] - SHUFFLE [RS_217] - PartitionCols:_col0, 2, 1998 - Group By Operator [GBY_216] (rows=43560808 width=135) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col23)"],keys:_col75, 2, 1998 - Select Operator [SEL_215] (rows=43560808 width=135) - Output:["_col23","_col75"] - Filter Operator [FIL_394] (rows=43560808 width=135) - predicate:((_col0 = _col37) and (_col7 = _col68)) - Merge Join Operator [MERGEJOIN_411] (rows=174243235 width=135) - Conds:RS_210._col7=RS_212.ca_address_sk(Inner),Output:["_col0","_col7","_col23","_col37","_col68","_col75"] - <-Map 32 [SIMPLE_EDGE] - SHUFFLE [RS_212] - PartitionCols:ca_address_sk - Filter Operator [FIL_397] (rows=40000000 width=1014) + <-Reducer 31 [SIMPLE_EDGE] + SHUFFLE [RS_121] + PartitionCols:_col0 + Group By Operator [GBY_98] (rows=87121617 width=135) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 + <-Reducer 30 [SIMPLE_EDGE] + SHUFFLE [RS_97] + PartitionCols:_col0 + Group By Operator [GBY_96] (rows=174243235 width=135) + Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7 + Merge Join Operator [MERGEJOIN_265] (rows=174243235 width=135) + Conds:RS_92._col1=RS_93._col0(Inner),Output:["_col2","_col7"] + <-Map 33 [SIMPLE_EDGE] + SHUFFLE [RS_93] + PartitionCols:_col0 + Select Operator [SEL_88] (rows=40000000 width=1014) + Output:["_col0","_col1"] + Filter Operator [FIL_252] (rows=40000000 width=1014) predicate:(ca_address_sk is not null and ca_county is not null) - TableScan [TS_203] (rows=40000000 width=1014) + TableScan [TS_86] (rows=40000000 width=1014) default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county"] - <-Reducer 28 [SIMPLE_EDGE] - SHUFFLE [RS_210] - PartitionCols:_col7 - Merge Join Operator [MERGEJOIN_410] (rows=158402938 width=135) - Conds:RS_205.ws_sold_date_sk=RS_207.d_date_sk(Inner),Output:["_col0","_col7","_col23","_col37"] - <-Map 27 [SIMPLE_EDGE] - SHUFFLE [RS_205] - PartitionCols:ws_sold_date_sk - Filter Operator [FIL_395] (rows=144002668 width=135) + <-Reducer 29 [SIMPLE_EDGE] + SHUFFLE [RS_92] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_264] (rows=158402938 width=135) + Conds:RS_89._col0=RS_90._col0(Inner),Output:["_col1","_col2"] + <-Map 28 [SIMPLE_EDGE] + SHUFFLE [RS_89] + PartitionCols:_col0 + Select Operator [SEL_82] (rows=144002668 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_250] (rows=144002668 width=135) predicate:(ws_sold_date_sk is not null and ws_bill_addr_sk is not null) - TableScan [TS_201] (rows=144002668 width=135) + TableScan [TS_80] (rows=144002668 width=135) default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"] - <-Map 31 [SIMPLE_EDGE] - SHUFFLE [RS_207] - PartitionCols:d_date_sk - Filter Operator [FIL_396] (rows=18262 width=1119) - predicate:(d_date_sk is not null and (d_qoy = 2) and (d_year = 1998)) - TableScan [TS_202] (rows=73049 width=1119) + <-Map 32 [SIMPLE_EDGE] + SHUFFLE [RS_90] + PartitionCols:_col0 + Select Operator [SEL_85] (rows=18262 width=1119) + Output:["_col0"] + Filter Operator [FIL_251] (rows=18262 width=1119) + predicate:((d_qoy = 2) and (d_year = 1998) and d_date_sk is not null) + TableScan [TS_83] (rows=73049 width=1119) default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"] - <-Reducer 36 [SIMPLE_EDGE] - SHUFFLE [RS_250] - PartitionCols:_col0 - Select Operator [SEL_238] (rows=21780404 width=135) - Output:["_col0","_col3"] - Group By Operator [GBY_237] (rows=21780404 width=135) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, 3, 1998 - <-Reducer 35 [SIMPLE_EDGE] - SHUFFLE [RS_236] - PartitionCols:_col0, 3, 1998 - Group By Operator [GBY_235] (rows=43560808 width=135) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col23)"],keys:_col75, 3, 1998 - Select Operator [SEL_234] (rows=43560808 width=135) - Output:["_col23","_col75"] - Filter Operator [FIL_398] (rows=43560808 width=135) - predicate:((_col0 = _col37) and (_col7 = _col68)) - Merge Join Operator [MERGEJOIN_413] (rows=174243235 width=135) - Conds:RS_229._col7=RS_231.ca_address_sk(Inner),Output:["_col0","_col7","_col23","_col37","_col68","_col75"] - <-Map 38 [SIMPLE_EDGE] - SHUFFLE [RS_231] - PartitionCols:ca_address_sk - Filter Operator [FIL_401] (rows=40000000 width=1014) + <-Reducer 37 [SIMPLE_EDGE] + SHUFFLE [RS_122] + PartitionCols:_col0 + Group By Operator [GBY_118] (rows=87121617 width=135) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 + <-Reducer 36 [SIMPLE_EDGE] + SHUFFLE [RS_117] + PartitionCols:_col0 + Group By Operator [GBY_116] (rows=174243235 width=135) + Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7 + Merge Join Operator [MERGEJOIN_267] (rows=174243235 width=135) + Conds:RS_112._col1=RS_113._col0(Inner),Output:["_col2","_col7"] + <-Map 39 [SIMPLE_EDGE] + SHUFFLE [RS_113] + PartitionCols:_col0 + Select Operator [SEL_108] (rows=40000000 width=1014) + Output:["_col0","_col1"] + Filter Operator [FIL_255] (rows=40000000 width=1014) predicate:(ca_address_sk is not null and ca_county is not null) - TableScan [TS_222] (rows=40000000 width=1014) + TableScan [TS_106] (rows=40000000 width=1014) default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county"] - <-Reducer 34 [SIMPLE_EDGE] - SHUFFLE [RS_229] - PartitionCols:_col7 - Merge Join Operator [MERGEJOIN_412] (rows=158402938 width=135) - Conds:RS_224.ws_sold_date_sk=RS_226.d_date_sk(Inner),Output:["_col0","_col7","_col23","_col37"] - <-Map 33 [SIMPLE_EDGE] - SHUFFLE [RS_224] - PartitionCols:ws_sold_date_sk - Filter Operator [FIL_399] (rows=144002668 width=135) + <-Reducer 35 [SIMPLE_EDGE] + SHUFFLE [RS_112] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_266] (rows=158402938 width=135) + Conds:RS_109._col0=RS_110._col0(Inner),Output:["_col1","_col2"] + <-Map 34 [SIMPLE_EDGE] + SHUFFLE [RS_109] + PartitionCols:_col0 + Select Operator [SEL_102] (rows=144002668 width=135) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_253] (rows=144002668 width=135) predicate:(ws_sold_date_sk is not null and ws_bill_addr_sk is not null) - TableScan [TS_220] (rows=144002668 width=135) + TableScan [TS_100] (rows=144002668 width=135) default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"] - <-Map 37 [SIMPLE_EDGE] - SHUFFLE [RS_226] - PartitionCols:d_date_sk - Filter Operator [FIL_400] (rows=18262 width=1119) - predicate:(d_date_sk is not null and (d_qoy = 3) and (d_year = 1998)) - TableScan [TS_221] (rows=73049 width=1119) + <-Map 38 [SIMPLE_EDGE] + SHUFFLE [RS_110] + PartitionCols:_col0 + Select Operator [SEL_105] (rows=18262 width=1119) + Output:["_col0"] + Filter Operator [FIL_254] (rows=18262 width=1119) + predicate:((d_qoy = 3) and (d_year = 1998) and d_date_sk is not null) + TableScan [TS_103] (rows=73049 width=1119) default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"] <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_240] + SHUFFLE [RS_125] PartitionCols:_col0 - Select Operator [SEL_143] (rows=87119343 width=88) - Output:["_col0","_col3"] - Group By Operator [GBY_142] (rows=87119343 width=88) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, 1, 1998 - <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_141] - PartitionCols:_col0, 1, 1998 - Group By Operator [GBY_140] (rows=174238687 width=88) - Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col15)"],keys:_col64, 1, 1998 - Select Operator [SEL_139] (rows=174238687 width=88) - Output:["_col15","_col64"] - Filter Operator [FIL_378] (rows=174238687 width=88) - predicate:((_col0 = _col26) and (_col6 = _col57)) - Merge Join Operator [MERGEJOIN_403] (rows=696954748 width=88) - Conds:RS_134._col6=RS_136.ca_address_sk(Inner),Output:["_col0","_col6","_col15","_col26","_col57","_col64"] - <-Map 8 [SIMPLE_EDGE] - SHUFFLE [RS_136] - PartitionCols:ca_address_sk - Filter Operator [FIL_381] (rows=40000000 width=1014) - predicate:(ca_address_sk is not null and ca_county is not null) - TableScan [TS_127] (rows=40000000 width=1014) - default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county"] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_134] - PartitionCols:_col6 - Merge Join Operator [MERGEJOIN_402] (rows=633595212 width=88) - Conds:RS_129.ss_sold_date_sk=RS_131.d_date_sk(Inner),Output:["_col0","_col6","_col15","_col26"] - <-Map 1 [SIMPLE_EDGE] - SHUFFLE [RS_129] - PartitionCols:ss_sold_date_sk - Filter Operator [FIL_379] (rows=575995635 width=88) - predicate:(ss_sold_date_sk is not null and ss_addr_sk is not null) - TableScan [TS_125] (rows=575995635 width=88) - default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"] - <-Map 7 [SIMPLE_EDGE] - SHUFFLE [RS_131] - PartitionCols:d_date_sk - Filter Operator [FIL_380] (rows=18262 width=1119) - predicate:(d_date_sk is not null and (d_qoy = 1) and (d_year = 1998)) - TableScan [TS_126] (rows=73049 width=1119) - default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"] + Group By Operator [GBY_18] (rows=348477374 width=88) + Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0 + <-Reducer 3 [SIMPLE_EDGE] + SHUFFLE [RS_17] + PartitionCols:_col0 + Group By Operator [GBY_16] (rows=696954748 width=88) + Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7 + Merge Join Operator [MERGEJOIN_257] (rows=696954748 width=88) + Conds:RS_12._col1=RS_13._col0(Inner),Output:["_col2","_col7"] + <-Map 8 [SIMPLE_EDGE] + SHUFFLE [RS_13] + PartitionCols:_col0 + Select Operator [SEL_8] (rows=40000000 width=1014) + Output:["_col0","_col1"] + Filter Operator [FIL_240] (rows=40000000 width=1014) + predicate:(ca_address_sk is not null and ca_county is not null) + TableScan [TS_6] (rows=40000000 width=1014) + default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county"] + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_12] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_256] (rows=633595212 width=88) + Conds:RS_9._col0=RS_10._col0(Inner),Output:["_col1","_col2"] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_9] + PartitionCols:_col0 + Select Operator [SEL_2] (rows=575995635 width=88) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_238] (rows=575995635 width=88) + predicate:(ss_sold_date_sk is not null and ss_addr_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_addr_sk","ss_ext_sales_price"] + <-Map 7 [SIMPLE_EDGE] + SHUFFLE [RS_10] + PartitionCols:_col0 + Select Operator [SEL_5] (rows=18262 width=1119) + Output:["_col0"] + Filter Operator [FIL_239] (rows=18262 width=1119) + predicate:((d_qoy = 2) and (d_year = 1998) 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","d_qoy"]