You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2017/02/15 01:26:09 UTC

[07/15] hive git commit: HIVE-15905 : Inefficient plan for correlated subqueries (Vineet Garg via Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/bddf5a7a/ql/src/test/results/clientpositive/perf/query6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query6.q.out b/ql/src/test/results/clientpositive/perf/query6.q.out
index 094459e..ca17206 100644
--- a/ql/src/test/results/clientpositive/perf/query6.q.out
+++ b/ql/src/test/results/clientpositive/perf/query6.q.out
@@ -1,7 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[196][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
-Warning: Shuffle Join MERGEJOIN[193][tables = [$hdt$_5, $hdt$_6]] in Stage 'Reducer 21' is a cross product
-Warning: Shuffle Join MERGEJOIN[194][tables = [$hdt$_5, $hdt$_6, $hdt$_7]] in Stage 'Reducer 22' is a cross product
-Warning: Shuffle Join MERGEJOIN[195][tables = [$hdt$_5, $hdt$_6, $hdt$_7, $hdt$_8, $hdt$_9, $hdt$_10, $hdt$_11]] in Stage 'Reducer 23' is a cross product
+Warning: Shuffle Join MERGEJOIN[111][tables = [$hdt$_5, $hdt$_6]] in Stage 'Reducer 16' is a cross product
 PREHOOK: query: explain select  a.ca_state state, count(*) cnt
  from customer_address a
      ,customer c
@@ -53,24 +50,16 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Reducer 9 (CUSTOM_SIMPLE_EDGE)
-Reducer 12 <- Map 11 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
-Reducer 14 <- Map 13 (SIMPLE_EDGE)
-Reducer 16 <- Map 15 (SIMPLE_EDGE), Reducer 19 (SIMPLE_EDGE)
-Reducer 18 <- Map 17 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE)
-Reducer 19 <- Reducer 18 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE), Reducer 10 (CUSTOM_SIMPLE_EDGE)
-Reducer 21 <- Map 20 (CUSTOM_SIMPLE_EDGE), Reducer 27 (CUSTOM_SIMPLE_EDGE)
-Reducer 22 <- Reducer 21 (CUSTOM_SIMPLE_EDGE), Reducer 29 (CUSTOM_SIMPLE_EDGE)
-Reducer 23 <- Map 30 (CUSTOM_SIMPLE_EDGE), Map 31 (CUSTOM_SIMPLE_EDGE), Map 32 (CUSTOM_SIMPLE_EDGE), Map 33 (CUSTOM_SIMPLE_EDGE), Reducer 22 (CUSTOM_SIMPLE_EDGE)
-Reducer 24 <- Reducer 23 (SIMPLE_EDGE)
-Reducer 26 <- Map 25 (SIMPLE_EDGE)
-Reducer 27 <- Reducer 26 (CUSTOM_SIMPLE_EDGE)
-Reducer 29 <- Map 28 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 35 <- Map 34 (SIMPLE_EDGE), Map 36 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 16 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 35 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 13 (SIMPLE_EDGE)
+Reducer 15 <- Map 14 (SIMPLE_EDGE)
+Reducer 16 <- Reducer 15 (CUSTOM_SIMPLE_EDGE), Reducer 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 21 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
+Reducer 19 <- Map 18 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 20 <- Reducer 19 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Map 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 17 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
 Reducer 9 <- Map 8 (SIMPLE_EDGE)
@@ -80,253 +69,163 @@ Stage-0
     limit:100
     Stage-1
       Reducer 7
-      File Output Operator [FS_129]
-        Limit [LIM_128] (rows=100 width=1)
+      File Output Operator [FS_77]
+        Limit [LIM_76] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_127] (rows=187554724582209678 width=1)
+          Select Operator [SEL_75] (rows=42591679 width=88)
             Output:["_col0","_col1"]
           <-Reducer 6 [SIMPLE_EDGE]
-            SHUFFLE [RS_126]
-              Filter Operator [FIL_124] (rows=187554724582209678 width=1)
+            SHUFFLE [RS_74]
+              Filter Operator [FIL_72] (rows=42591679 width=88)
                 predicate:(_col1 >= 10)
