http://git-wip-us.apache.org/repos/asf/hive/blob/3bbc24d2/ql/src/test/results/clientpositive/llap/explainuser_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/explainuser_1.q.out 
b/ql/src/test/results/clientpositive/llap/explainuser_1.q.out
index 5adf401..83c9cf9 100644
--- a/ql/src/test/results/clientpositive/llap/explainuser_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/explainuser_1.q.out
@@ -44,6 +44,9 @@ POSTHOOK: query: explain insert overwrite table 
src_orc_merge_test_part partitio
 POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE)
+
 Stage-3
   Stats Work{}
     Stage-0
@@ -52,13 +55,26 @@ Stage-3
         Stage-2
           Dependency Collection{}
             Stage-1
-              Map 1 llap
-              File Output Operator [FS_3]
-                table:{"name:":"default.src_orc_merge_test_part"}
-                Select Operator [SEL_1] (rows=500 width=95)
-                  Output:["_col0","_col1"]
-                  TableScan [TS_0] (rows=500 width=178)
-                    
default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+              Reducer 2 llap
+              File Output Operator [FS_6]
+                Select Operator [SEL_5] (rows=1 width=1077)
+                  Output:["_col0","_col1","_col2","_col3"]
+                  Group By Operator [GBY_4] (rows=1 width=1077)
+                    
Output:["_col0","_col1","_col2","_col3"],aggregations:["compute_stats(VALUE._col0)","compute_stats(VALUE._col1)"],keys:KEY._col0,
 KEY._col1
+                  <-Map 1 [SIMPLE_EDGE] llap
+                    File Output Operator [FS_3]
+                      table:{"name:":"default.src_orc_merge_test_part"}
+                      Select Operator [SEL_1] (rows=500 width=95)
+                        Output:["_col0","_col1"]
+                        TableScan [TS_0] (rows=500 width=178)
+                          
default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+                    SHUFFLE [RS_3]
+                      PartitionCols:_col0, _col1
+                      Group By Operator [GBY_2] (rows=1 width=1061)
+                        
Output:["_col0","_col1","_col2","_col3"],aggregations:["compute_stats(key, 
'hll')","compute_stats(value, 'hll')"],keys:ds, ts
+                        Select Operator [SEL_1] (rows=500 width=292)
+                          Output:["key","value","ds","ts"]
+                           Please refer to the previous Select Operator [SEL_1]
 
 PREHOOK: query: insert overwrite table src_orc_merge_test_part 
partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src
 PREHOOK: type: QUERY
@@ -78,6 +94,7 @@ Plan optimized by CBO.
 
 Vertex dependency in root stage
 Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
 
 Stage-3
   Stats Work{}
@@ -87,23 +104,36 @@ Stage-3
         Stage-2
           Dependency Collection{}
             Stage-1
-              Reducer 2 llap
-              File Output Operator [FS_7]
-                table:{"name:":"default.src_orc_merge_test_part"}
-                Select Operator [SEL_6] (rows=100 width=95)
-                  Output:["_col0","_col1"]
-                  Limit [LIM_5] (rows=100 width=178)
-                    Number of rows:100
-                    Select Operator [SEL_4] (rows=100 width=178)
-                      Output:["_col0","_col1"]
-                    <-Map 1 [CUSTOM_SIMPLE_EDGE] llap
-                      PARTITION_ONLY_SHUFFLE [RS_3]
-                        Limit [LIM_2] (rows=100 width=178)
+              Reducer 3 llap
+              File Output Operator [FS_6]
+                Select Operator [SEL_5] (rows=1 width=1077)
+                  Output:["_col0","_col1","_col2","_col3"]
+                  Group By Operator [GBY_4] (rows=1 width=1077)
+                    
Output:["_col0","_col1","_col2","_col3"],aggregations:["compute_stats(VALUE._col0)","compute_stats(VALUE._col1)"],keys:KEY._col0,
 KEY._col1
