http://git-wip-us.apache.org/repos/asf/hive/blob/3bbc24d2/ql/src/test/results/clientpositive/llap/explainanalyze_2.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/explainanalyze_2.q.out b/ql/src/test/results/clientpositive/llap/explainanalyze_2.q.out index 7db3b13..55f3a78 100644 --- a/ql/src/test/results/clientpositive/llap/explainanalyze_2.q.out +++ b/ql/src/test/results/clientpositive/llap/explainanalyze_2.q.out @@ -629,20 +629,20 @@ Stage-0 Stage-1 Map 1 llap File Output Operator [FS_10] - Merge Join Operator [MERGEJOIN_15] (rows=253/480 width=190) + Merge Join Operator [MERGEJOIN_15] (rows=382/480 width=95) Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0","_col1"] - <-Select Operator [SEL_5] (rows=230/242 width=14) + <-Select Operator [SEL_5] (rows=242/242 width=4) Output:["_col0"] - Filter Operator [FIL_14] (rows=230/242 width=14) + Filter Operator [FIL_14] (rows=242/242 width=4) predicate:key is not null - TableScan [TS_3] (rows=242/242 width=14) - default@tab,s3,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Select Operator [SEL_2] (rows=230/242 width=190) + TableScan [TS_3] (rows=242/242 width=4) + default@tab,s3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"] + <-Select Operator [SEL_2] (rows=242/242 width=95) Output:["_col0","_col1"] - Filter Operator [FIL_13] (rows=230/242 width=190) + Filter Operator [FIL_13] (rows=242/242 width=95) predicate:key is not null - TableScan [TS_0] (rows=242/242 width=190) - default@tab,s1,Tbl:COMPLETE,Col:NONE,Output:["key","value"] + TableScan [TS_0] (rows=242/242 width=95) + default@tab,s1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] PREHOOK: query: select s1.key as key, s1.value as value from tab s1 join tab s3 on s1.key=s3.key join tab s2 on s1.value=s2.value PREHOOK: type: QUERY @@ -671,36 +671,34 @@ Stage-0 Stage-1 Reducer 2 llap File Output Operator [FS_16] - Select Operator [SEL_15] (rows=278/1166 width=3) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_27] (rows=278/1166 width=3) - Conds:RS_12._col2=RS_13._col1(Inner),Output:["_col1","_col2"] - <-Map 1 [SIMPLE_EDGE] llap - SHUFFLE [RS_12] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_25] (rows=253/480 width=3) - Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col1","_col2"] - <-Select Operator [SEL_5] (rows=218/242 width=179) - Output:["_col0","_col1"] - Filter Operator [FIL_23] (rows=218/242 width=179) - predicate:(key is not null and value is not null) - TableScan [TS_3] (rows=242/242 width=179) - default@tab,s1,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_2] (rows=230/242 width=3) - Output:["_col0"] - Filter Operator [FIL_22] (rows=230/242 width=3) - predicate:key is not null - TableScan [TS_0] (rows=242/242 width=3) - default@tab,s3,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Map 4 [SIMPLE_EDGE] llap - SHUFFLE [RS_13] - PartitionCols:_col1 - Select Operator [SEL_8] (rows=230/242 width=175) - Output:["_col1"] - Filter Operator [FIL_24] (rows=230/242 width=175) - predicate:value is not null - TableScan [TS_6] (rows=242/242 width=175) - default@tab,s2,Tbl:COMPLETE,Col:NONE,Output:["value"] + Merge Join Operator [MERGEJOIN_27] (rows=604/1166 width=95) + Conds:RS_12._col1=RS_13._col1(Inner),Output:["_col0","_col1"] + <-Map 1 [SIMPLE_EDGE] llap + SHUFFLE [RS_12] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_25] (rows=382/480 width=95) + Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0","_col1"] + <-Select Operator [SEL_5] (rows=242/242 width=4) + Output:["_col0"] + Filter Operator [FIL_23] (rows=242/242 width=4) + predicate:key is not null + TableScan [TS_3] (rows=242/242 width=4) + default@tab,s3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"] + <-Select Operator [SEL_2] (rows=242/242 width=95) + Output:["_col0","_col1"] + Filter Operator [FIL_22] (rows=242/242 width=95) + predicate:(key is not null and value is not null) + TableScan [TS_0] (rows=242/242 width=95) + default@tab,s1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Map 4 [SIMPLE_EDGE] llap + SHUFFLE [RS_13] + PartitionCols:_col1 + Select Operator [SEL_8] (rows=242/242 width=91) + Output:["_col1"] + Filter Operator [FIL_24] (rows=242/242 width=91) + predicate:value is not null + TableScan [TS_6] (rows=242/242 width=91) + default@tab,s2,Tbl:COMPLETE,Col:COMPLETE,Output:["value"] PREHOOK: query: select s1.key as key, s1.value as value from tab s1 join tab2 s3 on s1.key=s3.key PREHOOK: type: QUERY @@ -730,20 +728,20 @@ Stage-0 Stage-1 Map 1 llap File Output Operator [FS_10] - Merge Join Operator [MERGEJOIN_15] (rows=253/480 width=190) + Merge Join Operator [MERGEJOIN_15] (rows=382/480 width=95) Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0","_col1"] - <-Select Operator [SEL_5] (rows=230/242 width=14) + <-Select Operator [SEL_5] (rows=242/242 width=4) Output:["_col0"] - Filter Operator [FIL_14] (rows=230/242 width=14) + Filter Operator [FIL_14] (rows=242/242 width=4) predicate:key is not null - TableScan [TS_3] (rows=242/242 width=14) - default@tab2,s3,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Select Operator [SEL_2] (rows=230/242 width=190) + TableScan [TS_3] (rows=242/242 width=4) + default@tab2,s3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"] + <-Select Operator [SEL_2] (rows=242/242 width=95) Output:["_col0","_col1"] - Filter Operator [FIL_13] (rows=230/242 width=190) + Filter Operator [FIL_13] (rows=242/242 width=95) predicate:key is not null - TableScan [TS_0] (rows=242/242 width=190) - default@tab,s1,Tbl:COMPLETE,Col:NONE,Output:["key","value"] + TableScan [TS_0] (rows=242/242 width=95) + default@tab,s1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] PREHOOK: query: select s1.key as key, s1.value as value from tab s1 join tab2 s3 on s1.key=s3.key join tab2 s2 on s1.value=s2.value PREHOOK: type: QUERY @@ -776,36 +774,34 @@ Stage-0 Stage-1 Reducer 2 llap File Output Operator [FS_16] - Select Operator [SEL_15] (rows=278/1166 width=3) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_27] (rows=278/1166 width=3) - Conds:RS_12._col2=RS_13._col1(Inner),Output:["_col1","_col2"] - <-Map 1 [SIMPLE_EDGE] llap - SHUFFLE [RS_12] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_25] (rows=253/480 width=3) - Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col1","_col2"] - <-Select Operator [SEL_5] (rows=218/242 width=179) - Output:["_col0","_col1"] - Filter Operator [FIL_23] (rows=218/242 width=179) - predicate:(key is not null and value is not null) - TableScan [TS_3] (rows=242/242 width=179) - default@tab,s1,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_2] (rows=230/242 width=3) - Output:["_col0"] - Filter Operator [FIL_22] (rows=230/242 width=3) - predicate:key is not null - TableScan [TS_0] (rows=242/242 width=3) - default@tab2,s3,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Map 4 [SIMPLE_EDGE] llap - SHUFFLE [RS_13] - PartitionCols:_col1 - Select Operator [SEL_8] (rows=230/242 width=175) - Output:["_col1"] - Filter Operator [FIL_24] (rows=230/242 width=175) - predicate:value is not null - TableScan [TS_6] (rows=242/242 width=175) - default@tab2,s2,Tbl:COMPLETE,Col:NONE,Output:["value"] + Merge Join Operator [MERGEJOIN_27] (rows=604/1166 width=95) + Conds:RS_12._col1=RS_13._col1(Inner),Output:["_col0","_col1"] + <-Map 1 [SIMPLE_EDGE] llap + SHUFFLE [RS_12] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_25] (rows=382/480 width=95) + Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0","_col1"] + <-Select Operator [SEL_5] (rows=242/242 width=4) + Output:["_col0"] + Filter Operator [FIL_23] (rows=242/242 width=4) + predicate:key is not null + TableScan [TS_3] (rows=242/242 width=4) + default@tab2,s3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"] + <-Select Operator [SEL_2] (rows=242/242 width=95) + Output:["_col0","_col1"] + Filter Operator [FIL_22] (rows=242/242 width=95) + predicate:(key is not null and value is not null) + TableScan [TS_0] (rows=242/242 width=95) + default@tab,s1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Map 4 [SIMPLE_EDGE] llap + SHUFFLE [RS_13] + PartitionCols:_col1 + Select Operator [SEL_8] (rows=242/242 width=91) + Output:["_col1"] + Filter Operator [FIL_24] (rows=242/242 width=91) + predicate:value is not null + TableScan [TS_6] (rows=242/242 width=91) + default@tab2,s2,Tbl:COMPLETE,Col:COMPLETE,Output:["value"] PREHOOK: query: select count(*) from (select s1.key as key, s1.value as value from tab s1 join tab s3 on s1.key=s3.key UNION ALL @@ -857,43 +853,43 @@ Stage-0 Output:["_col0"],aggregations:["count()"] <-Reducer 3 [CUSTOM_SIMPLE_EDGE] llap PARTITION_ONLY_SHUFFLE [RS_22] - Merge Join Operator [MERGEJOIN_38] (rows=531/1646 width=3) + Merge Join Operator [MERGEJOIN_38] (rows=1009/1646 width=8) Conds:Union 2._col0=RS_19._col0(Inner) <-Map 7 [SIMPLE_EDGE] llap SHUFFLE [RS_19] PartitionCols:_col0 - Select Operator [SEL_17] (rows=475/500 width=3) + Select Operator [SEL_17] (rows=500/500 width=4) Output:["_col0"] - Filter Operator [FIL_35] (rows=475/500 width=3) + Filter Operator [FIL_35] (rows=500/500 width=4) predicate:key is not null - TableScan [TS_15] (rows=500/500 width=3) - default@tab_part,b,Tbl:COMPLETE,Col:NONE,Output:["key"] + TableScan [TS_15] (rows=500/500 width=4) + default@tab_part,b,Tbl:COMPLETE,Col:COMPLETE,Output:["key"] <-Union 2 [SIMPLE_EDGE] <-Map 1 [CONTAINS] llap Reduce Output Operator [RS_18] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_36] (rows=253/480 width=3) + Merge Join Operator [MERGEJOIN_36] (rows=382/480 width=4) Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0"] - <-Select Operator [SEL_5] (rows=230/242 width=3) + <-Select Operator [SEL_5] (rows=242/242 width=4) Output:["_col0"] - Filter Operator [FIL_33] (rows=230/242 width=3) + Filter Operator [FIL_33] (rows=242/242 width=4) predicate:key is not null - TableScan [TS_3] (rows=242/242 width=3) - default@tab,s3,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Select Operator [SEL_2] (rows=230/242 width=3) + TableScan [TS_3] (rows=242/242 width=4) + default@tab,s3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"] + <-Select Operator [SEL_2] (rows=242/242 width=4) Output:["_col0"] - Filter Operator [FIL_32] (rows=230/242 width=3) + Filter Operator [FIL_32] (rows=242/242 width=4) predicate:key is not null - TableScan [TS_0] (rows=242/242 width=3) + TableScan [TS_0] (rows=242/242 width=4) Output:["key"] <-Map 6 [CONTAINS] llap Reduce Output Operator [RS_18] PartitionCols:_col0 - Select Operator [SEL_12] (rows=230/242 width=3) + Select Operator [SEL_12] (rows=242/242 width=4) Output:["_col0"] - Filter Operator [FIL_34] (rows=230/242 width=3) + Filter Operator [FIL_34] (rows=242/242 width=4) predicate:key is not null - TableScan [TS_10] (rows=242/242 width=3) + TableScan [TS_10] (rows=242/242 width=4) Output:["key"] PREHOOK: query: select count(*) from (select s1.key as key, s1.value as value from tab s1 join tab s3 on s1.key=s3.key join tab s2 on s1.value=s2.value @@ -946,60 +942,58 @@ Stage-0 Output:["_col0"],aggregations:["count()"] <-Reducer 4 [CUSTOM_SIMPLE_EDGE] llap PARTITION_ONLY_SHUFFLE [RS_28] - Merge Join Operator [MERGEJOIN_50] (rows=558/3768 width=3) + Merge Join Operator [MERGEJOIN_50] (rows=1368/3768 width=8) Conds:Union 3._col0=RS_25._col0(Inner) <-Map 9 [SIMPLE_EDGE] llap SHUFFLE [RS_25] PartitionCols:_col0 - Select Operator [SEL_23] (rows=475/500 width=3) + Select Operator [SEL_23] (rows=500/500 width=4) Output:["_col0"] - Filter Operator [FIL_46] (rows=475/500 width=3) + Filter Operator [FIL_46] (rows=500/500 width=4) predicate:key is not null - TableScan [TS_21] (rows=500/500 width=3) - default@tab_part,b,Tbl:COMPLETE,Col:NONE,Output:["key"] + TableScan [TS_21] (rows=500/500 width=4) + default@tab_part,b,Tbl:COMPLETE,Col:COMPLETE,Output:["key"] <-Union 3 [SIMPLE_EDGE] <-Map 8 [CONTAINS] llap Reduce Output Operator [RS_24] PartitionCols:_col0 - Select Operator [SEL_18] (rows=230/242 width=3) + Select Operator [SEL_18] (rows=242/242 width=4) Output:["_col0"] - Filter Operator [FIL_45] (rows=230/242 width=3) + Filter Operator [FIL_45] (rows=242/242 width=4) predicate:key is not null - TableScan [TS_16] (rows=242/242 width=3) + TableScan [TS_16] (rows=242/242 width=4) Output:["key"] <-Reducer 2 [CONTAINS] llap Reduce Output Operator [RS_24] PartitionCols:_col0 - Select Operator [SEL_15] (rows=278/1166 width=3) - Output:["_col0"] - Merge Join Operator [MERGEJOIN_49] (rows=278/1166 width=3) - Conds:RS_12._col2=RS_13._col1(Inner),Output:["_col1"] - <-Map 1 [SIMPLE_EDGE] llap - SHUFFLE [RS_12] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_47] (rows=253/480 width=3) - Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col1","_col2"] - <-Select Operator [SEL_5] (rows=218/242 width=179) - Output:["_col0","_col1"] - Filter Operator [FIL_43] (rows=218/242 width=179) - predicate:(key is not null and value is not null) - TableScan [TS_3] (rows=242/242 width=179) - default@tab,s1,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_2] (rows=230/242 width=3) - Output:["_col0"] - Filter Operator [FIL_42] (rows=230/242 width=3) - predicate:key is not null - TableScan [TS_0] (rows=242/242 width=3) - default@tab,s3,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Map 7 [SIMPLE_EDGE] llap - SHUFFLE [RS_13] - PartitionCols:_col1 - Select Operator [SEL_8] (rows=230/242 width=175) - Output:["_col1"] - Filter Operator [FIL_44] (rows=230/242 width=175) - predicate:value is not null - TableScan [TS_6] (rows=242/242 width=175) - default@tab,s2,Tbl:COMPLETE,Col:NONE,Output:["value"] + Merge Join Operator [MERGEJOIN_49] (rows=604/1166 width=4) + Conds:RS_12._col1=RS_13._col1(Inner),Output:["_col0"] + <-Map 1 [SIMPLE_EDGE] llap + SHUFFLE [RS_12] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_47] (rows=382/480 width=95) + Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0","_col1"] + <-Select Operator [SEL_5] (rows=242/242 width=4) + Output:["_col0"] + Filter Operator [FIL_43] (rows=242/242 width=4) + predicate:key is not null + TableScan [TS_3] (rows=242/242 width=4) + default@tab,s3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"] + <-Select Operator [SEL_2] (rows=242/242 width=95) + Output:["_col0","_col1"] + Filter Operator [FIL_42] (rows=242/242 width=95) + predicate:(key is not null and value is not null) + TableScan [TS_0] (rows=242/242 width=95) + default@tab,s1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Map 7 [SIMPLE_EDGE] llap + SHUFFLE [RS_13] + PartitionCols:_col1 + Select Operator [SEL_8] (rows=242/242 width=91) + Output:["_col1"] + Filter Operator [FIL_44] (rows=242/242 width=91) + predicate:value is not null + TableScan [TS_6] (rows=242/242 width=91) + default@tab,s2,Tbl:COMPLETE,Col:COMPLETE,Output:["value"] PREHOOK: query: CREATE TABLE a(key STRING, value STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE @@ -1113,20 +1107,23 @@ Plan optimized by CBO. Vertex dependency in root stage Map 1 <- Union 2 (CONTAINS) -Map 13 <- Union 14 (CONTAINS) -Map 15 <- Union 14 (CONTAINS) -Map 16 <- Union 14 (CONTAINS) -Map 19 <- Union 20 (CONTAINS) -Map 21 <- Union 20 (CONTAINS) -Map 22 <- Union 20 (CONTAINS) -Map 23 <- Union 20 (CONTAINS) -Map 6 <- Union 2 (CONTAINS) -Reducer 11 <- Map 10 (SIMPLE_EDGE), Union 14 (SIMPLE_EDGE) -Reducer 12 <- Map 17 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE), Union 5 (CONTAINS) -Reducer 3 <- Map 7 (SIMPLE_EDGE), Union 2 (SIMPLE_EDGE) -Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS) -Reducer 8 <- Map 18 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE) -Reducer 9 <- Reducer 8 (SIMPLE_EDGE), Union 20 (SIMPLE_EDGE), Union 5 (CONTAINS) +Map 16 <- Union 17 (CONTAINS) +Map 18 <- Union 17 (CONTAINS) +Map 19 <- Union 17 (CONTAINS) +Map 22 <- Union 23 (CONTAINS) +Map 24 <- Union 23 (CONTAINS) +Map 25 <- Union 23 (CONTAINS) +Map 26 <- Union 23 (CONTAINS) +Map 9 <- Union 2 (CONTAINS) +Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 21 (SIMPLE_EDGE) +Reducer 12 <- Reducer 11 (SIMPLE_EDGE), Union 23 (SIMPLE_EDGE), Union 5 (CONTAINS) +Reducer 14 <- Map 13 (SIMPLE_EDGE), Union 17 (SIMPLE_EDGE) +Reducer 15 <- Map 20 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE), Union 5 (CONTAINS) +Reducer 3 <- Map 10 (SIMPLE_EDGE), Union 2 (SIMPLE_EDGE) +Reducer 4 <- Map 13 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS) +Reducer 6 <- Union 5 (CUSTOM_SIMPLE_EDGE) +Reducer 7 <- Union 5 (CUSTOM_SIMPLE_EDGE) +Reducer 8 <- Union 5 (CUSTOM_SIMPLE_EDGE) Stage-5 Stats Work{} @@ -1136,193 +1133,243 @@ Stage-5 Stage-4 Dependency Collection{} Stage-3 - Union 5 - <-Reducer 12 [CONTAINS] llap - File Output Operator [FS_75] - table:{"name:":"default.a"} - Select Operator [SEL_44] (rows=2682/5421 width=178) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_122] (rows=2682/5421 width=178) - Conds:RS_41._col1=RS_42._col0(Inner),Output:["_col1","_col4"] - <-Map 17 [SIMPLE_EDGE] llap - SHUFFLE [RS_42] - PartitionCols:_col0 - Select Operator [SEL_37] (rows=500/500 width=178) - Output:["_col0","_col1"] - Filter Operator [FIL_112] (rows=500/500 width=178) - predicate:key is not null - TableScan [TS_35] (rows=500/500 width=178) - default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Reducer 11 [SIMPLE_EDGE] llap - SHUFFLE [RS_41] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_121] (rows=1658/2097 width=87) - Conds:Union 14._col0=RS_39._col1(Inner),Output:["_col1"] - <-Map 10 [SIMPLE_EDGE] llap - SHUFFLE [RS_39] + Reducer 6 llap + File Output Operator [FS_5] + Group By Operator [GBY_3] (rows=1/1 width=880) + Output:["_col0","_col1"],aggregations:["compute_stats(VALUE._col0, 'hll')","compute_stats(VALUE._col2, 'hll')"] + <-Union 5 [CUSTOM_SIMPLE_EDGE] + <-Reducer 12 [CONTAINS] llap + File Output Operator [FS_75] + table:{"name:":"default.a"} + Select Operator [SEL_72] (rows=192/820 width=175) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_124] (rows=192/820 width=175) + Conds:RS_69._col1=Union 23._col0(Inner),Output:["_col0","_col3"] + <-Reducer 11 [SIMPLE_EDGE] llap + SHUFFLE [RS_69] PartitionCols:_col1 - Select Operator [SEL_34] (rows=500/500 width=178) - Output:["_col0","_col1"] - Filter Operator [FIL_111] (rows=500/500 width=178) - predicate:(key is not null and value is not null) - TableScan [TS_11] (rows=500/500 width=178) - default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Union 14 [SIMPLE_EDGE] - <-Map 13 [CONTAINS] llap - Reduce Output Operator [RS_38] + Merge Join Operator [MERGEJOIN_123] (rows=39/115 width=264) + Conds:RS_66._col0=RS_67._col0(Inner),Output:["_col0","_col1","_col3"] + <-Map 10 [SIMPLE_EDGE] llap + SHUFFLE [RS_66] + PartitionCols:_col0 + Select Operator [SEL_10] (rows=25/25 width=175) + Output:["_col0","_col1"] + Filter Operator [FIL_106] (rows=25/25 width=175) + predicate:(key is not null and value is not null) + TableScan [TS_8] (rows=25/25 width=175) + default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Map 21 [SIMPLE_EDGE] llap + SHUFFLE [RS_67] + PartitionCols:_col0 + Select Operator [SEL_51] (rows=25/25 width=175) + Output:["_col0","_col1"] + Filter Operator [FIL_114] (rows=25/25 width=175) + predicate:key is not null + TableScan [TS_49] (rows=25/25 width=175) + default@src1,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Union 23 [SIMPLE_EDGE] + <-Map 22 [CONTAINS] llap + Reduce Output Operator [RS_70] PartitionCols:_col0 - Select Operator [SEL_23] (rows=25/25 width=89) + Select Operator [SEL_54] (rows=25/25 width=89) Output:["_col0"] - Filter Operator [FIL_108] (rows=25/25 width=89) + Filter Operator [FIL_115] (rows=25/25 width=89) predicate:value is not null - TableScan [TS_21] (rows=25/25 width=89) + TableScan [TS_52] (rows=25/25 width=89) Output:["value"] - <-Map 15 [CONTAINS] llap - Reduce Output Operator [RS_38] + <-Map 24 [CONTAINS] llap + Reduce Output Operator [RS_70] PartitionCols:_col0 - Select Operator [SEL_26] (rows=500/500 width=91) + Select Operator [SEL_57] (rows=500/500 width=91) Output:["_col0"] - Filter Operator [FIL_109] (rows=500/500 width=91) + Filter Operator [FIL_116] (rows=500/500 width=91) predicate:value is not null - TableScan [TS_24] (rows=500/500 width=91) + TableScan [TS_55] (rows=500/500 width=91) Output:["value"] - <-Map 16 [CONTAINS] llap - Reduce Output Operator [RS_38] + <-Map 25 [CONTAINS] llap + Reduce Output Operator [RS_70] PartitionCols:_col0 - Select Operator [SEL_30] (rows=500/500 width=91) + Select Operator [SEL_61] (rows=500/500 width=91) Output:["_col0"] - Filter Operator [FIL_110] (rows=500/500 width=91) + Filter Operator [FIL_117] (rows=500/500 width=91) predicate:value is not null - TableScan [TS_28] (rows=500/500 width=91) + TableScan [TS_59] (rows=500/500 width=91) Output:["value"] - File Output Operator [FS_77] - table:{"name:":"default.b"} - Please refer to the previous Select Operator [SEL_44] - File Output Operator [FS_79] - table:{"name:":"default.c"} - Please refer to the previous Select Operator [SEL_44] - <-Reducer 4 [CONTAINS] llap - File Output Operator [FS_75] - table:{"name:":"default.a"} - Select Operator [SEL_20] (rows=67/170 width=177) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_120] (rows=67/170 width=177) - Conds:RS_17._col1=RS_18._col0(Inner),Output:["_col1","_col4"] - <-Map 10 [SIMPLE_EDGE] llap - SHUFFLE [RS_18] - PartitionCols:_col0 - Select Operator [SEL_13] (rows=500/500 width=178) - Output:["_col0","_col1"] - Filter Operator [FIL_107] (rows=500/500 width=178) - predicate:key is not null - Please refer to the previous TableScan [TS_11] - <-Reducer 3 [SIMPLE_EDGE] llap - SHUFFLE [RS_17] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_119] (rows=42/108 width=86) - Conds:Union 2._col0=RS_15._col1(Inner),Output:["_col1"] - <-Map 7 [SIMPLE_EDGE] llap - SHUFFLE [RS_15] - PartitionCols:_col1 - Select Operator [SEL_10] (rows=25/25 width=175) - Output:["_col0","_col1"] - Filter Operator [FIL_106] (rows=25/25 width=175) - predicate:(key is not null and value is not null) - TableScan [TS_8] (rows=25/25 width=175) - default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Union 2 [SIMPLE_EDGE] - <-Map 1 [CONTAINS] llap - Reduce Output Operator [RS_14] - PartitionCols:_col0 - Select Operator [SEL_2] (rows=25/25 width=89) - Output:["_col0"] - Filter Operator [FIL_104] (rows=25/25 width=89) - predicate:value is not null - TableScan [TS_0] (rows=25/25 width=89) - Output:["value"] - <-Map 6 [CONTAINS] llap - Reduce Output Operator [RS_14] + <-Map 26 [CONTAINS] llap + Reduce Output Operator [RS_70] PartitionCols:_col0 - Select Operator [SEL_5] (rows=500/500 width=91) + Select Operator [SEL_64] (rows=500/500 width=91) Output:["_col0"] - Filter Operator [FIL_105] (rows=500/500 width=91) + Filter Operator [FIL_118] (rows=500/500 width=91) predicate:value is not null - TableScan [TS_3] (rows=500/500 width=91) + TableScan [TS_62] (rows=500/500 width=91) Output:["value"] - File Output Operator [FS_77] - table:{"name:":"default.b"} - Please refer to the previous Select Operator [SEL_20] - File Output Operator [FS_79] - table:{"name:":"default.c"} - Please refer to the previous Select Operator [SEL_20] - <-Reducer 9 [CONTAINS] llap - File Output Operator [FS_75] - table:{"name:":"default.a"} - Select Operator [SEL_72] (rows=192/820 width=175) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_124] (rows=192/820 width=175) - Conds:RS_69._col1=Union 20._col0(Inner),Output:["_col0","_col3"] - <-Reducer 8 [SIMPLE_EDGE] llap - SHUFFLE [RS_69] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_123] (rows=39/115 width=264) - Conds:RS_66._col0=RS_67._col0(Inner),Output:["_col0","_col1","_col3"] - <-Map 7 [SIMPLE_EDGE] llap - SHUFFLE [RS_66] + Reduce Output Operator [RS_2] + Select Operator [SEL_1] (rows=2941/6411 width=178) + Output:["key","value"] + Please refer to the previous Select Operator [SEL_72] + File Output Operator [FS_77] + table:{"name:":"default.b"} + Please refer to the previous Select Operator [SEL_72] + Reduce Output Operator [RS_2] + Select Operator [SEL_1] (rows=2941/6411 width=178) + Output:["key","value"] + Please refer to the previous Select Operator [SEL_72] + File Output Operator [FS_79] + table:{"name:":"default.c"} + Please refer to the previous Select Operator [SEL_72] + Reduce Output Operator [RS_2] + Select Operator [SEL_1] (rows=2941/6411 width=178) + Output:["key","value"] + Please refer to the previous Select Operator [SEL_72] + <-Reducer 15 [CONTAINS] llap + File Output Operator [FS_75] + table:{"name:":"default.a"} + Select Operator [SEL_44] (rows=2682/5421 width=178) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_122] (rows=2682/5421 width=178) + Conds:RS_41._col1=RS_42._col0(Inner),Output:["_col1","_col4"] + <-Map 20 [SIMPLE_EDGE] llap + SHUFFLE [RS_42] PartitionCols:_col0 - Please refer to the previous Select Operator [SEL_10] - <-Map 18 [SIMPLE_EDGE] llap - SHUFFLE [RS_67] + Select Operator [SEL_37] (rows=500/500 width=178) + Output:["_col0","_col1"] + Filter Operator [FIL_112] (rows=500/500 width=178) + predicate:key is not null + TableScan [TS_35] (rows=500/500 width=178) + default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Reducer 14 [SIMPLE_EDGE] llap + SHUFFLE [RS_41] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_121] (rows=1658/2097 width=87) + Conds:Union 17._col0=RS_39._col1(Inner),Output:["_col1"] + <-Map 13 [SIMPLE_EDGE] llap + SHUFFLE [RS_39] + PartitionCols:_col1 + Select Operator [SEL_34] (rows=500/500 width=178) + Output:["_col0","_col1"] + Filter Operator [FIL_111] (rows=500/500 width=178) + predicate:(key is not null and value is not null) + TableScan [TS_11] (rows=500/500 width=178) + default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Union 17 [SIMPLE_EDGE] + <-Map 16 [CONTAINS] llap + Reduce Output Operator [RS_38] + PartitionCols:_col0 + Select Operator [SEL_23] (rows=25/25 width=89) + Output:["_col0"] + Filter Operator [FIL_108] (rows=25/25 width=89) + predicate:value is not null + TableScan [TS_21] (rows=25/25 width=89) + Output:["value"] + <-Map 18 [CONTAINS] llap + Reduce Output Operator [RS_38] + PartitionCols:_col0 + Select Operator [SEL_26] (rows=500/500 width=91) + Output:["_col0"] + Filter Operator [FIL_109] (rows=500/500 width=91) + predicate:value is not null + TableScan [TS_24] (rows=500/500 width=91) + Output:["value"] + <-Map 19 [CONTAINS] llap + Reduce Output Operator [RS_38] + PartitionCols:_col0 + Select Operator [SEL_30] (rows=500/500 width=91) + Output:["_col0"] + Filter Operator [FIL_110] (rows=500/500 width=91) + predicate:value is not null + TableScan [TS_28] (rows=500/500 width=91) + Output:["value"] + Reduce Output Operator [RS_2] + Select Operator [SEL_1] (rows=2941/6411 width=178) + Output:["key","value"] + Please refer to the previous Select Operator [SEL_44] + File Output Operator [FS_77] + table:{"name:":"default.b"} + Please refer to the previous Select Operator [SEL_44] + Reduce Output Operator [RS_2] + Select Operator [SEL_1] (rows=2941/6411 width=178) + Output:["key","value"] + Please refer to the previous Select Operator [SEL_44] + File Output Operator [FS_79] + table:{"name:":"default.c"} + Please refer to the previous Select Operator [SEL_44] + Reduce Output Operator [RS_2] + Select Operator [SEL_1] (rows=2941/6411 width=178) + Output:["key","value"] + Please refer to the previous Select Operator [SEL_44] + <-Reducer 4 [CONTAINS] llap + File Output Operator [FS_75] + table:{"name:":"default.a"} + Select Operator [SEL_20] (rows=67/170 width=177) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_120] (rows=67/170 width=177) + Conds:RS_17._col1=RS_18._col0(Inner),Output:["_col1","_col4"] + <-Map 13 [SIMPLE_EDGE] llap + SHUFFLE [RS_18] PartitionCols:_col0 - Select Operator [SEL_51] (rows=25/25 width=175) + Select Operator [SEL_13] (rows=500/500 width=178) Output:["_col0","_col1"] - Filter Operator [FIL_114] (rows=25/25 width=175) + Filter Operator [FIL_107] (rows=500/500 width=178) predicate:key is not null - TableScan [TS_49] (rows=25/25 width=175) - default@src1,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Union 20 [SIMPLE_EDGE] - <-Map 19 [CONTAINS] llap - Reduce Output Operator [RS_70] - PartitionCols:_col0 - Select Operator [SEL_54] (rows=25/25 width=89) - Output:["_col0"] - Filter Operator [FIL_115] (rows=25/25 width=89) - predicate:value is not null - TableScan [TS_52] (rows=25/25 width=89) - Output:["value"] - <-Map 21 [CONTAINS] llap - Reduce Output Operator [RS_70] - PartitionCols:_col0 - Select Operator [SEL_57] (rows=500/500 width=91) - Output:["_col0"] - Filter Operator [FIL_116] (rows=500/500 width=91) - predicate:value is not null - TableScan [TS_55] (rows=500/500 width=91) - Output:["value"] - <-Map 22 [CONTAINS] llap - Reduce Output Operator [RS_70] - PartitionCols:_col0 - Select Operator [SEL_61] (rows=500/500 width=91) - Output:["_col0"] - Filter Operator [FIL_117] (rows=500/500 width=91) - predicate:value is not null - TableScan [TS_59] (rows=500/500 width=91) - Output:["value"] - <-Map 23 [CONTAINS] llap - Reduce Output Operator [RS_70] - PartitionCols:_col0 - Select Operator [SEL_64] (rows=500/500 width=91) - Output:["_col0"] - Filter Operator [FIL_118] (rows=500/500 width=91) - predicate:value is not null - TableScan [TS_62] (rows=500/500 width=91) - Output:["value"] - File Output Operator [FS_77] - table:{"name:":"default.b"} - Please refer to the previous Select Operator [SEL_72] - File Output Operator [FS_79] - table:{"name:":"default.c"} - Please refer to the previous Select Operator [SEL_72] + Please refer to the previous TableScan [TS_11] + <-Reducer 3 [SIMPLE_EDGE] llap + SHUFFLE [RS_17] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_119] (rows=42/108 width=86) + Conds:Union 2._col0=RS_15._col1(Inner),Output:["_col1"] + <-Map 10 [SIMPLE_EDGE] llap + SHUFFLE [RS_15] + PartitionCols:_col1 + Please refer to the previous Select Operator [SEL_10] + <-Union 2 [SIMPLE_EDGE] + <-Map 1 [CONTAINS] llap + Reduce Output Operator [RS_14] + PartitionCols:_col0 + Select Operator [SEL_2] (rows=25/25 width=89) + Output:["_col0"] + Filter Operator [FIL_104] (rows=25/25 width=89) + predicate:value is not null + TableScan [TS_0] (rows=25/25 width=89) + Output:["value"] + <-Map 9 [CONTAINS] llap + Reduce Output Operator [RS_14] + PartitionCols:_col0 + Select Operator [SEL_5] (rows=500/500 width=91) + Output:["_col0"] + Filter Operator [FIL_105] (rows=500/500 width=91) + predicate:value is not null + TableScan [TS_3] (rows=500/500 width=91) + Output:["value"] + Reduce Output Operator [RS_2] + Select Operator [SEL_1] (rows=2941/6411 width=178) + Output:["key","value"] + Please refer to the previous Select Operator [SEL_20] + File Output Operator [FS_77] + table:{"name:":"default.b"} + Please refer to the previous Select Operator [SEL_20] + Reduce Output Operator [RS_2] + Select Operator [SEL_1] (rows=2941/6411 width=178) + Output:["key","value"] + Please refer to the previous Select Operator [SEL_20] + File Output Operator [FS_79] + table:{"name:":"default.c"} + Please refer to the previous Select Operator [SEL_20] + Reduce Output Operator [RS_2] + Select Operator [SEL_1] (rows=2941/6411 width=178) + Output:["key","value"] + Please refer to the previous Select Operator [SEL_20] + Reducer 7 llap + File Output Operator [FS_5] + Group By Operator [GBY_3] (rows=1/1 width=880) + Output:["_col0","_col1"],aggregations:["compute_stats(VALUE._col0, 'hll')","compute_stats(VALUE._col2, 'hll')"] + <- Please refer to the previous Union 5 [CUSTOM_SIMPLE_EDGE] + Reducer 8 llap + File Output Operator [FS_5] + Group By Operator [GBY_3] (rows=1/1 width=880) + Output:["_col0","_col1"],aggregations:["compute_stats(VALUE._col0, 'hll')","compute_stats(VALUE._col2, 'hll')"] + <- Please refer to the previous Union 5 [CUSTOM_SIMPLE_EDGE] Stage-6 Stats Work{} Stage-1 @@ -1412,26 +1459,29 @@ Plan optimized by CBO. Vertex dependency in root stage Map 1 <- Union 2 (CONTAINS) -Map 10 <- Union 2 (CONTAINS) -Map 17 <- Union 18 (CONTAINS) -Map 22 <- Union 18 (CONTAINS) -Map 23 <- Union 20 (CONTAINS) -Map 26 <- Union 27 (CONTAINS) -Map 33 <- Union 27 (CONTAINS) -Map 34 <- Union 29 (CONTAINS) -Map 35 <- Union 31 (CONTAINS) -Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 25 (SIMPLE_EDGE) -Reducer 13 <- Reducer 12 (SIMPLE_EDGE), Reducer 32 (SIMPLE_EDGE), Union 8 (CONTAINS) -Reducer 15 <- Map 14 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE) -Reducer 16 <- Map 24 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE), Union 6 (CONTAINS) -Reducer 19 <- Union 18 (SIMPLE_EDGE), Union 20 (CONTAINS) -Reducer 21 <- Union 20 (SIMPLE_EDGE) -Reducer 28 <- Union 27 (SIMPLE_EDGE), Union 29 (CONTAINS) +Map 13 <- Union 2 (CONTAINS) +Map 20 <- Union 21 (CONTAINS) +Map 25 <- Union 21 (CONTAINS) +Map 26 <- Union 23 (CONTAINS) +Map 29 <- Union 30 (CONTAINS) +Map 36 <- Union 30 (CONTAINS) +Map 37 <- Union 32 (CONTAINS) +Map 38 <- Union 34 (CONTAINS) +Reducer 10 <- Reducer 9 (CUSTOM_SIMPLE_EDGE) +Reducer 11 <- Reducer 9 (CUSTOM_SIMPLE_EDGE) +Reducer 12 <- Reducer 9 (CUSTOM_SIMPLE_EDGE) +Reducer 15 <- Map 14 (SIMPLE_EDGE), Map 28 (SIMPLE_EDGE) +Reducer 16 <- Reducer 15 (SIMPLE_EDGE), Reducer 35 (SIMPLE_EDGE), Union 8 (CONTAINS) +Reducer 18 <- Map 17 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE) +Reducer 19 <- Map 27 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE), Union 6 (CONTAINS) +Reducer 22 <- Union 21 (SIMPLE_EDGE), Union 23 (CONTAINS) +Reducer 24 <- Union 23 (SIMPLE_EDGE) Reducer 3 <- Union 2 (SIMPLE_EDGE) -Reducer 30 <- Union 29 (SIMPLE_EDGE), Union 31 (CONTAINS) -Reducer 32 <- Union 31 (SIMPLE_EDGE) -Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) -Reducer 5 <- Map 14 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE), Union 6 (CONTAINS) +Reducer 31 <- Union 30 (SIMPLE_EDGE), Union 32 (CONTAINS) +Reducer 33 <- Union 32 (SIMPLE_EDGE), Union 34 (CONTAINS) +Reducer 35 <- Union 34 (SIMPLE_EDGE) +Reducer 4 <- Map 14 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) +Reducer 5 <- Map 17 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE), Union 6 (CONTAINS) Reducer 7 <- Union 6 (SIMPLE_EDGE), Union 8 (CONTAINS) Reducer 9 <- Union 8 (SIMPLE_EDGE) @@ -1443,237 +1493,254 @@ Stage-5 Stage-4 Dependency Collection{} Stage-3 - Reducer 9 llap - File Output Operator [FS_115] - table:{"name:":"default.a"} - Group By Operator [GBY_112] (rows=2941/319 width=178) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 8 [SIMPLE_EDGE] - <-Reducer 13 [CONTAINS] llap - Reduce Output Operator [RS_111] - PartitionCols:_col0, _col1 - Select Operator [SEL_107] (rows=192/304 width=175) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_164] (rows=192/304 width=175) - Conds:RS_104._col1=RS_105._col1(Inner),Output:["_col0","_col3"] - <-Reducer 12 [SIMPLE_EDGE] llap - SHUFFLE [RS_104] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_163] (rows=39/115 width=264) - Conds:RS_101._col0=RS_102._col0(Inner),Output:["_col0","_col1","_col3"] - <-Map 11 [SIMPLE_EDGE] llap - SHUFFLE [RS_101] - PartitionCols:_col0 - Select Operator [SEL_14] (rows=25/25 width=175) - Output:["_col0","_col1"] - Filter Operator [FIL_146] (rows=25/25 width=175) - predicate:(key is not null and value is not null) - TableScan [TS_12] (rows=25/25 width=175) - default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Map 25 [SIMPLE_EDGE] llap - SHUFFLE [RS_102] - PartitionCols:_col0 - Select Operator [SEL_70] (rows=25/25 width=175) - Output:["_col0","_col1"] - Filter Operator [FIL_154] (rows=25/25 width=175) - predicate:key is not null - TableScan [TS_68] (rows=25/25 width=175) - default@src1,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Reducer 32 [SIMPLE_EDGE] llap - SHUFFLE [RS_105] - PartitionCols:_col1 - Select Operator [SEL_100] (rows=1525/319 width=178) - Output:["_col1"] - Group By Operator [GBY_99] (rows=1525/319 width=178) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 31 [SIMPLE_EDGE] - <-Map 35 [CONTAINS] llap - Reduce Output Operator [RS_98] - PartitionCols:_col1, _col0 - Select Operator [SEL_94] (rows=500/500 width=178) - Output:["_col0","_col1"] - Filter Operator [FIL_158] (rows=500/500 width=178) - predicate:value is not null - TableScan [TS_92] (rows=500/500 width=178) - Output:["key","value"] - <-Reducer 30 [CONTAINS] llap - Reduce Output Operator [RS_98] - PartitionCols:_col1, _col0 - Select Operator [SEL_91] (rows=1025/319 width=178) - Output:["_col0","_col1"] - Group By Operator [GBY_90] (rows=1025/319 width=178) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 29 [SIMPLE_EDGE] - <-Map 34 [CONTAINS] llap - Reduce Output Operator [RS_89] - PartitionCols:_col1, _col0 - Select Operator [SEL_85] (rows=500/500 width=178) - Output:["_col0","_col1"] - Filter Operator [FIL_157] (rows=500/500 width=178) - predicate:value is not null - TableScan [TS_83] (rows=500/500 width=178) - Output:["key","value"] - <-Reducer 28 [CONTAINS] llap - Reduce Output Operator [RS_89] - PartitionCols:_col1, _col0 - Select Operator [SEL_82] (rows=525/319 width=178) + Reducer 10 llap + File Output Operator [FS_5] + Group By Operator [GBY_3] (rows=1/1 width=880) + Output:["_col0","_col1"],aggregations:["compute_stats(VALUE._col0, 'hll')","compute_stats(VALUE._col2, 'hll')"] + <-Reducer 9 [CUSTOM_SIMPLE_EDGE] llap + PARTITION_ONLY_SHUFFLE [RS_2] + Select Operator [SEL_1] (rows=2941/319 width=178) + Output:["key","value"] + Group By Operator [GBY_112] (rows=2941/319 width=178) + Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 + <-Union 8 [SIMPLE_EDGE] + <-Reducer 16 [CONTAINS] llap + Reduce Output Operator [RS_111] + PartitionCols:_col0, _col1 + Select Operator [SEL_107] (rows=192/304 width=175) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_164] (rows=192/304 width=175) + Conds:RS_104._col1=RS_105._col1(Inner),Output:["_col0","_col3"] + <-Reducer 15 [SIMPLE_EDGE] llap + SHUFFLE [RS_104] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_163] (rows=39/115 width=264) + Conds:RS_101._col0=RS_102._col0(Inner),Output:["_col0","_col1","_col3"] + <-Map 14 [SIMPLE_EDGE] llap + SHUFFLE [RS_101] + PartitionCols:_col0 + Select Operator [SEL_14] (rows=25/25 width=175) + Output:["_col0","_col1"] + Filter Operator [FIL_146] (rows=25/25 width=175) + predicate:(key is not null and value is not null) + TableScan [TS_12] (rows=25/25 width=175) + default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Map 28 [SIMPLE_EDGE] llap + SHUFFLE [RS_102] + PartitionCols:_col0 + Select Operator [SEL_70] (rows=25/25 width=175) + Output:["_col0","_col1"] + Filter Operator [FIL_154] (rows=25/25 width=175) + predicate:key is not null + TableScan [TS_68] (rows=25/25 width=175) + default@src1,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Reducer 35 [SIMPLE_EDGE] llap + SHUFFLE [RS_105] + PartitionCols:_col1 + Select Operator [SEL_100] (rows=1525/319 width=178) + Output:["_col1"] + Group By Operator [GBY_99] (rows=1525/319 width=178) + Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 + <-Union 34 [SIMPLE_EDGE] + <-Map 38 [CONTAINS] llap + Reduce Output Operator [RS_98] + PartitionCols:_col1, _col0 + Select Operator [SEL_94] (rows=500/500 width=178) + Output:["_col0","_col1"] + Filter Operator [FIL_158] (rows=500/500 width=178) + predicate:value is not null + TableScan [TS_92] (rows=500/500 width=178) + Output:["key","value"] + <-Reducer 33 [CONTAINS] llap + Reduce Output Operator [RS_98] + PartitionCols:_col1, _col0 + Select Operator [SEL_91] (rows=1025/319 width=178) + Output:["_col0","_col1"] + Group By Operator [GBY_90] (rows=1025/319 width=178) + Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 + <-Union 32 [SIMPLE_EDGE] + <-Map 37 [CONTAINS] llap + Reduce Output Operator [RS_89] + PartitionCols:_col1, _col0 + Select Operator [SEL_85] (rows=500/500 width=178) + Output:["_col0","_col1"] + Filter Operator [FIL_157] (rows=500/500 width=178) + predicate:value is not null + TableScan [TS_83] (rows=500/500 width=178) + Output:["key","value"] + <-Reducer 31 [CONTAINS] llap + Reduce Output Operator [RS_89] + PartitionCols:_col1, _col0 + Select Operator [SEL_82] (rows=525/319 width=178) + Output:["_col0","_col1"] + Group By Operator [GBY_81] (rows=525/319 width=178) + Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 + <-Union 30 [SIMPLE_EDGE] + <-Map 29 [CONTAINS] llap + Reduce Output Operator [RS_80] + PartitionCols:_col1, _col0 + Select Operator [SEL_73] (rows=25/25 width=175) + Output:["_col0","_col1"] + Filter Operator [FIL_155] (rows=25/25 width=175) + predicate:value is not null + TableScan [TS_71] (rows=25/25 width=175) + Output:["key","value"] + <-Map 36 [CONTAINS] llap + Reduce Output Operator [RS_80] + PartitionCols:_col1, _col0 + Select Operator [SEL_76] (rows=500/500 width=178) + Output:["_col0","_col1"] + Filter Operator [FIL_156] (rows=500/500 width=178) + predicate:value is not null + TableScan [TS_74] (rows=500/500 width=178) + Output:["key","value"] + <-Reducer 7 [CONTAINS] llap + Reduce Output Operator [RS_111] + PartitionCols:_col0, _col1 + Group By Operator [GBY_63] (rows=2749/309 width=178) + Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 + <-Union 6 [SIMPLE_EDGE] + <-Reducer 19 [CONTAINS] llap + Reduce Output Operator [RS_62] + PartitionCols:_col0, _col1 + Select Operator [SEL_58] (rows=2682/1056 width=178) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_162] (rows=2682/1056 width=178) + Conds:RS_55._col2=RS_56._col0(Inner),Output:["_col2","_col5"] + <-Map 27 [SIMPLE_EDGE] llap + SHUFFLE [RS_56] + PartitionCols:_col0 + Select Operator [SEL_51] (rows=500/500 width=178) + Output:["_col0","_col1"] + Filter Operator [FIL_152] (rows=500/500 width=178) + predicate:key is not null + TableScan [TS_49] (rows=500/500 width=178) + default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Reducer 18 [SIMPLE_EDGE] llap + SHUFFLE [RS_55] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_161] (rows=1658/512 width=87) + Conds:RS_52._col1=RS_53._col1(Inner),Output:["_col2"] + <-Map 17 [SIMPLE_EDGE] llap + SHUFFLE [RS_53] + PartitionCols:_col1 + Select Operator [SEL_48] (rows=500/500 width=178) Output:["_col0","_col1"] - Group By Operator [GBY_81] (rows=525/319 width=178) + Filter Operator [FIL_151] (rows=500/500 width=178) + predicate:(key is not null and value is not null) + TableScan [TS_15] (rows=500/500 width=178) + default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Reducer 24 [SIMPLE_EDGE] llap + SHUFFLE [RS_52] + PartitionCols:_col1 + Select Operator [SEL_45] (rows=1025/319 width=178) + Output:["_col1"] + Group By Operator [GBY_44] (rows=1025/319 width=178) Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 27 [SIMPLE_EDGE] + <-Union 23 [SIMPLE_EDGE] <-Map 26 [CONTAINS] llap - Reduce Output Operator [RS_80] + Reduce Output Operator [RS_43] PartitionCols:_col1, _col0 - Select Operator [SEL_73] (rows=25/25 width=175) + Select Operator [SEL_39] (rows=500/500 width=178) Output:["_col0","_col1"] - Filter Operator [FIL_155] (rows=25/25 width=175) + Filter Operator [FIL_150] (rows=500/500 width=178) predicate:value is not null - TableScan [TS_71] (rows=25/25 width=175) + TableScan [TS_37] (rows=500/500 width=178) Output:["key","value"] - <-Map 33 [CONTAINS] llap - Reduce Output Operator [RS_80] + <-Reducer 22 [CONTAINS] llap + Reduce Output Operator [RS_43] PartitionCols:_col1, _col0 - Select Operator [SEL_76] (rows=500/500 width=178) + Select Operator [SEL_36] (rows=525/319 width=178) Output:["_col0","_col1"] - Filter Operator [FIL_156] (rows=500/500 width=178) + Group By Operator [GBY_35] (rows=525/319 width=178) + Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 + <-Union 21 [SIMPLE_EDGE] + <-Map 20 [CONTAINS] llap + Reduce Output Operator [RS_34] + PartitionCols:_col1, _col0 + Select Operator [SEL_27] (rows=25/25 width=175) + Output:["_col0","_col1"] + Filter Operator [FIL_148] (rows=25/25 width=175) + predicate:value is not null + TableScan [TS_25] (rows=25/25 width=175) + Output:["key","value"] + <-Map 25 [CONTAINS] llap + Reduce Output Operator [RS_34] + PartitionCols:_col1, _col0 + Select Operator [SEL_30] (rows=500/500 width=178) + Output:["_col0","_col1"] + Filter Operator [FIL_149] (rows=500/500 width=178) + predicate:value is not null + TableScan [TS_28] (rows=500/500 width=178) + Output:["key","value"] + <-Reducer 5 [CONTAINS] llap + Reduce Output Operator [RS_62] + PartitionCols:_col0, _col1 + Select Operator [SEL_24] (rows=67/61 width=177) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_160] (rows=67/61 width=177) + Conds:RS_21._col2=RS_22._col0(Inner),Output:["_col2","_col5"] + <-Map 17 [SIMPLE_EDGE] llap + SHUFFLE [RS_22] + PartitionCols:_col0 + Select Operator [SEL_17] (rows=500/500 width=178) + Output:["_col0","_col1"] + Filter Operator [FIL_147] (rows=500/500 width=178) + predicate:key is not null + Please refer to the previous TableScan [TS_15] + <-Reducer 4 [SIMPLE_EDGE] llap + SHUFFLE [RS_21] + PartitionCols:_col2 + Merge Join Operator [MERGEJOIN_159] (rows=42/52 width=86) + Conds:RS_18._col1=RS_19._col1(Inner),Output:["_col2"] + <-Map 14 [SIMPLE_EDGE] llap + SHUFFLE [RS_19] + PartitionCols:_col1 + Please refer to the previous Select Operator [SEL_14] + <-Reducer 3 [SIMPLE_EDGE] llap + SHUFFLE [RS_18] + PartitionCols:_col1 + Select Operator [SEL_11] (rows=525/319 width=178) + Output:["_col1"] + Group By Operator [GBY_10] (rows=525/319 width=178) + Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 + <-Union 2 [SIMPLE_EDGE] + <-Map 1 [CONTAINS] llap + Reduce Output Operator [RS_9] + PartitionCols:_col1, _col0 + Select Operator [SEL_2] (rows=25/25 width=175) + Output:["_col0","_col1"] + Filter Operator [FIL_144] (rows=25/25 width=175) predicate:value is not null - TableScan [TS_74] (rows=500/500 width=178) + TableScan [TS_0] (rows=25/25 width=175) Output:["key","value"] - <-Reducer 7 [CONTAINS] llap - Reduce Output Operator [RS_111] - PartitionCols:_col0, _col1 - Group By Operator [GBY_63] (rows=2749/309 width=178) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 6 [SIMPLE_EDGE] - <-Reducer 16 [CONTAINS] llap - Reduce Output Operator [RS_62] - PartitionCols:_col0, _col1 - Select Operator [SEL_58] (rows=2682/1056 width=178) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_162] (rows=2682/1056 width=178) - Conds:RS_55._col2=RS_56._col0(Inner),Output:["_col2","_col5"] - <-Map 24 [SIMPLE_EDGE] llap - SHUFFLE [RS_56] - PartitionCols:_col0 - Select Operator [SEL_51] (rows=500/500 width=178) - Output:["_col0","_col1"] - Filter Operator [FIL_152] (rows=500/500 width=178) - predicate:key is not null - TableScan [TS_49] (rows=500/500 width=178) - default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Reducer 15 [SIMPLE_EDGE] llap - SHUFFLE [RS_55] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_161] (rows=1658/512 width=87) - Conds:RS_52._col1=RS_53._col1(Inner),Output:["_col2"] - <-Map 14 [SIMPLE_EDGE] llap - SHUFFLE [RS_53] - PartitionCols:_col1 - Select Operator [SEL_48] (rows=500/500 width=178) - Output:["_col0","_col1"] - Filter Operator [FIL_151] (rows=500/500 width=178) - predicate:(key is not null and value is not null) - TableScan [TS_15] (rows=500/500 width=178) - default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Reducer 21 [SIMPLE_EDGE] llap - SHUFFLE [RS_52] - PartitionCols:_col1 - Select Operator [SEL_45] (rows=1025/319 width=178) - Output:["_col1"] - Group By Operator [GBY_44] (rows=1025/319 width=178) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 20 [SIMPLE_EDGE] - <-Map 23 [CONTAINS] llap - Reduce Output Operator [RS_43] - PartitionCols:_col1, _col0 - Select Operator [SEL_39] (rows=500/500 width=178) - Output:["_col0","_col1"] - Filter Operator [FIL_150] (rows=500/500 width=178) - predicate:value is not null - TableScan [TS_37] (rows=500/500 width=178) - Output:["key","value"] - <-Reducer 19 [CONTAINS] llap - Reduce Output Operator [RS_43] - PartitionCols:_col1, _col0 - Select Operator [SEL_36] (rows=525/319 width=178) - Output:["_col0","_col1"] - Group By Operator [GBY_35] (rows=525/319 width=178) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 18 [SIMPLE_EDGE] - <-Map 17 [CONTAINS] llap - Reduce Output Operator [RS_34] - PartitionCols:_col1, _col0 - Select Operator [SEL_27] (rows=25/25 width=175) - Output:["_col0","_col1"] - Filter Operator [FIL_148] (rows=25/25 width=175) - predicate:value is not null - TableScan [TS_25] (rows=25/25 width=175) - Output:["key","value"] - <-Map 22 [CONTAINS] llap - Reduce Output Operator [RS_34] - PartitionCols:_col1, _col0 - Select Operator [SEL_30] (rows=500/500 width=178) - Output:["_col0","_col1"] - Filter Operator [FIL_149] (rows=500/500 width=178) - predicate:value is not null - TableScan [TS_28] (rows=500/500 width=178) - Output:["key","value"] - <-Reducer 5 [CONTAINS] llap - Reduce Output Operator [RS_62] - PartitionCols:_col0, _col1 - Select Operator [SEL_24] (rows=67/61 width=177) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_160] (rows=67/61 width=177) - Conds:RS_21._col2=RS_22._col0(Inner),Output:["_col2","_col5"] - <-Map 14 [SIMPLE_EDGE] llap - SHUFFLE [RS_22] - PartitionCols:_col0 - Select Operator [SEL_17] (rows=500/500 width=178) - Output:["_col0","_col1"] - Filter Operator [FIL_147] (rows=500/500 width=178) - predicate:key is not null - Please refer to the previous TableScan [TS_15] - <-Reducer 4 [SIMPLE_EDGE] llap - SHUFFLE [RS_21] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_159] (rows=42/52 width=86) - Conds:RS_18._col1=RS_19._col1(Inner),Output:["_col2"] - <-Map 11 [SIMPLE_EDGE] llap - SHUFFLE [RS_19] - PartitionCols:_col1 - Please refer to the previous Select Operator [SEL_14] - <-Reducer 3 [SIMPLE_EDGE] llap - SHUFFLE [RS_18] - PartitionCols:_col1 - Select Operator [SEL_11] (rows=525/319 width=178) - Output:["_col1"] - Group By Operator [GBY_10] (rows=525/319 width=178) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 2 [SIMPLE_EDGE] - <-Map 1 [CONTAINS] llap - Reduce Output Operator [RS_9] - PartitionCols:_col1, _col0 - Select Operator [SEL_2] (rows=25/25 width=175) - Output:["_col0","_col1"] - Filter Operator [FIL_144] (rows=25/25 width=175) - predicate:value is not null - TableScan [TS_0] (rows=25/25 width=175) - Output:["key","value"] - <-Map 10 [CONTAINS] llap - Reduce Output Operator [RS_9] - PartitionCols:_col1, _col0 - Select Operator [SEL_5] (rows=500/500 width=178) - Output:["_col0","_col1"] - Filter Operator [FIL_145] (rows=500/500 width=178) - predicate:value is not null - TableScan [TS_3] (rows=500/500 width=178) - Output:["key","value"] - File Output Operator [FS_117] - table:{"name:":"default.b"} - Please refer to the previous Group By Operator [GBY_112] - File Output Operator [FS_119] - table:{"name:":"default.c"} - Please refer to the previous Group By Operator [GBY_112] + <-Map 13 [CONTAINS] llap + Reduce Output Operator [RS_9] + PartitionCols:_col1, _col0 + Select Operator [SEL_5] (rows=500/500 width=178) + Output:["_col0","_col1"] + Filter Operator [FIL_145] (rows=500/500 width=178) + predicate:value is not null + TableScan [TS_3] (rows=500/500 width=178) + Output:["key","value"] + Reducer 11 llap + File Output Operator [FS_5] + Group By Operator [GBY_3] (rows=1/1 width=880) + Output:["_col0","_col1"],aggregations:["compute_stats(VALUE._col0, 'hll')","compute_stats(VALUE._col2, 'hll')"] + <-Reducer 9 [CUSTOM_SIMPLE_EDGE] llap + PARTITION_ONLY_SHUFFLE [RS_2] + Select Operator [SEL_1] (rows=2941/319 width=178) + Output:["key","value"] + Please refer to the previous Group By Operator [GBY_112] + Reducer 12 llap + File Output Operator [FS_5] + Group By Operator [GBY_3] (rows=1/1 width=880) + Output:["_col0","_col1"],aggregations:["compute_stats(VALUE._col0, 'hll')","compute_stats(VALUE._col2, 'hll')"] + <-Reducer 9 [CUSTOM_SIMPLE_EDGE] llap + PARTITION_ONLY_SHUFFLE [RS_2] + Select Operator [SEL_1] (rows=2941/319 width=178) + Output:["key","value"] + Please refer to the previous Group By Operator [GBY_112] Stage-6 Stats Work{} Stage-1 @@ -1738,10 +1805,12 @@ POSTHOOK: type: QUERY Plan optimized by CBO. Vertex dependency in root stage -Map 6 <- Union 3 (CONTAINS) +Map 8 <- Union 3 (CONTAINS) Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE), Union 3 (CONTAINS) Reducer 4 <- Union 3 (SIMPLE_EDGE) Reducer 5 <- Reducer 4 (SIMPLE_EDGE) +Reducer 6 <- Reducer 5 (CUSTOM_SIMPLE_EDGE) +Reducer 7 <- Reducer 4 (CUSTOM_SIMPLE_EDGE) Stage-4 Stats Work{} @@ -1751,40 +1820,54 @@ Stage-4 Stage-3 Dependency Collection{} Stage-2 - Reducer 5 llap - File Output Operator [FS_18] - table:{"name:":"default.dest1"} - Select Operator [SEL_16] (rows=309/310 width=272) - Output:["_col0","_col1"] - Group By Operator [GBY_15] (rows=309/310 width=96) - Output:["_col0","_col1"],aggregations:["count(DISTINCT KEY._col1:0._col0)"],keys:KEY._col0 - <-Reducer 4 [SIMPLE_EDGE] llap - SHUFFLE [RS_14] - PartitionCols:_col0 - Group By Operator [GBY_11] (rows=501/310 width=272) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 3 [SIMPLE_EDGE] - <-Map 6 [CONTAINS] llap - Reduce Output Operator [RS_10] - PartitionCols:_col0, _col1 - Select Operator [SEL_6] (rows=500/500 width=178) - Output:["_col0","_col1"] - TableScan [TS_5] (rows=500/500 width=178) - Output:["key","value"] - <-Reducer 2 [CONTAINS] llap - Reduce Output Operator [RS_10] - PartitionCols:_col0, _col1 - Select Operator [SEL_4] (rows=1/1 width=272) - Output:["_col0","_col1"] - Group By Operator [GBY_3] (rows=1/1 width=8) - Output:["_col0"],aggregations:["count()"] - <-Map 1 [CUSTOM_SIMPLE_EDGE] llap - PARTITION_ONLY_SHUFFLE [RS_2] - Select Operator [SEL_1] (rows=500/500 width=10) - TableScan [TS_0] (rows=500/500 width=10) - default@src,s1,Tbl:COMPLETE,Col:COMPLETE - File Output Operator [FS_24] - table:{"name:":"default.dest2"} + Reducer 6 llap + File Output Operator [FS_5] + Group By Operator [GBY_3] (rows=1/2 width=880) + Output:["_col0","_col1"],aggregations:["compute_stats(VALUE._col0, 'hll')","compute_stats(VALUE._col2, 'hll')"] + <-Reducer 5 [CUSTOM_SIMPLE_EDGE] llap + File Output Operator [FS_18] + table:{"name:":"default.dest1"} + Select Operator [SEL_16] (rows=309/310 width=272) + Output:["_col0","_col1"] + Group By Operator [GBY_15] (rows=309/310 width=96) + Output:["_col0","_col1"],aggregations:["count(DISTINCT KEY._col1:0._col0)"],keys:KEY._col0 + <-Reducer 4 [SIMPLE_EDGE] llap + PARTITION_ONLY_SHUFFLE [RS_14] + PartitionCols:_col0 + Group By Operator [GBY
<TRUNCATED>