-                Group By Operator [GBY_123] (rows=562664173746629034 width=1)
+                Group By Operator [GBY_71] (rows=127775039 width=88)
                   Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
                 <-Reducer 5 [SIMPLE_EDGE]
-                  SHUFFLE [RS_122]
+                  SHUFFLE [RS_70]
                     PartitionCols:_col0
-                    Group By Operator [GBY_121] (rows=1125328347493258069 width=1)
+                    Group By Operator [GBY_69] (rows=255550079 width=88)
                       Output:["_col0","_col1"],aggregations:["count()"],keys:_col1
-                      Select Operator [SEL_120] (rows=1125328347493258069 width=1)
+                      Select Operator [SEL_68] (rows=255550079 width=88)
                         Output:["_col1"]
-                        Filter Operator [FIL_119] (rows=1125328347493258069 width=1)
+                        Filter Operator [FIL_67] (rows=255550079 width=88)
                           predicate:(_col10 > (1.2 * CASE WHEN (_col15 is null) THEN (null) ELSE (_col14) END))
-                          Select Operator [SEL_118] (rows=3375985042479774208 width=1)
+                          Select Operator [SEL_66] (rows=766650239 width=88)
                             Output:["_col1","_col10","_col14","_col15"]
-                            Merge Join Operator [MERGEJOIN_203] (rows=3375985042479774208 width=1)
-                              Conds:RS_115._col2=RS_116._col0(Inner),Output:["_col8","_col10","_col11","_col16"]
-                            <-Reducer 35 [SIMPLE_EDGE]
-                              SHUFFLE [RS_116]
+                            Merge Join Operator [MERGEJOIN_114] (rows=766650239 width=88)
+                              Conds:RS_63._col6=RS_64._col0(Inner),Output:["_col1","_col3","_col4","_col12"]
+                            <-Reducer 17 [SIMPLE_EDGE]
+                              SHUFFLE [RS_64]
                                 PartitionCols:_col0