+                  <-Reducer 2 [SIMPLE_EDGE] llap
+                    File Output Operator [FS_7]
+                      table:{"name:":"default.src_orc_merge_test_part"}
+                      Select Operator [SEL_6] (rows=100 width=95)
+                        Output:["_col0","_col1"]
+                        Limit [LIM_5] (rows=100 width=178)
                           Number of rows:100
-                          Select Operator [SEL_1] (rows=500 width=178)
+                          Select Operator [SEL_4] (rows=100 width=178)
                             Output:["_col0","_col1"]
-                            TableScan [TS_0] (rows=500 width=178)
-                              
default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+                          <-Map 1 [CUSTOM_SIMPLE_EDGE] llap
+                            PARTITION_ONLY_SHUFFLE [RS_3]
+                              Limit [LIM_2] (rows=100 width=178)
+                                Number of rows:100
+                                Select Operator [SEL_1] (rows=500 width=178)
+                                  Output:["_col0","_col1"]
+                                  TableScan [TS_0] (rows=500 width=178)
+                                    
default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+                    SHUFFLE [RS_3]
+                      PartitionCols:_col0, _col1
+                      Group By Operator [GBY_2] (rows=1 width=1061)
+                        
Output:["_col0","_col1","_col2","_col3"],aggregations:["compute_stats(key, 
'hll')","compute_stats(value, 'hll')"],keys:ds, ts
+                        Select Operator [SEL_1] (rows=100 width=292)
+                          Output:["key","value","ds","ts"]
+                           Please refer to the previous Select Operator [SEL_6]
 
 PREHOOK: query: explain select count(1) from src_orc_merge_test_part where 
ds='2012-01-03' and ts='2012-01-03+14:46:31'
 PREHOOK: type: QUERY
@@ -130,16 +160,16 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_8]
-        Group By Operator [GBY_6] (rows=1 width=204)
+        Group By Operator [GBY_6] (rows=1 width=16)
           
Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"]
         <-Map 1 [CUSTOM_SIMPLE_EDGE] llap
           PARTITION_ONLY_SHUFFLE [RS_5]
-            Group By Operator [GBY_4] (rows=1 width=204)
+            Group By Operator [GBY_4] (rows=1 width=16)
               Output:["_col0","_col1"],aggregations:["sum(_col0)","sum(_col1)"]
-              Select Operator [SEL_2] (rows=500 width=272)
+              Select Operator [SEL_2] (rows=500 width=95)
                 Output:["_col0","_col1"]
-                TableScan [TS_0] (rows=500 width=272)
-                  
default@src_orc_merge_test_part,src_orc_merge_test_part,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+                TableScan [TS_0] (rows=500 width=95)
+                  
default@src_orc_merge_test_part,src_orc_merge_test_part,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
 
 PREHOOK: query: alter table src_orc_merge_test_part partition 
(ds='2012-01-03', ts='2012-01-03+14:46:31') concatenate
 PREHOOK: type: ALTER_PARTITION_MERGE
@@ -189,16 +219,16 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_8]
-        Group By Operator [GBY_6] (rows=1 width=204)
+        Group By Operator [GBY_6] (rows=1 width=16)
           
Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"]
         <-Map 1 [CUSTOM_SIMPLE_EDGE] llap
           PARTITION_ONLY_SHUFFLE [RS_5]
-            Group By Operator [GBY_4] (rows=1 width=204)
+            Group By Operator [GBY_4] (rows=1 width=16)
               Output:["_col0","_col1"],aggregations:["sum(_col0)","sum(_col1)"]
-              Select Operator [SEL_2] (rows=500 width=272)
+              Select Operator [SEL_2] (rows=500 width=95)
                 Output:["_col0","_col1"]
-                TableScan [TS_0] (rows=500 width=272)
-                  
default@src_orc_merge_test_part,src_orc_merge_test_part,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+                TableScan [TS_0] (rows=500 width=95)
+                  
default@src_orc_merge_test_part,src_orc_merge_test_part,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
 
 PREHOOK: query: drop table src_orc_merge_test_part
 PREHOOK: type: DROPTABLE