-                                Merge Join Operator [MERGEJOIN_200] (rows=88000001 width=860)
-                                  Conds:RS_102._col1=RS_103._col0(Inner),Output:["_col0","_col3"]
-                                <-Map 34 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_102]
-                                    PartitionCols:_col1
-                                    Select Operator [SEL_98] (rows=80000000 width=860)
-                                      Output:["_col0","_col1"]
-                                      Filter Operator [FIL_191] (rows=80000000 width=860)
-                                        predicate:(c_current_addr_sk is not null and c_customer_sk is not null)
-                                        TableScan [TS_96] (rows=80000000 width=860)
-                                          default@customer,c,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk"]
-                                <-Map 36 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_103]
-                                    PartitionCols:_col0
-                                    Select Operator [SEL_101] (rows=40000000 width=1014)
-                                      Output:["_col0","_col1"]
-                                      Filter Operator [FIL_192] (rows=40000000 width=1014)
-                                        predicate:ca_address_sk is not null
-                                        TableScan [TS_99] (rows=40000000 width=1014)
-                                          default@customer_address,a,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state"]
-                            <-Reducer 4 [SIMPLE_EDGE]
-                              SHUFFLE [RS_115]
-                                PartitionCols:_col2
-                                Merge Join Operator [MERGEJOIN_202] (rows=3069077244824791552 width=1)
-                                  Conds:RS_112._col1=RS_113._col0(Inner),Output:["_col2","_col8","_col10","_col11"]
-                                <-Reducer 16 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_113]
-                                    PartitionCols:_col0
-                                    Merge Join Operator [MERGEJOIN_199] (rows=2790070162094850048 width=1)
-                                      Conds:RS_92._col2=RS_93._col2(Left Outer),Output:["_col0","_col1","_col3","_col4"]
-                                    <-Map 15 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_92]
-                                        PartitionCols:_col2
-                                        Select Operator [SEL_33] (rows=462000 width=1436)
-                                          Output:["_col0","_col1","_col2"]
-                                          Filter Operator [FIL_186] (rows=462000 width=1436)
-                                            predicate:i_item_sk is not null
-                                            TableScan [TS_31] (rows=462000 width=1436)
-                                              default@item,i,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_current_price","i_category"]
-                                    <-Reducer 19 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_93]
-                                        PartitionCols:_col2
-                                        Select Operator [SEL_91] (rows=2536427365110644736 width=1)
-                                          Output:["_col0","_col1","_col2"]
-                                          Group By Operator [GBY_90] (rows=2536427365110644736 width=1)
-                                            Output:["_col0","_col1"],aggregations:["avg(VALUE._col0)"],keys:KEY._col0
-                                          <-Reducer 18 [SIMPLE_EDGE]
-                                            SHUFFLE [RS_89]
+                                Select Operator [SEL_53] (rows=80353 width=1119)
+                                  Output:["_col0"]
+                                  Merge Join Operator [MERGEJOIN_112] (rows=80353 width=1119)
+                                    Conds:RS_50._col0=RS_51._col1(Inner),Output:["_col2"]
+                                  <-Map 21 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_51]
+                                      PartitionCols:_col1
+                                      Select Operator [SEL_46] (rows=73049 width=1119)
+                                        Output:["_col0","_col1"]
+                                        Filter Operator [FIL_107] (rows=73049 width=1119)
+                                          predicate:(d_date_sk is not null and d_month_seq is not null)
+                                          TableScan [TS_44] (rows=73049 width=1119)
+                                            default@date_dim,d,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]
+                                  <-Reducer 16 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_50]
+                                      PartitionCols:_col0
+                                      Merge Join Operator [MERGEJOIN_111] (rows=9131 width=1128)
+                                        Conds:(Inner),Output:["_col0"]
+                                      <-Reducer 15 [CUSTOM_SIMPLE_EDGE]
+                                        PARTITION_ONLY_SHUFFLE [RS_47]
+                                          Group By Operator [GBY_28] (rows=9131 width=1119)
+                                            Output:["_col0"],keys:KEY._col0
+                                          <-Map 14 [SIMPLE_EDGE]
+                                            SHUFFLE [RS_27]
                                               PartitionCols:_col0
-                                              Group By Operator [GBY_88] (rows=5072854730221289472 width=1)
-                                                Output:["_col0","_col1"],aggregations:["avg(_col0)"],keys:_col2
-                                                Select Operator [SEL_87] (rows=5072854730221289472 width=1)
-                                                  Output:["_col2","_col0"]
-                                                  Merge Join Operator [MERGEJOIN_198] (rows=5072854730221289472 width=1)
-                                                    Conds:RS_84._col1=RS_85._col0(Inner),Output:["_col0","_col2"]
-                                                  <-Map 17 [SIMPLE_EDGE]
-                                                    SHUFFLE [RS_84]
-                                                      PartitionCols:_col1
-                                                      Select Operator [SEL_35] (rows=462000 width=1436)
-                                                        Output:["_col0","_col1"]
-                                                        TableScan [TS_34] (rows=462000 width=1436)
-                                                          default@item,j,Tbl:COMPLETE,Col:NONE,Output:["i_current_price","i_category"]
-                                                  <-Reducer 24 [SIMPLE_EDGE]
-                                                    SHUFFLE [RS_85]
-                                                      PartitionCols:_col0
-                                                      Group By Operator [GBY_82] (rows=4611686018427387903 width=1)
+                                              Group By Operator [GBY_26] (rows=18262 width=1119)
+                                                Output:["_col0"],keys:d_month_seq
+                                                Select Operator [SEL_25] (rows=18262 width=1119)
+                                                  Output:["d_month_seq"]
+                                                  Filter Operator [FIL_105] (rows=18262 width=1119)
+                                                    predicate:((d_year = 2000) and (d_moy = 2) and d_month_seq is not null)
+                                                    TableScan [TS_23] (rows=73049 width=1119)
+                                                      default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_month_seq","d_year","d_moy"]
+                                      <-Reducer 20 [CUSTOM_SIMPLE_EDGE]
+                                        PARTITION_ONLY_SHUFFLE [RS_48]
+                                          Select Operator [SEL_43] (rows=1 width=8)
+                                            Filter Operator [FIL_42] (rows=1 width=8)
+                                              predicate:(sq_count_check(_col0) <= 1)
+                                              Group By Operator [GBY_40] (rows=1 width=8)
+                                                Output:["_col0"],aggregations:["count(VALUE._col0)"]
+                                              <-Reducer 19 [CUSTOM_SIMPLE_EDGE]
+                                                PARTITION_ONLY_SHUFFLE [RS_39]
+                                                  Group By Operator [GBY_38] (rows=1 width=8)
+                                                    Output:["_col0"],aggregations:["count()"]
+                                                    Select Operator [SEL_36] (rows=9131 width=1119)
+                                                      Group By Operator [GBY_35] (rows=9131 width=1119)
                                                         Output:["_col0"],keys:KEY._col0
-                                                      <-Reducer 23 [SIMPLE_EDGE]
-                                                        SHUFFLE [RS_81]
+                                                      <-Map 18 [SIMPLE_EDGE]
+                                                        SHUFFLE [RS_34]
                                                           PartitionCols:_col0
-                                                          Group By Operator [GBY_80] (rows=9223372036854775807 width=1)
-                                                            Output:["_col0"],keys:_col3
-                                                            Merge Join Operator [MERGEJOIN_195] (rows=9223372036854775807 width=1)
-                                                              Conds:(Inner),(Inner),(Inner),(Inner),Output:["_col3"]
-                                                            <-Map 30 [CUSTOM_SIMPLE_EDGE]
-                                                              PARTITION_ONLY_SHUFFLE [RS_74]
-                                                                Select Operator [SEL_60] (rows=462000 width=1436)
-                                                                  Output:["_col0"]
-                                                                  TableScan [TS_59] (rows=462000 width=1436)
-                                                                    default@item,i,Tbl:COMPLETE,Col:NONE,Output:["i_category"]
-                                                            <-Map 31 [CUSTOM_SIMPLE_EDGE]
-                                                              PARTITION_ONLY_SHUFFLE [RS_75]
-                                                                Select Operator [SEL_62] (rows=40000000 width=4)
-                                                                  TableScan [TS_61] (rows=40000000 width=1014)
-                                                                    default@customer_address,a,Tbl:COMPLETE,Col:COMPLETE
-                                                            <-Map 32 [CUSTOM_SIMPLE_EDGE]
-                                                              PARTITION_ONLY_SHUFFLE [RS_76]
-                                                                Select Operator [SEL_64] (rows=80000000 width=4)
-                                                                  TableScan [TS_63] (rows=80000000 width=860)
-                                                                    default@customer,c,Tbl:COMPLETE,Col:COMPLETE
-                                                            <-Map 33 [CUSTOM_SIMPLE_EDGE]
-                                                              PARTITION_ONLY_SHUFFLE [RS_77]
-                                                                Select Operator [SEL_66] (rows=575995635 width=4)
-                                                                  TableScan [TS_65] (rows=575995635 width=88)
-                                                                    default@store_sales,s,Tbl:COMPLETE,Col:COMPLETE
-                                                            <-Reducer 22 [CUSTOM_SIMPLE_EDGE]
-                                                              PARTITION_ONLY_SHUFFLE [RS_73]
-                                                                Merge Join Operator [MERGEJOIN_194] (rows=667010419 width=1133)
-                                                                  Conds:(Left Outer)
-                                                                <-Reducer 21 [CUSTOM_SIMPLE_EDGE]
-                                                                  PARTITION_ONLY_SHUFFLE [RS_70]
-                                                                    Merge Join Operator [MERGEJOIN_193] (rows=73049 width=13)
-                                                                      Conds:(Inner)
-                                                                    <-Map 20 [CUSTOM_SIMPLE_EDGE]
-                                                                      PARTITION_ONLY_SHUFFLE [RS_67]
-                                                                        Select Operator [SEL_37] (rows=73049 width=4)
-                                                                          TableScan [TS_36] (rows=73049 width=1119)
-                                                                            default@date_dim,d,Tbl:COMPLETE,Col:COMPLETE
-                                                                    <-Reducer 27 [CUSTOM_SIMPLE_EDGE]
-                                                                      PARTITION_ONLY_SHUFFLE [RS_68]
-                                                                        Select Operator [SEL_51] (rows=1 width=8)
-                                                                          Filter Operator [FIL_50] (rows=1 width=8)
-                                                                            predicate:(sq_count_check(_col0) <= 1)
-                                                                            Group By Operator [GBY_48] (rows=1 width=8)
-                                                                              Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                                                            <-Reducer 26 [CUSTOM_SIMPLE_EDGE]
-                                                                              PARTITION_ONLY_SHUFFLE [RS_47]
-                                                                                Group By Operator [GBY_46] (rows=1 width=8)
-                                                                                  Output:["_col0"],aggregations:["count()"]
-                                                                                  Select Operator [SEL_44] (rows=9131 width=1119)
-                                                                                    Group By Operator [GBY_43] (rows=9131 width=1119)
-                                                                                      Output:["_col0"],keys:KEY._col0
-                                                                                    <-Map 25 [SIMPLE_EDGE]
-                                                                                      SHUFFLE [RS_42]
-                                                                                        PartitionCols:_col0
-                                                                                        Group By Operator [GBY_41] (rows=18262 width=1119)
-                                                                                          Output:["_col0"],keys:d_month_seq
-                                                                                          Select Operator [SEL_40] (rows=18262 width=1119)
-                                                                                            Output:["d_month_seq"]
-                                                                                            Filter Operator [FIL_188] (rows=18262 width=1119)
-                                                                                              predicate:((d_year = 2000) and (d_moy = 2))
-                                                                                              TableScan [TS_38] (rows=73049 width=1119)
-                                                                                                default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_month_seq","d_year","d_moy"]
-                                                                <-Reducer 29 [CUSTOM_SIMPLE_EDGE]
-                                                                  PARTITION_ONLY_SHUFFLE [RS_71]
-                                                                    Select Operator [SEL_58] (rows=9131 width=1119)
-                                                                      Group By Operator [GBY_57] (rows=9131 width=1119)
-                                                                        Output:["_col0"],keys:KEY._col0
-                                                                      <-Map 28 [SIMPLE_EDGE]
-                                                                        SHUFFLE [RS_56]
-                                                                          PartitionCols:_col0
-                                                                          Group By Operator [GBY_55] (rows=18262 width=1119)
-                                                                            Output:["_col0"],keys:d_month_seq
-                                                                            Select Operator [SEL_54] (rows=18262 width=1119)
-                                                                              Output:["d_month_seq"]
-                                                                              Filter Operator [FIL_189] (rows=18262 width=1119)
-                                                                                predicate:((d_year = 2000) and (d_moy = 2))
-                                                                                TableScan [TS_52] (rows=73049 width=1119)
-                                                                                  default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_month_seq","d_year","d_moy"]
-                                <-Reducer 3 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_112]
-                                    PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_201] (rows=633595212 width=97)
-                                      Conds:RS_109._col0=RS_110._col0(Inner),Output:["_col1","_col2"]
-                                    <-Reducer 12 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_110]
+                                                          Group By Operator [GBY_33] (rows=18262 width=1119)
+                                                            Output:["_col0"],keys:d_month_seq
+                                                            Select Operator [SEL_32] (rows=18262 width=1119)
+                                                              Output:["d_month_seq"]
+                                                              Filter Operator [FIL_106] (rows=18262 width=1119)
+                                                                predicate:((d_year = 2000) and (d_moy = 2))
+                                                                TableScan [TS_30] (rows=73049 width=1119)
+                                                                  default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_month_seq","d_year","d_moy"]
+                            <-Reducer 4 [SIMPLE_EDGE]
+                              SHUFFLE [RS_63]
+                                PartitionCols:_col6
+                                Merge Join Operator [MERGEJOIN_113] (rows=696954748 width=88)
+                                  Conds:RS_60._col8=RS_61._col0(Inner),Output:["_col1","_col3","_col4","_col6","_col12"]
+                                <-Reducer 12 [SIMPLE_EDGE]
+                                  SHUFFLE [RS_61]
+                                    PartitionCols:_col0
+                                    Merge Join Operator [MERGEJOIN_110] (rows=88000001 width=860)
+                                      Conds:RS_19._col1=RS_20._col0(Inner),Output:["_col0","_col3"]
+                                    <-Map 11 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_19]
+                                        PartitionCols:_col1
+                                        Select Operator [SEL_15] (rows=80000000 width=860)
+                                          Output:["_col0","_col1"]
+                                          Filter Operator [FIL_103] (rows=80000000 width=860)
+                                            predicate:(c_current_addr_sk is not null and c_customer_sk is not null)
+                                            TableScan [TS_13] (rows=80000000 width=860)
+                                              default@customer,c,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk"]
+                                    <-Map 13 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_20]
                                         PartitionCols:_col0