@@ -3030,14 +3060,14 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_6]
-        Group By Operator [GBY_4] (rows=1 width=204)
+        Group By Operator [GBY_4] (rows=1 width=16)
           
Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"]
         <-Map 1 [CUSTOM_SIMPLE_EDGE] llap
           PARTITION_ONLY_SHUFFLE [RS_3]
-            Select Operator [SEL_1] (rows=5 width=188)
+            Select Operator [SEL_1] (rows=5 width=93)
               Output:["_col0","_col1"]
-              TableScan [TS_0] (rows=5 width=188)
-                
default@tgt_rc_merge_test,tgt_rc_merge_test,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+              TableScan [TS_0] (rows=5 width=93)
+                
default@tgt_rc_merge_test,tgt_rc_merge_test,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
 
 PREHOOK: query: alter table tgt_rc_merge_test concatenate
 PREHOOK: type: ALTER_TABLE_MERGE
@@ -3102,14 +3132,14 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_6]
-        Group By Operator [GBY_4] (rows=1 width=204)
+        Group By Operator [GBY_4] (rows=1 width=16)
           
Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"]
         <-Map 1 [CUSTOM_SIMPLE_EDGE] llap
           PARTITION_ONLY_SHUFFLE [RS_3]
-            Select Operator [SEL_1] (rows=5 width=188)
+            Select Operator [SEL_1] (rows=5 width=93)
               Output:["_col0","_col1"]
-              TableScan [TS_0] (rows=5 width=188)
-                
default@tgt_rc_merge_test,tgt_rc_merge_test,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+              TableScan [TS_0] (rows=5 width=93)
+                
default@tgt_rc_merge_test,tgt_rc_merge_test,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
 
 PREHOOK: query: drop table src_rc_merge_test
 PREHOOK: type: DROPTABLE
@@ -3753,20 +3783,20 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_6]
-        Select Operator [SEL_5] (rows=28 width=8)
+        Select Operator [SEL_5] (rows=48 width=15)
           Output:["_col0","_col1","_col2","_col3"]
-          Merge Join Operator [MERGEJOIN_7] (rows=28 width=8)
+          Merge Join Operator [MERGEJOIN_7] (rows=48 width=15)
             
Conds:RS_2.key=RS_3.key(Inner),Output:["_col0","_col1","_col5","_col6"]
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_2]
               PartitionCols:key
-              TableScan [TS_0] (rows=26 width=8)
-                
default@smb_input1,a,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+              TableScan [TS_0] (rows=26 width=7)
+                
default@smb_input1,a,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
           <-Map 3 [SIMPLE_EDGE] llap
             SHUFFLE [RS_3]
               PartitionCols:key
-              TableScan [TS_1] (rows=26 width=8)
-                
default@smb_input1,b,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+              TableScan [TS_1] (rows=26 width=7)
+                
default@smb_input1,b,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
 
 PREHOOK: query: explain select /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN 
smb_input1 b ON a.key <=> b.key AND a.value <=> b.value
 PREHOOK: type: QUERY
@@ -3783,20 +3813,20 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_6]
-        Select Operator [SEL_5] (rows=28 width=8)
+        Select Operator [SEL_5] (rows=48 width=15)
           Output:["_col0","_col1","_col2","_col3"]
-          Merge Join Operator [MERGEJOIN_7] (rows=28 width=8)
+          Merge Join Operator [MERGEJOIN_7] (rows=48 width=15)
             Conds:RS_2.key, value=RS_3.key, 
value(Inner),Output:["_col0","_col1","_col5","_col6"]
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_2]
               PartitionCols:key, value
-              TableScan [TS_0] (rows=26 width=8)
-                
default@smb_input1,a,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+              TableScan [TS_0] (rows=26 width=7)
+                
default@smb_input1,a,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
           <-Map 3 [SIMPLE_EDGE] llap
             SHUFFLE [RS_3]
               PartitionCols:key, value
-              TableScan [TS_1] (rows=26 width=8)
-                
default@smb_input1,b,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+              TableScan [TS_1] (rows=26 width=7)
+                
default@smb_input1,b,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
 
 PREHOOK: query: explain select /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT 