-                                        Merge Join Operator [MERGEJOIN_197] (rows=80353 width=1119)
-                                          Conds:RS_27._col1=RS_28._col0(Inner),Output:["_col0"]
-                                        <-Map 11 [SIMPLE_EDGE]
-                                          SHUFFLE [RS_27]
-                                            PartitionCols:_col1
-                                            Select Operator [SEL_19] (rows=73049 width=1119)
-                                              Output:["_col0","_col1"]
-                                              Filter Operator [FIL_184] (rows=73049 width=1119)
-                                                predicate:(d_date_sk is not null and d_month_seq is not null)
-                                                TableScan [TS_17] (rows=73049 width=1119)
-                                                  default@date_dim,d,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]
-                                        <-Reducer 14 [SIMPLE_EDGE]
-                                          SHUFFLE [RS_28]
-                                            PartitionCols:_col0
-                                            Group By Operator [GBY_25] (rows=9131 width=1119)
-                                              Output:["_col0"],keys:KEY._col0
-                                            <-Map 13 [SIMPLE_EDGE]
-                                              SHUFFLE [RS_24]
-                                                PartitionCols:_col0
-                                                Group By Operator [GBY_23] (rows=18262 width=1119)
-                                                  Output:["_col0"],keys:d_month_seq
-                                                  Select Operator [SEL_22] (rows=18262 width=1119)
-                                                    Output:["d_month_seq"]
-                                                    Filter Operator [FIL_185] (rows=18262 width=1119)
-                                                      predicate:((d_year = 2000) and (d_moy = 2) and d_month_seq is not null)
-                                                      TableScan [TS_20] (rows=73049 width=1119)
-                                                        default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_month_seq","d_year","d_moy"]
+                                        Select Operator [SEL_18] (rows=40000000 width=1014)
+                                          Output:["_col0","_col1"]
+                                          Filter Operator [FIL_104] (rows=40000000 width=1014)
+                                            predicate:ca_address_sk is not null
+                                            TableScan [TS_16] (rows=40000000 width=1014)
+                                              default@customer_address,a,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state"]
+                                <-Reducer 3 [SIMPLE_EDGE]
+                                  SHUFFLE [RS_60]
+                                    PartitionCols:_col8
+                                    Merge Join Operator [MERGEJOIN_109] (rows=633595212 width=88)
+                                      Conds:RS_57._col0=RS_58._col1(Inner),Output:["_col1","_col3","_col4","_col6","_col8"]
+                                    <-Map 10 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_58]
+                                        PartitionCols:_col1
+                                        Select Operator [SEL_12] (rows=575995635 width=88)
+                                          Output:["_col0","_col1","_col2"]
+                                          Filter Operator [FIL_102] (rows=575995635 width=88)
+                                            predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null and ss_item_sk is not null)
+                                            TableScan [TS_10] (rows=575995635 width=88)
+                                              default@store_sales,s,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk"]
                                     <-Reducer 2 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_109]
+                                      SHUFFLE [RS_57]
                                         PartitionCols:_col0
-                                        Merge Join Operator [MERGEJOIN_196] (rows=575995635 width=97)
-                                          Conds:(Inner),Output:["_col0","_col1","_col2"]
-                                        <-Map 1 [CUSTOM_SIMPLE_EDGE]
-                                          PARTITION_ONLY_SHUFFLE [RS_106]
-                                            Select Operator [SEL_2] (rows=575995635 width=88)
+                                        Merge Join Operator [MERGEJOIN_108] (rows=508200 width=1436)
+                                          Conds:RS_54._col2=RS_55._col2(Left Outer),Output:["_col0","_col1","_col3","_col4"]
+                                        <-Map 1 [SIMPLE_EDGE]
+                                          SHUFFLE [RS_54]
+                                            PartitionCols:_col2
+                                            Select Operator [SEL_2] (rows=462000 width=1436)
+                                              Output:["_col0","_col1","_col2"]
+                                              Filter Operator [FIL_100] (rows=462000 width=1436)
+                                                predicate:i_item_sk is not null
+                                                TableScan [TS_0] (rows=462000 width=1436)
+                                                  default@item,i,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_current_price","i_category"]
+                                        <-Reducer 9 [SIMPLE_EDGE]
+                                          SHUFFLE [RS_55]
+                                            PartitionCols:_col2
+                                            Select Operator [SEL_9] (rows=115500 width=1436)
                                               Output:["_col0","_col1","_col2"]