OUTER JOIN smb_input1 b ON a.key <=> b.key
 PREHOOK: type: QUERY
@@ -3813,20 +3843,20 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_6]
-        Select Operator [SEL_5] (rows=28 width=8)
+        Select Operator [SEL_5] (rows=48 width=15)
           Output:["_col0","_col1","_col2","_col3"]
-          Merge Join Operator [MERGEJOIN_7] (rows=28 width=8)
+          Merge Join Operator [MERGEJOIN_7] (rows=48 width=15)
             Conds:RS_2.key=RS_3.key(Right 
Outer),Output:["_col0","_col1","_col5","_col6"]
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_2]
               PartitionCols:key
-              TableScan [TS_0] (rows=26 width=8)
-                
default@smb_input1,a,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+              TableScan [TS_0] (rows=26 width=7)
+                
default@smb_input1,a,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
           <-Map 3 [SIMPLE_EDGE] llap
             SHUFFLE [RS_3]
               PartitionCols:key
-              TableScan [TS_1] (rows=26 width=8)
-                
default@smb_input1,b,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+              TableScan [TS_1] (rows=26 width=7)
+                
default@smb_input1,b,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
 
 PREHOOK: query: explain select /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN 
smb_input1 b ON a.key <=> b.key
 PREHOOK: type: QUERY
@@ -3843,20 +3873,20 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_6]
-        Select Operator [SEL_5] (rows=28 width=8)
+        Select Operator [SEL_5] (rows=48 width=15)
           Output:["_col0","_col1","_col2","_col3"]
-          Merge Join Operator [MERGEJOIN_7] (rows=28 width=8)
+          Merge Join Operator [MERGEJOIN_7] (rows=48 width=15)
             
Conds:RS_2.key=RS_3.key(Inner),Output:["_col0","_col1","_col5","_col6"]
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_2]
               PartitionCols:key
-              TableScan [TS_0] (rows=26 width=8)
-                
default@smb_input1,a,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+              TableScan [TS_0] (rows=26 width=7)
+                
default@smb_input1,a,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
           <-Map 3 [SIMPLE_EDGE] llap
             SHUFFLE [RS_3]
               PartitionCols:key
-              TableScan [TS_1] (rows=26 width=8)
-                
default@smb_input1,b,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+              TableScan [TS_1] (rows=26 width=7)
+                
default@smb_input1,b,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
 
 PREHOOK: query: explain select /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 
OUTER JOIN smb_input1 b ON a.key <=> b.key
 PREHOOK: type: QUERY
@@ -3873,20 +3903,20 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_6]
-        Select Operator [SEL_5] (rows=28 width=8)
+        Select Operator [SEL_5] (rows=48 width=15)
           Output:["_col0","_col1","_col2","_col3"]
-          Merge Join Operator [MERGEJOIN_7] (rows=28 width=8)
+          Merge Join Operator [MERGEJOIN_7] (rows=48 width=15)
             Conds:RS_2.key=RS_3.key(Left 
Outer),Output:["_col0","_col1","_col5","_col6"]
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_2]
               PartitionCols:key
-              TableScan [TS_0] (rows=26 width=8)
-                
default@smb_input1,a,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+              TableScan [TS_0] (rows=26 width=7)
+                
default@smb_input1,a,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
           <-Map 3 [SIMPLE_EDGE] llap
             SHUFFLE [RS_3]
               PartitionCols:key
-              TableScan [TS_1] (rows=26 width=8)
-                
default@smb_input1,b,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+              TableScan [TS_1] (rows=26 width=7)
+                
default@smb_input1,b,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
 
 PREHOOK: query: drop table sales
 PREHOOK: type: DROPTABLE
@@ -4834,8 +4864,12 @@ Plan not optimized by CBO.
 Vertex dependency in root stage
 Reducer 2 <- Map 1 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE)
+Reducer 5 <- Reducer 4 (CUSTOM_SIMPLE_EDGE)
+Reducer 6 <- Reducer 2 (SIMPLE_EDGE)
+Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
+Reducer 8 <- Reducer 7 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Reducer 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-4
   Stats Work{}