-                                              Filter Operator [FIL_182] (rows=575995635 width=88)
-                                                predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null and ss_item_sk is not null)
-                                                TableScan [TS_0] (rows=575995635 width=88)
-                                                  default@store_sales,s,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk"]
-                                        <-Reducer 10 [CUSTOM_SIMPLE_EDGE]
-                                          PARTITION_ONLY_SHUFFLE [RS_107]
-                                            Select Operator [SEL_16] (rows=1 width=8)
-                                              Filter Operator [FIL_15] (rows=1 width=8)
-                                                predicate:(sq_count_check(_col0) <= 1)
-                                                Group By Operator [GBY_13] (rows=1 width=8)
-                                                  Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                                <-Reducer 9 [CUSTOM_SIMPLE_EDGE]
-                                                  PARTITION_ONLY_SHUFFLE [RS_12]
-                                                    Group By Operator [GBY_11] (rows=1 width=8)
-                                                      Output:["_col0"],aggregations:["count()"]
-                                                      Select Operator [SEL_9] (rows=9131 width=1119)
-                                                        Group By Operator [GBY_8] (rows=9131 width=1119)
-                                                          Output:["_col0"],keys:KEY._col0
-                                                        <-Map 8 [SIMPLE_EDGE]
-                                                          SHUFFLE [RS_7]
-                                                            PartitionCols:_col0
-                                                            Group By Operator [GBY_6] (rows=18262 width=1119)
-                                                              Output:["_col0"],keys:d_month_seq
-                                                              Select Operator [SEL_5] (rows=18262 width=1119)
-                                                                Output:["d_month_seq"]
-                                                                Filter Operator [FIL_183] (rows=18262 width=1119)
-                                                                  predicate:((d_year = 2000) and (d_moy = 2))
-                                                                  TableScan [TS_3] (rows=73049 width=1119)
-                                                                    default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_month_seq","d_year","d_moy"]
+                                              Group By Operator [GBY_8] (rows=115500 width=1436)
+                                                Output:["_col0","_col1"],aggregations:["avg(VALUE._col0)"],keys:KEY._col0
+                                              <-Map 8 [SIMPLE_EDGE]
+                                                SHUFFLE [RS_7]
+                                                  PartitionCols:_col0
+                                                  Group By Operator [GBY_6] (rows=231000 width=1436)
+                                                    Output:["_col0","_col1"],aggregations:["avg(i_current_price)"],keys:i_category
+                                                    Select Operator [SEL_5] (rows=231000 width=1436)
+                                                      Output:["i_category","i_current_price"]
+                                                      Filter Operator [FIL_101] (rows=231000 width=1436)
+                                                        predicate:(i_category = i_category)
+                                                        TableScan [TS_3] (rows=462000 width=1436)
+                                                          default@item,j,Tbl:COMPLETE,Col:NONE,Output:["i_current_price","i_category"]