@@ -4845,49 +4879,75 @@ Stage-4
         Stage-3
           Dependency Collection{}
             Stage-2
-              Reducer 3 llap
-              File Output Operator [FS_9]
-                table:{"name:":"default.part_4"}
-                Select Operator [SEL_7] (rows=26 width=239)
-                  Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                  PTF Operator [PTF_6] (rows=26 width=499)
-                    Function 
definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS 
FIRST","partition by:":"_col2"}]
-                    Select Operator [SEL_5] (rows=26 width=499)
-                      Output:["_col1","_col2","_col5","_col7"]
-                    <-Reducer 2 [SIMPLE_EDGE] llap
-                      SHUFFLE [RS_4]
-                        PartitionCols:_col2
-                        PTF Operator [PTF_3] (rows=26 width=499)
-                          Function definitions:[{},{"Partition table 
definition":{"name:":"noop","order by:":"_col1 ASC NULLS FIRST","partition 
by:":"_col2"}}]
-                          Select Operator [SEL_2] (rows=26 width=499)
-                            Output:["_col1","_col2","_col5","_col7"]
-                          <-Map 1 [SIMPLE_EDGE] llap
-                            SHUFFLE [RS_1]
-                              PartitionCols:p_mfgr
-                              TableScan [TS_0] (rows=26 width=231)
-                                
default@part,part,Tbl:COMPLETE,Col:COMPLETE,Output:["p_mfgr","p_name","p_retailprice","p_size"]
               Reducer 5 llap
-              File Output Operator [FS_20]
-                table:{"name:":"default.part_5"}
-                Select Operator [SEL_17] (rows=26 width=247)
-                  
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                  PTF Operator [PTF_16] (rows=26 width=499)
-                    Function 
definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 ASC NULLS 
FIRST, _col2 ASC NULLS FIRST","partition by:":"_col3"}]
-                    Select Operator [SEL_15] (rows=26 width=499)
-                      Output:["_col0","_col2","_col3","_col6"]
-                    <-Reducer 4 [SIMPLE_EDGE] llap
-                      SHUFFLE [RS_14]
-                        PartitionCols:_col2
-                        Select Operator [SEL_13] (rows=26 width=491)
-                          Output:["sum_window_0","_col1","_col2","_col5"]
-                          PTF Operator [PTF_12] (rows=26 width=491)
-                            Function 
definitions:[{},{"name:":"windowingtablefunction","order by:":"_col5 ASC NULLS 
FIRST","partition by:":"_col2"}]
-                            Select Operator [SEL_11] (rows=26 width=491)
-                              Output:["_col1","_col2","_col5"]
+              File Output Operator [FS_7]
+                Group By Operator [GBY_5] (rows=1 width=2640)
+                  
Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["compute_stats(VALUE._col0)","compute_stats(VALUE._col1)","compute_stats(VALUE._col2)","compute_stats(VALUE._col3)","compute_stats(VALUE._col4)","compute_stats(VALUE._col5)"]
+                <-Reducer 4 [CUSTOM_SIMPLE_EDGE] llap
+                  PARTITION_ONLY_SHUFFLE [RS_4]
+                    Group By Operator [GBY_3] (rows=1 width=2576)
+                      
Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["compute_stats(VALUE._col0,
 'hll')","compute_stats(VALUE._col2, 'hll')","compute_stats(VALUE._col3, 
'hll')","compute_stats(VALUE._col4, 'hll')","compute_stats(VALUE._col5, 
'hll')","compute_stats(VALUE._col6, 'hll')"]
+                    <-Reducer 3 [CUSTOM_SIMPLE_EDGE] llap
+                      File Output Operator [FS_9]
+                        table:{"name:":"default.part_4"}
+                        Select Operator [SEL_7] (rows=26 width=239)
+                          
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                          PTF Operator [PTF_6] (rows=26 width=499)
+                            Function 
definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS 
FIRST","partition by:":"_col2"}]
+                            Select Operator [SEL_5] (rows=26 width=499)
+                              Output:["_col1","_col2","_col5","_col7"]
                             <-Reducer 2 [SIMPLE_EDGE] llap
-                              SHUFFLE [RS_10]
+                              SHUFFLE [RS_4]
+                                PartitionCols:_col2
+                                PTF Operator [PTF_3] (rows=26 width=499)
+                                  Function definitions:[{},{"Partition table 
definition":{"name:":"noop","order by:":"_col1 ASC NULLS FIRST","partition 
by:":"_col2"}}]
+                                  Select Operator [SEL_2] (rows=26 width=499)
+                                    Output:["_col1","_col2","_col5","_col7"]
+                                  <-Map 1 [SIMPLE_EDGE] llap
+                                    SHUFFLE [RS_1]
+                                      PartitionCols:p_mfgr
+                                      TableScan [TS_0] (rows=26 width=231)
+                                        
default@part,part,Tbl:COMPLETE,Col:COMPLETE,Output:["p_mfgr","p_name","p_retailprice","p_size"]
+                      PARTITION_ONLY_SHUFFLE [RS_2]
+                        PartitionCols:rand()
+                        Select Operator [SEL_1] (rows=26 width=239)
+                          Output:["p_mfgr","p_name","p_size","r","dr","s"]
+                           Please refer to the previous Select Operator [SEL_7]
+              Reducer 9 llap
+              File Output Operator [FS_7]
+                Group By Operator [GBY_5] (rows=1 width=3520)
+                  
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["compute_stats(VALUE._col0)","compute_stats(VALUE._col1)","compute_stats(VALUE._col2)","compute_stats(VALUE._col3)","compute_stats(VALUE._col4)","compute_stats(VALUE._col5)","compute_stats(VALUE._col6)","compute_stats(VALUE._col7)"]
+                <-Reducer 8 [CUSTOM_SIMPLE_EDGE] llap
+                  PARTITION_ONLY_SHUFFLE [RS_4]
+                    Group By Operator [GBY_3] (rows=1 width=3424)
+                      
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["compute_stats(VALUE._col0,
 'hll')","compute_stats(VALUE._col2, 'hll')","compute_stats(VALUE._col3, 
'hll')","compute_stats(VALUE._col4, 'hll')","compute_stats(VALUE._col5, 
'hll')","compute_stats(VALUE._col6, 'hll')","compute_stats(VALUE._col7, 
'hll')","compute_stats(VALUE._col8, 'hll')"]
+                    <-Reducer 7 [CUSTOM_SIMPLE_EDGE] llap
+                      File Output Operator [FS_20]
+                        table:{"name:":"default.part_5"}
+                        Select Operator [SEL_17] (rows=26 width=247)
+                          
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                          PTF Operator [PTF_16] (rows=26 width=499)
+                            Function 
definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 ASC NULLS 
FIRST, _col2 ASC NULLS FIRST","partition by:":"_col3"}]
+                            Select Operator [SEL_15] (rows=26 width=499)
+                              Output:["_col0","_col2","_col3","_col6"]
+                            <-Reducer 6 [SIMPLE_EDGE] llap
+                              SHUFFLE [RS_14]
                                 PartitionCols:_col2
-                                 Please refer to the previous PTF Operator 
[PTF_3]
+                                Select Operator [SEL_13] (rows=26 width=491)
+                                  
Output:["sum_window_0","_col1","_col2","_col5"]
+                                  PTF Operator [PTF_12] (rows=26 width=491)
+                                    Function 
definitions:[{},{"name:":"windowingtablefunction","order by:":"_col5 ASC NULLS 
FIRST","partition by:":"_col2"}]
+                                    Select Operator [SEL_11] (rows=26 
width=491)
+                                      Output:["_col1","_col2","_col5"]
+                                    <-Reducer 2 [SIMPLE_EDGE] llap
+                                      SHUFFLE [RS_10]
+                                        PartitionCols:_col2
+                                         Please refer to the previous PTF 
Operator [PTF_3]
+                      PARTITION_ONLY_SHUFFLE [RS_2]
+                        PartitionCols:rand()
+                        Select Operator [SEL_1] (rows=26 width=247)
+                          
Output:["p_mfgr","p_name","p_size","s2","r","dr","cud","fv1"]
+                           Please refer to the previous Select Operator 
[SEL_17]
 Stage-5
   Stats Work{}
     Stage-1
@@ -5251,7 +5311,9 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE)
 
 Stage-3
   Stats Work{}
@@ -5261,31 +5323,44 @@ Stage-3
         Stage-2
           Dependency Collection{}
             Stage-1
-              Reducer 2 llap
-              File Output Operator [FS_11]
-                table:{"name:":"default.dest_j1"}
-                Select Operator [SEL_9] (rows=809 width=95)
-                  Output:["_col0","_col1"]
-                  Merge Join Operator [MERGEJOIN_16] (rows=809 width=178)
-                    Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col0","_col2"]
-                  <-Map 1 [SIMPLE_EDGE] llap
-                    SHUFFLE [RS_6]
-                      PartitionCols:_col0
-                      Select Operator [SEL_2] (rows=500 width=87)
-                        Output:["_col0"]
-                        Filter Operator [FIL_14] (rows=500 width=87)
-                          predicate:key is not null
-                          TableScan [TS_0] (rows=500 width=87)
-                            
default@src,src1,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-                  <-Map 3 [SIMPLE_EDGE] llap
-                    SHUFFLE [RS_7]
-                      PartitionCols:_col0
-                      Select Operator [SEL_5] (rows=500 width=178)
-                        Output:["_col0","_col1"]
-                        Filter Operator [FIL_15] (rows=500 width=178)
-                          predicate:key is not null
-                          TableScan [TS_3] (rows=500 width=178)
-                            
default@src,src2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+              Reducer 4 llap
+              File Output Operator [FS_7]
+                Group By Operator [GBY_5] (rows=1 width=880)
+                  
Output:["_col0","_col1"],aggregations:["compute_stats(VALUE._col0)","compute_stats(VALUE._col1)"]
+                <-Reducer 3 [CUSTOM_SIMPLE_EDGE] llap
+                  PARTITION_ONLY_SHUFFLE [RS_4]
+                    Group By Operator [GBY_3] (rows=1 width=864)
+                      
Output:["_col0","_col1"],aggregations:["compute_stats(VALUE._col0, 
'hll')","compute_stats(VALUE._col2, 'hll')"]
+                    <-Reducer 2 [CUSTOM_SIMPLE_EDGE] llap
+                      File Output Operator [FS_11]
+                        table:{"name:":"default.dest_j1"}
+                        Select Operator [SEL_9] (rows=809 width=95)
+                          Output:["_col0","_col1"]
+                          Merge Join Operator [MERGEJOIN_16] (rows=809 
width=178)
+                            
Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col0","_col2"]
+                          <-Map 1 [SIMPLE_EDGE] llap
+                            SHUFFLE [RS_6]
+                              PartitionCols:_col0
+                              Select Operator [SEL_2] (rows=500 width=87)
+                                Output:["_col0"]
+                                Filter Operator [FIL_14] (rows=500 width=87)
+                                  predicate:key is not null
+                                  TableScan [TS_0] (rows=500 width=87)
+                                    
default@src,src1,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
+                          <-Map 5 [SIMPLE_EDGE] llap
+                            SHUFFLE [RS_7]
+                              PartitionCols:_col0
+                              Select Operator [SEL_5] (rows=500 width=178)
+                                Output:["_col0","_col1"]
+                                Filter Operator [FIL_15] (rows=500 width=178)
+                                  predicate:key is not null
+                                  TableScan [TS_3] (rows=500 width=178)
+                                    
default@src,src2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+                      PARTITION_ONLY_SHUFFLE [RS_2]
+                        PartitionCols:rand()
+                        Select Operator [SEL_1] (rows=809 width=95)
+                          Output:["key","value"]
+                           Please refer to the previous Select Operator [SEL_9]
 
 PREHOOK: query: FROM src src1 JOIN src src2 ON (src1.key = src2.key)
 INSERT OVERWRITE TABLE dest_j1 select src1.key, src2.value

Reply via email to