You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2016/10/25 11:14:55 UTC

[1/3] hive git commit: HIVE-15029: Add logic to estimate stats for BETWEEN operator (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

Repository: hive
Updated Branches:
  refs/heads/master 749e83106 -> e2653db37


http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query64.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query64.q.out b/ql/src/test/results/clientpositive/perf/query64.q.out
index bb74565..468c1bc 100644
--- a/ql/src/test/results/clientpositive/perf/query64.q.out
+++ b/ql/src/test/results/clientpositive/perf/query64.q.out
@@ -144,9 +144,9 @@ Stage-0
                                                           <-Map 34 [SIMPLE_EDGE]
                                                             SHUFFLE [RS_74]
                                                               PartitionCols:_col0
-                                                              Select Operator [SEL_69] (rows=57750 width=1436)
+                                                              Select Operator [SEL_69] (rows=2851 width=1436)
                                                                 Output:["_col0","_col3"]
-                                                                Filter Operator [FIL_597] (rows=57750 width=1436)
+                                                                Filter Operator [FIL_597] (rows=2851 width=1436)
                                                                   predicate:((i_color) IN ('maroon', 'burnished', 'dim', 'steel', 'navajo', 'chocolate') and i_current_price BETWEEN 35 AND 45 and i_current_price BETWEEN 36 AND 50 and i_item_sk is not null)
                                                                   TableScan [TS_67] (rows=462000 width=1436)
                                                                     default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_current_price","i_color","i_product_name"]
@@ -487,9 +487,9 @@ Stage-0
                                                           <-Map 73 [SIMPLE_EDGE]
                                                             SHUFFLE [RS_204]
                                                               PartitionCols:_col0
-                                                              Select Operator [SEL_199] (rows=57750 width=1436)
+                                                              Select Operator [SEL_199] (rows=2851 width=1436)
                                                                 Output:["_col0","_col3"]
-                                                                Filter Operator [FIL_616] (rows=57750 width=1436)
+                                                                Filter Operator [FIL_616] (rows=2851 width=1436)
                                                                   predicate:((i_color) IN ('maroon', 'burnished', 'dim', 'steel', 'navajo', 'chocolate') and i_current_price BETWEEN 35 AND 45 and i_current_price BETWEEN 36 AND 50 and i_item_sk is not null)
                                                                   TableScan [TS_197] (rows=462000 width=1436)
                                                                     default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_current_price","i_color","i_product_name"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query65.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query65.q.out b/ql/src/test/results/clientpositive/perf/query65.q.out
index 50564a5..060cddf 100644
--- a/ql/src/test/results/clientpositive/perf/query65.q.out
+++ b/ql/src/test/results/clientpositive/perf/query65.q.out
@@ -151,9 +151,9 @@ Stage-0
                                           <-Map 11 [SIMPLE_EDGE]
                                             SHUFFLE [RS_21]
                                               PartitionCols:_col0
-                                              Select Operator [SEL_19] (rows=36524 width=1119)
+                                              Select Operator [SEL_19] (rows=8116 width=1119)
                                                 Output:["_col0"]
-                                                Filter Operator [FIL_76] (rows=36524 width=1119)
+                                                Filter Operator [FIL_76] (rows=8116 width=1119)
                                                   predicate:(d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null)
                                                   TableScan [TS_17] (rows=73049 width=1119)
                                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]
@@ -192,9 +192,9 @@ Stage-0
                                     <-Map 7 [SIMPLE_EDGE]
                                       SHUFFLE [RS_7]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_5] (rows=36524 width=1119)
+                                        Select Operator [SEL_5] (rows=8116 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_74] (rows=36524 width=1119)
+                                          Filter Operator [FIL_74] (rows=8116 width=1119)
                                             predicate:(d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null)
                                             TableScan [TS_3] (rows=73049 width=1119)
                                               default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query66.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query66.q.out b/ql/src/test/results/clientpositive/perf/query66.q.out
index 8f62292..5cf60f6 100644
--- a/ql/src/test/results/clientpositive/perf/query66.q.out
+++ b/ql/src/test/results/clientpositive/perf/query66.q.out
@@ -541,9 +541,9 @@ Stage-0
                                               <-Map 20 [SIMPLE_EDGE]
                                                 SHUFFLE [RS_49]
                                                   PartitionCols:_col0
-                                                  Select Operator [SEL_38] (rows=43200 width=471)
+                                                  Select Operator [SEL_38] (rows=9600 width=471)
                                                     Output:["_col0"]
-                                                    Filter Operator [FIL_111] (rows=43200 width=471)
+                                                    Filter Operator [FIL_111] (rows=9600 width=471)
                                                       predicate:(t_time BETWEEN 49530 AND 78330 and t_time_sk is not null)
                                                       TableScan [TS_36] (rows=86400 width=471)
                                                         default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_time"]
@@ -619,9 +619,9 @@ Stage-0
                                               <-Map 10 [SIMPLE_EDGE]
                                                 SHUFFLE [RS_16]
                                                   PartitionCols:_col0
-                                                  Select Operator [SEL_5] (rows=43200 width=471)
+                                                  Select Operator [SEL_5] (rows=9600 width=471)
                                                     Output:["_col0"]
-                                                    Filter Operator [FIL_106] (rows=43200 width=471)
+                                                    Filter Operator [FIL_106] (rows=9600 width=471)
                                                       predicate:(t_time BETWEEN 49530 AND 78330 and t_time_sk is not null)
                                                       TableScan [TS_3] (rows=86400 width=471)
                                                         default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_time"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query67.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query67.q.out b/ql/src/test/results/clientpositive/perf/query67.q.out
index da84d4a..41cd274 100644
--- a/ql/src/test/results/clientpositive/perf/query67.q.out
+++ b/ql/src/test/results/clientpositive/perf/query67.q.out
@@ -170,9 +170,9 @@ Stage-0
                                           <-Map 8 [SIMPLE_EDGE]
                                             SHUFFLE [RS_13]
                                               PartitionCols:_col0
-                                              Select Operator [SEL_5] (rows=36524 width=1119)
+                                              Select Operator [SEL_5] (rows=8116 width=1119)
                                                 Output:["_col0","_col2","_col3","_col4"]
-                                                Filter Operator [FIL_49] (rows=36524 width=1119)
+                                                Filter Operator [FIL_49] (rows=8116 width=1119)
                                                   predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
                                                   TableScan [TS_3] (rows=73049 width=1119)
                                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq","d_year","d_moy","d_qoy"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query68.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query68.q.out b/ql/src/test/results/clientpositive/perf/query68.q.out
index d0bddaf..b84bdf6 100644
--- a/ql/src/test/results/clientpositive/perf/query68.q.out
+++ b/ql/src/test/results/clientpositive/perf/query68.q.out
@@ -93,9 +93,9 @@ Stage-0
                                             <-Map 12 [SIMPLE_EDGE]
                                               SHUFFLE [RS_22]
                                                 PartitionCols:_col0
-                                                Select Operator [SEL_11] (rows=18262 width=1119)
+                                                Select Operator [SEL_11] (rows=4058 width=1119)
                                                   Output:["_col0"]
-                                                  Filter Operator [FIL_77] (rows=18262 width=1119)
+                                                  Filter Operator [FIL_77] (rows=4058 width=1119)
                                                     predicate:((d_year) IN (1998, 1999, 2000) and d_dom BETWEEN 1 AND 2 and d_date_sk is not null)
                                                     TableScan [TS_9] (rows=73049 width=1119)
                                                       default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_dom"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query70.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query70.q.out b/ql/src/test/results/clientpositive/perf/query70.q.out
index 4cfd4df..5a82cd1 100644
--- a/ql/src/test/results/clientpositive/perf/query70.q.out
+++ b/ql/src/test/results/clientpositive/perf/query70.q.out
@@ -67,9 +67,9 @@ Stage-0
                                     <-Map 7 [SIMPLE_EDGE]
                                       SHUFFLE [RS_44]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_5] (rows=36524 width=1119)
+                                        Select Operator [SEL_5] (rows=8116 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_81] (rows=36524 width=1119)
+                                          Filter Operator [FIL_81] (rows=8116 width=1119)
                                             predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
                                             TableScan [TS_3] (rows=73049 width=1119)
                                               default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]
@@ -140,9 +140,9 @@ Stage-0
                                                                 <-Map 15 [SIMPLE_EDGE]
                                                                   SHUFFLE [RS_19]
                                                                     PartitionCols:_col0
-                                                                    Select Operator [SEL_14] (rows=36524 width=1119)
+                                                                    Select Operator [SEL_14] (rows=8116 width=1119)
                                                                       Output:["_col0"]
-                                                                      Filter Operator [FIL_85] (rows=36524 width=1119)
+                                                                      Filter Operator [FIL_85] (rows=8116 width=1119)
                                                                         predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
                                                                         TableScan [TS_12] (rows=73049 width=1119)
                                                                           default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query73.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query73.q.out b/ql/src/test/results/clientpositive/perf/query73.q.out
index 00223c0..9e1a39a 100644
--- a/ql/src/test/results/clientpositive/perf/query73.q.out
+++ b/ql/src/test/results/clientpositive/perf/query73.q.out
@@ -18,13 +18,13 @@ Stage-0
     Stage-1
       Reducer 3
       File Output Operator [FS_37]
-        Select Operator [SEL_36] (rows=210828819 width=88)
+        Select Operator [SEL_36] (rows=88000001 width=860)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
         <-Reducer 2 [SIMPLE_EDGE]
           SHUFFLE [RS_35]
-            Select Operator [SEL_34] (rows=210828819 width=88)
+            Select Operator [SEL_34] (rows=88000001 width=860)
               Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-              Merge Join Operator [MERGEJOIN_60] (rows=210828819 width=88)
+              Merge Join Operator [MERGEJOIN_60] (rows=88000001 width=860)
                 Conds:RS_31._col0=RS_32._col1(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"]
               <-Map 1 [SIMPLE_EDGE]
                 SHUFFLE [RS_31]
@@ -38,7 +38,7 @@ Stage-0
               <-Reducer 8 [SIMPLE_EDGE]
                 SHUFFLE [RS_32]
                   PartitionCols:_col1
-                  Filter Operator [FIL_29] (rows=191662559 width=88)
+                  Filter Operator [FIL_29] (rows=42591679 width=88)
                     predicate:_col2 BETWEEN 1 AND 5
                     Select Operator [SEL_28] (rows=383325119 width=88)
                       Output:["_col0","_col1","_col2"]
@@ -91,9 +91,9 @@ Stage-0
                                     <-Map 9 [SIMPLE_EDGE]
                                       SHUFFLE [RS_16]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_8] (rows=18262 width=1119)
+                                        Select Operator [SEL_8] (rows=4058 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_54] (rows=18262 width=1119)
+                                          Filter Operator [FIL_54] (rows=4058 width=1119)
                                             predicate:((d_year) IN (1998, 1999, 2000) and d_dom BETWEEN 1 AND 2 and d_date_sk is not null)
                                             TableScan [TS_6] (rows=73049 width=1119)
                                               default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_dom"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query79.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query79.q.out b/ql/src/test/results/clientpositive/perf/query79.q.out
index f5a68fc..6ce9592 100644
--- a/ql/src/test/results/clientpositive/perf/query79.q.out
+++ b/ql/src/test/results/clientpositive/perf/query79.q.out
@@ -70,9 +70,9 @@ Stage-0
                                   <-Map 10 [SIMPLE_EDGE]
                                     SHUFFLE [RS_19]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_11] (rows=852 width=1910)
+                                      Select Operator [SEL_11] (rows=189 width=1910)
                                         Output:["_col0","_col2"]
-                                        Filter Operator [FIL_55] (rows=852 width=1910)
+                                        Filter Operator [FIL_55] (rows=189 width=1910)
                                           predicate:(s_number_employees BETWEEN 200 AND 295 and s_store_sk is not null)
                                           TableScan [TS_9] (rows=1704 width=1910)
                                             default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_number_employees","s_city"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query80.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query80.q.out b/ql/src/test/results/clientpositive/perf/query80.q.out
index b1b98cb..6595e89 100644
--- a/ql/src/test/results/clientpositive/perf/query80.q.out
+++ b/ql/src/test/results/clientpositive/perf/query80.q.out
@@ -106,9 +106,9 @@ Stage-0
                                               <-Map 24 [SIMPLE_EDGE]
                                                 SHUFFLE [RS_61]
                                                   PartitionCols:_col0
-                                                  Select Operator [SEL_47] (rows=36524 width=1119)
+                                                  Select Operator [SEL_47] (rows=8116 width=1119)
                                                     Output:["_col0"]
-                                                    Filter Operator [FIL_194] (rows=36524 width=1119)
+                                                    Filter Operator [FIL_194] (rows=8116 width=1119)
                                                       predicate:(d_date BETWEEN 1998-08-04 AND 1998-09-04 and d_date_sk is not null)
                                                       TableScan [TS_45] (rows=73049 width=1119)
                                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
@@ -198,9 +198,9 @@ Stage-0
                                               <-Map 36 [SIMPLE_EDGE]
                                                 SHUFFLE [RS_102]
                                                   PartitionCols:_col0
-                                                  Select Operator [SEL_88] (rows=36524 width=1119)
+                                                  Select Operator [SEL_88] (rows=8116 width=1119)
                                                     Output:["_col0"]
-                                                    Filter Operator [FIL_200] (rows=36524 width=1119)
+                                                    Filter Operator [FIL_200] (rows=8116 width=1119)
                                                       predicate:(d_date BETWEEN 1998-08-04 AND 1998-09-04 and d_date_sk is not null)
                                                       TableScan [TS_86] (rows=73049 width=1119)
                                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
@@ -290,9 +290,9 @@ Stage-0
                                               <-Map 12 [SIMPLE_EDGE]
                                                 SHUFFLE [RS_22]
                                                   PartitionCols:_col0
-                                                  Select Operator [SEL_8] (rows=36524 width=1119)
+                                                  Select Operator [SEL_8] (rows=8116 width=1119)
                                                     Output:["_col0"]
-                                                    Filter Operator [FIL_188] (rows=36524 width=1119)
+                                                    Filter Operator [FIL_188] (rows=8116 width=1119)
                                                       predicate:(d_date BETWEEN 1998-08-04 AND 1998-09-04 and d_date_sk is not null)
                                                       TableScan [TS_6] (rows=73049 width=1119)
                                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query82.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query82.q.out b/ql/src/test/results/clientpositive/perf/query82.q.out
index a049855..6f784c4 100644
--- a/ql/src/test/results/clientpositive/perf/query82.q.out
+++ b/ql/src/test/results/clientpositive/perf/query82.q.out
@@ -43,32 +43,32 @@ Stage-0
                     <-Map 5 [SIMPLE_EDGE]
                       SHUFFLE [RS_17]
                         PartitionCols:_col0
-                        Select Operator [SEL_5] (rows=115500 width=1436)
+                        Select Operator [SEL_5] (rows=25666 width=1436)
                           Output:["_col0","_col1","_col2","_col3"]
-                          Filter Operator [FIL_40] (rows=115500 width=1436)
+                          Filter Operator [FIL_40] (rows=25666 width=1436)
                             predicate:((i_manufact_id) IN (437, 129, 727, 663) and i_current_price BETWEEN 30 AND 60 and i_item_sk is not null)
                             TableScan [TS_3] (rows=462000 width=1436)
                               default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc","i_current_price","i_manufact_id"]
                     <-Reducer 7 [SIMPLE_EDGE]
                       SHUFFLE [RS_18]
                         PartitionCols:_col1
-                        Merge Join Operator [MERGEJOIN_43] (rows=20671200 width=15)
+                        Merge Join Operator [MERGEJOIN_43] (rows=4593600 width=15)
                           Conds:RS_12._col0=RS_13._col0(Inner),Output:["_col1"]
                         <-Map 6 [SIMPLE_EDGE]
                           SHUFFLE [RS_12]
                             PartitionCols:_col0
-                            Select Operator [SEL_8] (rows=18792000 width=15)
+                            Select Operator [SEL_8] (rows=4176000 width=15)
                               Output:["_col0","_col1"]
-                              Filter Operator [FIL_41] (rows=18792000 width=15)
+                              Filter Operator [FIL_41] (rows=4176000 width=15)
                                 predicate:(inv_quantity_on_hand BETWEEN 100 AND 500 and inv_item_sk is not null and inv_date_sk is not null)
                                 TableScan [TS_6] (rows=37584000 width=15)
                                   default@inventory,inventory,Tbl:COMPLETE,Col:NONE,Output:["inv_date_sk","inv_item_sk","inv_quantity_on_hand"]
                         <-Map 8 [SIMPLE_EDGE]
                           SHUFFLE [RS_13]
                             PartitionCols:_col0
-                            Select Operator [SEL_11] (rows=36524 width=1119)
+                            Select Operator [SEL_11] (rows=8116 width=1119)
                               Output:["_col0"]
-                              Filter Operator [FIL_42] (rows=36524 width=1119)
+                              Filter Operator [FIL_42] (rows=8116 width=1119)
                                 predicate:(d_date BETWEEN '2002-05-30' AND '2002-07-30' and d_date_sk is not null)
                                 TableScan [TS_9] (rows=73049 width=1119)
                                   default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query85.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query85.q.out b/ql/src/test/results/clientpositive/perf/query85.q.out
index 2c1e8b1..e7f7348 100644
--- a/ql/src/test/results/clientpositive/perf/query85.q.out
+++ b/ql/src/test/results/clientpositive/perf/query85.q.out
@@ -21,24 +21,24 @@ Stage-0
     Stage-1
       Reducer 5
       File Output Operator [FS_59]
-        Limit [LIM_58] (rows=100 width=135)
+        Limit [LIM_58] (rows=100 width=1014)
           Number of rows:100
-          Select Operator [SEL_57] (rows=39462256 width=135)
+          Select Operator [SEL_57] (rows=1220082 width=1014)
             Output:["_col0","_col1","_col2","_col3"]
           <-Reducer 4 [SIMPLE_EDGE]
             SHUFFLE [RS_56]
-              Select Operator [SEL_55] (rows=39462256 width=135)
+              Select Operator [SEL_55] (rows=1220082 width=1014)
                 Output:["_col0","_col1","_col2","_col3"]
-                Group By Operator [GBY_54] (rows=39462256 width=135)
+                Group By Operator [GBY_54] (rows=1220082 width=1014)
                   Output:["_col0","_col1","_col2","_col3"],aggregations:["avg(VALUE._col0)","avg(VALUE._col1)","avg(VALUE._col2)"],keys:KEY._col0
                 <-Reducer 3 [SIMPLE_EDGE]
                   SHUFFLE [RS_53]
                     PartitionCols:_col0
-                    Group By Operator [GBY_52] (rows=78924512 width=135)
+                    Group By Operator [GBY_52] (rows=2440165 width=1014)
                       Output:["_col0","_col1","_col2","_col3"],aggregations:["avg(_col6)","avg(_col16)","avg(_col15)"],keys:_col28
-                      Select Operator [SEL_51] (rows=78924512 width=135)
+                      Select Operator [SEL_51] (rows=2440165 width=1014)
                         Output:["_col28","_col6","_col16","_col15"]
-                        Merge Join Operator [MERGEJOIN_109] (rows=78924512 width=135)
+                        Merge Join Operator [MERGEJOIN_109] (rows=2440165 width=1014)
                           Conds:RS_48._col13=RS_49._col0(Inner),Output:["_col6","_col15","_col16","_col28"]
                         <-Map 17 [SIMPLE_EDGE]
                           SHUFFLE [RS_49]
@@ -52,7 +52,7 @@ Stage-0
                         <-Reducer 2 [SIMPLE_EDGE]
                           SHUFFLE [RS_48]
                             PartitionCols:_col13
-                            Merge Join Operator [MERGEJOIN_108] (rows=71749555 width=135)
+                            Merge Join Operator [MERGEJOIN_108] (rows=2218332 width=1014)
                               Conds:RS_45._col0=RS_46._col0(Inner),Output:["_col6","_col13","_col15","_col16"]
                             <-Map 1 [SIMPLE_EDGE]
                               SHUFFLE [RS_45]
@@ -66,13 +66,13 @@ Stage-0
                             <-Reducer 8 [SIMPLE_EDGE]
                               SHUFFLE [RS_46]
                                 PartitionCols:_col0
-                                Select Operator [SEL_41] (rows=65226867 width=135)
+                                Select Operator [SEL_41] (rows=2016666 width=1014)
                                   Output:["_col0","_col11","_col13","_col14","_col4"]
-                                  Filter Operator [FIL_40] (rows=65226867 width=135)
+                                  Filter Operator [FIL_40] (rows=2016666 width=1014)
                                     predicate:(((_col23) IN ('KY', 'GA', 'NM') and _col6 BETWEEN 100 AND 200) or ((_col23) IN ('MT', 'OR', 'IN') and _col6 BETWEEN 150 AND 300) or ((_col23) IN ('WI', 'MO', 'WV') and _col6 BETWEEN 50 AND 250))
-                                    Select Operator [SEL_39] (rows=86969158 width=135)
+                                    Select Operator [SEL_39] (rows=12100000 width=1014)
                                       Output:["_col0","_col4","_col6","_col11","_col13","_col14","_col23"]
-                                      Merge Join Operator [MERGEJOIN_107] (rows=86969158 width=135)
+                                      Merge Join Operator [MERGEJOIN_107] (rows=12100000 width=1014)
                                         Conds:RS_36._col13, _col20, _col21=RS_37._col0, _col1, _col2(Inner),Output:["_col1","_col3","_col7","_col9","_col14","_col16","_col17"]
                                       <-Map 16 [SIMPLE_EDGE]
                                         SHUFFLE [RS_37]
@@ -86,7 +86,7 @@ Stage-0
                                       <-Reducer 7 [SIMPLE_EDGE]
                                         SHUFFLE [RS_36]
                                           PartitionCols:_col13, _col20, _col21
-                                          Merge Join Operator [MERGEJOIN_106] (rows=79062870 width=135)
+                                          Merge Join Operator [MERGEJOIN_106] (rows=11000000 width=1014)
                                             Conds:RS_33._col0=RS_34._col9(Inner),Output:["_col1","_col3","_col7","_col9","_col13","_col14","_col16","_col17","_col20","_col21"]
                                           <-Map 6 [SIMPLE_EDGE]
                                             SHUFFLE [RS_33]
@@ -100,13 +100,13 @@ Stage-0
                                           <-Reducer 12 [SIMPLE_EDGE]
                                             SHUFFLE [RS_34]
                                               PartitionCols:_col9
-                                              Select Operator [SEL_29] (rows=71875335 width=135)
+                                              Select Operator [SEL_29] (rows=1774698 width=135)
                                                 Output:["_col0","_col10","_col11","_col13","_col14","_col17","_col18","_col4","_col6","_col9"]
-                                                Filter Operator [FIL_28] (rows=71875335 width=135)
+                                                Filter Operator [FIL_28] (rows=1774698 width=135)
                                                   predicate:(((_col17 = 'M') and (_col18 = '4 yr Degree') and _col5 BETWEEN 100 AND 150) or ((_col17 = 'D') and (_col18 = 'Primary') and _col5 BETWEEN 50 AND 100) or ((_col17 = 'U') and (_col18 = 'Advanced Degree') and _col5 BETWEEN 150 AND 200))
-                                                  Select Operator [SEL_27] (rows=191667562 width=135)
+                                                  Select Operator [SEL_27] (rows=21296393 width=135)
                                                     Output:["_col0","_col4","_col5","_col6","_col9","_col10","_col11","_col13","_col14","_col17","_col18"]
-                                                    Merge Join Operator [MERGEJOIN_105] (rows=191667562 width=135)
+                                                    Merge Join Operator [MERGEJOIN_105] (rows=21296393 width=135)
                                                       Conds:RS_24._col9=RS_25._col0(Inner),Output:["_col1","_col5","_col6","_col7","_col10","_col11","_col12","_col14","_col15","_col17","_col18"]
                                                     <-Map 15 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_25]
@@ -120,7 +120,7 @@ Stage-0
                                                     <-Reducer 11 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_24]
                                                         PartitionCols:_col9
-                                                        Merge Join Operator [MERGEJOIN_104] (rows=174243235 width=135)
+                                                        Merge Join Operator [MERGEJOIN_104] (rows=19360357 width=135)
                                                           Conds:RS_21._col2, _col4=RS_22._col0, _col5(Inner),Output:["_col1","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col14","_col15"]
                                                         <-Map 14 [SIMPLE_EDGE]
                                                           SHUFFLE [RS_22]
@@ -134,14 +134,14 @@ Stage-0
                                                         <-Reducer 10 [SIMPLE_EDGE]
                                                           SHUFFLE [RS_21]
                                                             PartitionCols:_col2, _col4
-                                                            Merge Join Operator [MERGEJOIN_103] (rows=158402938 width=135)
+                                                            Merge Join Operator [MERGEJOIN_103] (rows=17600325 width=135)
                                                               Conds:RS_18._col0=RS_19._col2(Inner),Output:["_col1","_col2","_col4","_col5","_col6","_col7"]
                                                             <-Map 13 [SIMPLE_EDGE]
                                                               SHUFFLE [RS_19]
                                                                 PartitionCols:_col2
-                                                                Select Operator [SEL_11] (rows=144002668 width=135)
+                                                                Select Operator [SEL_11] (rows=16000296 width=135)
                                                                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                                                                  Filter Operator [FIL_98] (rows=144002668 width=135)
+                                                                  Filter Operator [FIL_98] (rows=16000296 width=135)
                                                                     predicate:((ws_sales_price BETWEEN 100 AND 150 or ws_sales_price BETWEEN 50 AND 100 or ws_sales_price BETWEEN 150 AND 200) and (ws_net_profit BETWEEN 100 AND 200 or ws_net_profit BETWEEN 150 AND 300 or ws_net_profit BETWEEN 50 AND 250) and ws_order_number is not null and ws_item_sk is not null and ws_web_page_sk is not null and ws_sold_date_sk is not null)
                                                                     TableScan [TS_9] (rows=144002668 width=135)
                                                                       default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_web_page_sk","ws_order_number","ws_quantity","ws_sales_price","ws_net_profit"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query87.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query87.q.out b/ql/src/test/results/clientpositive/perf/query87.q.out
index 7c475ff..75634d5 100644
--- a/ql/src/test/results/clientpositive/perf/query87.q.out
+++ b/ql/src/test/results/clientpositive/perf/query87.q.out
@@ -75,9 +75,9 @@ Stage-0
                                   <-Map 20 [SIMPLE_EDGE]
                                     SHUFFLE [RS_55]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_50] (rows=36524 width=1119)
+                                      Select Operator [SEL_50] (rows=8116 width=1119)
                                         Output:["_col0","_col1"]
-                                        Filter Operator [FIL_103] (rows=36524 width=1119)
+                                        Filter Operator [FIL_103] (rows=8116 width=1119)
                                           predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
                                           TableScan [TS_48] (rows=73049 width=1119)
                                             default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]
@@ -130,9 +130,9 @@ Stage-0
                                           <-Map 14 [SIMPLE_EDGE]
                                             SHUFFLE [RS_30]
                                               PartitionCols:_col0
-                                              Select Operator [SEL_25] (rows=36524 width=1119)
+                                              Select Operator [SEL_25] (rows=8116 width=1119)
                                                 Output:["_col0","_col1"]
-                                                Filter Operator [FIL_100] (rows=36524 width=1119)
+                                                Filter Operator [FIL_100] (rows=8116 width=1119)
                                                   predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
                                                   TableScan [TS_23] (rows=73049 width=1119)
                                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]
@@ -176,9 +176,9 @@ Stage-0
                                           <-Map 8 [SIMPLE_EDGE]
                                             SHUFFLE [RS_10]
                                               PartitionCols:_col0
-                                              Select Operator [SEL_5] (rows=36524 width=1119)
+                                              Select Operator [SEL_5] (rows=8116 width=1119)
                                                 Output:["_col0","_col1"]
-                                                Filter Operator [FIL_97] (rows=36524 width=1119)
+                                                Filter Operator [FIL_97] (rows=8116 width=1119)
                                                   predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
                                                   TableScan [TS_3] (rows=73049 width=1119)
                                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query90.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query90.q.out b/ql/src/test/results/clientpositive/perf/query90.q.out
index 09a934d..92eeba1 100644
--- a/ql/src/test/results/clientpositive/perf/query90.q.out
+++ b/ql/src/test/results/clientpositive/perf/query90.q.out
@@ -60,9 +60,9 @@ Stage-0
                               <-Map 17 [SIMPLE_EDGE]
                                 SHUFFLE [RS_42]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_34] (rows=43200 width=471)
+                                  Select Operator [SEL_34] (rows=9600 width=471)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_84] (rows=43200 width=471)
+                                    Filter Operator [FIL_84] (rows=9600 width=471)
                                       predicate:(t_hour BETWEEN 14 AND 15 and t_time_sk is not null)
                                       TableScan [TS_32] (rows=86400 width=471)
                                         default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_hour"]
@@ -83,9 +83,9 @@ Stage-0
                                   <-Map 16 [SIMPLE_EDGE]
                                     SHUFFLE [RS_39]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_31] (rows=2301 width=585)
+                                      Select Operator [SEL_31] (rows=511 width=585)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_83] (rows=2301 width=585)
+                                        Filter Operator [FIL_83] (rows=511 width=585)
                                           predicate:(wp_char_count BETWEEN 5000 AND 5200 and wp_web_page_sk is not null)
                                           TableScan [TS_29] (rows=4602 width=585)
                                             default@web_page,web_page,Tbl:COMPLETE,Col:NONE,Output:["wp_web_page_sk","wp_char_count"]
@@ -116,9 +116,9 @@ Stage-0
                               <-Map 9 [SIMPLE_EDGE]
                                 SHUFFLE [RS_16]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_8] (rows=43200 width=471)
+                                  Select Operator [SEL_8] (rows=9600 width=471)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_80] (rows=43200 width=471)
+                                    Filter Operator [FIL_80] (rows=9600 width=471)
                                       predicate:(t_hour BETWEEN 6 AND 7 and t_time_sk is not null)
                                       TableScan [TS_6] (rows=86400 width=471)
                                         default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_hour"]
@@ -139,9 +139,9 @@ Stage-0
                                   <-Map 8 [SIMPLE_EDGE]
                                     SHUFFLE [RS_13]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_5] (rows=2301 width=585)
+                                      Select Operator [SEL_5] (rows=511 width=585)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_79] (rows=2301 width=585)
+                                        Filter Operator [FIL_79] (rows=511 width=585)
                                           predicate:(wp_char_count BETWEEN 5000 AND 5200 and wp_web_page_sk is not null)
                                           TableScan [TS_3] (rows=4602 width=585)
                                             default@web_page,web_page,Tbl:COMPLETE,Col:NONE,Output:["wp_web_page_sk","wp_char_count"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query94.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query94.q.out b/ql/src/test/results/clientpositive/perf/query94.q.out
index 59b1a3e..836b16b 100644
--- a/ql/src/test/results/clientpositive/perf/query94.q.out
+++ b/ql/src/test/results/clientpositive/perf/query94.q.out
@@ -78,9 +78,9 @@ Stage-0
                                 <-Map 11 [SIMPLE_EDGE]
                                   SHUFFLE [RS_32]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_16] (rows=36524 width=1119)
+                                    Select Operator [SEL_16] (rows=8116 width=1119)
                                       Output:["_col0"]
-                                      Filter Operator [FIL_76] (rows=36524 width=1119)
+                                      Filter Operator [FIL_76] (rows=8116 width=1119)
                                         predicate:(d_date BETWEEN '1999-05-01' AND '1999-07-01' and d_date_sk is not null)
                                         TableScan [TS_14] (rows=73049 width=1119)
                                           default@date_dim,d,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query95.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query95.q.out b/ql/src/test/results/clientpositive/perf/query95.q.out
index f934704..9b0d1b2 100644
--- a/ql/src/test/results/clientpositive/perf/query95.q.out
+++ b/ql/src/test/results/clientpositive/perf/query95.q.out
@@ -59,9 +59,9 @@ Stage-0
                       <-Map 15 [SIMPLE_EDGE]
                         SHUFFLE [RS_50]
                           PartitionCols:_col0
-                          Select Operator [SEL_34] (rows=36524 width=1119)
+                          Select Operator [SEL_34] (rows=8116 width=1119)
                             Output:["_col0"]
-                            Filter Operator [FIL_113] (rows=36524 width=1119)
+                            Filter Operator [FIL_113] (rows=8116 width=1119)
                               predicate:(d_date BETWEEN '2002-05-01' AND '2002-06-30' and d_date_sk is not null)
                               TableScan [TS_32] (rows=73049 width=1119)
                                 default@date_dim,d,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query97.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query97.q.out b/ql/src/test/results/clientpositive/perf/query97.q.out
index 9fa10da..c885e99 100644
--- a/ql/src/test/results/clientpositive/perf/query97.q.out
+++ b/ql/src/test/results/clientpositive/perf/query97.q.out
@@ -56,9 +56,9 @@ Stage-0
                               <-Map 6 [SIMPLE_EDGE]
                                 SHUFFLE [RS_7]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_5] (rows=36524 width=1119)
+                                  Select Operator [SEL_5] (rows=8116 width=1119)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_44] (rows=36524 width=1119)
+                                    Filter Operator [FIL_44] (rows=8116 width=1119)
                                       predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
                                       TableScan [TS_3] (rows=73049 width=1119)
                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]
@@ -77,9 +77,9 @@ Stage-0
                             <-Map 10 [SIMPLE_EDGE]
                               SHUFFLE [RS_21]
                                 PartitionCols:_col0
-                                Select Operator [SEL_19] (rows=36524 width=1119)
+                                Select Operator [SEL_19] (rows=8116 width=1119)
                                   Output:["_col0"]
-                                  Filter Operator [FIL_46] (rows=36524 width=1119)
+                                  Filter Operator [FIL_46] (rows=8116 width=1119)
                                     predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
                                     TableScan [TS_17] (rows=73049 width=1119)
                                       default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query98.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query98.q.out b/ql/src/test/results/clientpositive/perf/query98.q.out
index 1cc860a..35cc897 100644
--- a/ql/src/test/results/clientpositive/perf/query98.q.out
+++ b/ql/src/test/results/clientpositive/perf/query98.q.out
@@ -69,9 +69,9 @@ Stage-0
                                   <-Map 7 [SIMPLE_EDGE]
                                     SHUFFLE [RS_10]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_5] (rows=36524 width=1119)
+                                      Select Operator [SEL_5] (rows=8116 width=1119)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_34] (rows=36524 width=1119)
+                                        Filter Operator [FIL_34] (rows=8116 width=1119)
                                           predicate:(d_date BETWEEN 2001-01-12 AND 2001-02-11 and d_date_sk is not null)
                                           TableScan [TS_3] (rows=73049 width=1119)
                                             default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/spark/vector_between_in.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vector_between_in.q.out b/ql/src/test/results/clientpositive/spark/vector_between_in.q.out
index fbb43c4..500f69c 100644
--- a/ql/src/test/results/clientpositive/spark/vector_between_in.q.out
+++ b/ql/src/test/results/clientpositive/spark/vector_between_in.q.out
@@ -254,15 +254,15 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2467616 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cdate BETWEEN 1969-12-30 AND 1970-01-02 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: cdate (type: date)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: date)
                         sort order: +
-                        Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized
         Reducer 2 
             Execution mode: vectorized
@@ -270,10 +270,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: date)
                 outputColumnNames: _col0
-                Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -307,15 +307,15 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2467616 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cdate NOT BETWEEN 1968-05-01 AND 1971-09-01 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: cdate (type: date)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: date)
                         sort order: +
-                        Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized
         Reducer 2 
             Execution mode: vectorized
@@ -323,10 +323,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: date)
                 outputColumnNames: _col0
-                Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -360,15 +360,15 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2467616 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cdecimal1 BETWEEN -20 AND 45.9918918919 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: cdecimal1 (type: decimal(20,10))
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: decimal(20,10))
                         sort order: +
-                        Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized
         Reducer 2 
             Execution mode: vectorized
@@ -376,10 +376,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: decimal(20,10))
                 outputColumnNames: _col0
-                Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -413,9 +413,9 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2467616 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cdecimal1 NOT BETWEEN -2000 AND 4390.1351351351 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
                       Group By Operator
                         aggregations: count()
                         mode: hash

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/tez/explainanalyze_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/explainanalyze_4.q.out b/ql/src/test/results/clientpositive/tez/explainanalyze_4.q.out
index 9a3d59f..3249525 100644
--- a/ql/src/test/results/clientpositive/tez/explainanalyze_4.q.out
+++ b/ql/src/test/results/clientpositive/tez/explainanalyze_4.q.out
@@ -46,27 +46,27 @@ Stage-0
     Stage-1
       Reducer 3
       File Output Operator [FS_12]
-        Select Operator [SEL_11] (rows=9759/10 width=620)
+        Select Operator [SEL_11] (rows=2166/10 width=620)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
         <-Reducer 2 [SIMPLE_EDGE]
           SHUFFLE [RS_10]
-            Merge Join Operator [MERGEJOIN_17] (rows=9759/10 width=620)
+            Merge Join Operator [MERGEJOIN_17] (rows=2166/10 width=620)
               Conds:RS_6._col2=RS_7._col2(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
             <-Map 1 [SIMPLE_EDGE]
               SHUFFLE [RS_6]
                 PartitionCols:_col2
-                Select Operator [SEL_2] (rows=6144/10 width=251)
+                Select Operator [SEL_2] (rows=1365/10 width=251)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                  Filter Operator [FIL_15] (rows=6144/10 width=251)
+                  Filter Operator [FIL_15] (rows=1365/10 width=251)
                     predicate:cint BETWEEN 1000000 AND 3000000
                     TableScan [TS_0] (rows=12288/12288 width=251)
                       default@alltypesorc,a,Tbl:COMPLETE,Col:COMPLETE,Output:["ctinyint","csmallint","cint","cbigint","cfloat","cdouble","cstring1","cstring2","ctimestamp1","ctimestamp2","cboolean1","cboolean2"]
             <-Map 4 [SIMPLE_EDGE]
               SHUFFLE [RS_7]
                 PartitionCols:_col2
-                Select Operator [SEL_5] (rows=4586/10 width=251)
+                Select Operator [SEL_5] (rows=1019/10 width=251)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                  Filter Operator [FIL_16] (rows=4586/10 width=251)
+                  Filter Operator [FIL_16] (rows=1019/10 width=251)
                     predicate:(cint BETWEEN 1000000 AND 3000000 and cbigint is not null)
                     TableScan [TS_3] (rows=12288/12288 width=251)
                       default@alltypesorc,b,Tbl:COMPLETE,Col:COMPLETE,Output:["ctinyint","csmallint","cint","cbigint","cfloat","cdouble","cstring1","cstring2","ctimestamp1","ctimestamp2","cboolean1","cboolean2"]
@@ -147,23 +147,23 @@ Stage-0
           SHUFFLE [RS_11]
             Group By Operator [GBY_10] (rows=1/1 width=8)
               Output:["_col0"],aggregations:["count()"]
-              Merge Join Operator [MERGEJOIN_19] (rows=9759/10 width=8)
+              Merge Join Operator [MERGEJOIN_19] (rows=2166/10 width=8)
                 Conds:RS_6._col0=RS_7._col0(Inner)
               <-Map 1 [SIMPLE_EDGE]
                 SHUFFLE [RS_6]
                   PartitionCols:_col0
-                  Select Operator [SEL_2] (rows=6144/10 width=2)
+                  Select Operator [SEL_2] (rows=1365/10 width=2)
                     Output:["_col0"]
-                    Filter Operator [FIL_17] (rows=6144/10 width=2)
+                    Filter Operator [FIL_17] (rows=1365/10 width=2)
                       predicate:cint BETWEEN 1000000 AND 3000000
                       TableScan [TS_0] (rows=12288/12288 width=2)
                         default@alltypesorc,a,Tbl:COMPLETE,Col:COMPLETE,Output:["cint"]
               <-Map 4 [SIMPLE_EDGE]
                 SHUFFLE [RS_7]
                   PartitionCols:_col0
-                  Select Operator [SEL_5] (rows=4586/10 width=8)
+                  Select Operator [SEL_5] (rows=1019/10 width=8)
                     Output:["_col0"]
-                    Filter Operator [FIL_18] (rows=4586/10 width=8)
+                    Filter Operator [FIL_18] (rows=1019/10 width=8)
                       predicate:(cint BETWEEN 1000000 AND 3000000 and cbigint is not null)
                       TableScan [TS_3] (rows=12288/12288 width=8)
                         default@alltypesorc,b,Tbl:COMPLETE,Col:COMPLETE,Output:["cint","cbigint"]
@@ -236,34 +236,34 @@ Stage-0
     Stage-1
       Reducer 4
       File Output Operator [FS_16]
-        Select Operator [SEL_15] (rows=2765/5 width=12)
+        Select Operator [SEL_15] (rows=615/5 width=12)
           Output:["_col0","_col1"]
         <-Reducer 3 [SIMPLE_EDGE]
           SHUFFLE [RS_14]
-            Group By Operator [GBY_12] (rows=2765/5 width=12)
+            Group By Operator [GBY_12] (rows=615/5 width=12)
               Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
             <-Reducer 2 [SIMPLE_EDGE]
               SHUFFLE [RS_11]
                 PartitionCols:_col0
-                Group By Operator [GBY_10] (rows=2765/5 width=12)
+                Group By Operator [GBY_10] (rows=615/5 width=12)
                   Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                  Merge Join Operator [MERGEJOIN_21] (rows=9759/10 width=4)
+                  Merge Join Operator [MERGEJOIN_21] (rows=2166/10 width=4)
                     Conds:RS_6._col1=RS_7._col0(Inner),Output:["_col0"]
                   <-Map 1 [SIMPLE_EDGE]
                     SHUFFLE [RS_6]
                       PartitionCols:_col1
-                      Select Operator [SEL_2] (rows=6144/10 width=5)
+                      Select Operator [SEL_2] (rows=1365/10 width=5)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_19] (rows=6144/10 width=5)
+                        Filter Operator [FIL_19] (rows=1365/10 width=5)
                           predicate:cint BETWEEN 1000000 AND 3000000
                           TableScan [TS_0] (rows=12288/12288 width=5)
                             default@alltypesorc,a,Tbl:COMPLETE,Col:COMPLETE,Output:["csmallint","cint"]
                   <-Map 5 [SIMPLE_EDGE]
                     SHUFFLE [RS_7]
                       PartitionCols:_col0
-                      Select Operator [SEL_5] (rows=4586/10 width=8)
+                      Select Operator [SEL_5] (rows=1019/10 width=8)
                         Output:["_col0"]
-                        Filter Operator [FIL_20] (rows=4586/10 width=8)
+                        Filter Operator [FIL_20] (rows=1019/10 width=8)
                           predicate:(cint BETWEEN 1000000 AND 3000000 and cbigint is not null)
                           TableScan [TS_3] (rows=12288/12288 width=8)
                             default@alltypesorc,b,Tbl:COMPLETE,Col:COMPLETE,Output:["cint","cbigint"]
@@ -341,27 +341,27 @@ Stage-0
     Stage-1
       Reducer 3
       File Output Operator [FS_12]
-        Select Operator [SEL_11] (rows=6758/10 width=215)
+        Select Operator [SEL_11] (rows=1501/10 width=215)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
         <-Reducer 2 [SIMPLE_EDGE]
           SHUFFLE [RS_10]
-            Map Join Operator [MAPJOIN_17] (rows=6758/10 width=215)
+            Map Join Operator [MAPJOIN_17] (rows=1501/10 width=215)
               Conds:RS_6.KEY.reducesinkkey0=RS_7.KEY.reducesinkkey0(Inner),HybridGraceHashJoin:true,Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
             <-Map 4 [CUSTOM_SIMPLE_EDGE]
               PARTITION_ONLY_SHUFFLE [RS_7]
                 PartitionCols:_col2
-                Select Operator [SEL_5] (rows=6144/10 width=215)
+                Select Operator [SEL_5] (rows=1365/10 width=215)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                  Filter Operator [FIL_16] (rows=6144/10 width=215)
+                  Filter Operator [FIL_16] (rows=1365/10 width=215)
                     predicate:(cint BETWEEN 1000000 AND 3000000 and cbigint is not null)
                     TableScan [TS_3] (rows=12288/12288 width=215)
                       default@alltypesorc,b,Tbl:COMPLETE,Col:NONE,Output:["ctinyint","csmallint","cint","cbigint","cfloat","cdouble","cstring1","cstring2","ctimestamp1","ctimestamp2","cboolean1","cboolean2"]
             <-Map 1 [CUSTOM_SIMPLE_EDGE]
               PARTITION_ONLY_SHUFFLE [RS_6]
                 PartitionCols:_col2
-                Select Operator [SEL_2] (rows=6144/10 width=215)
+                Select Operator [SEL_2] (rows=1365/10 width=215)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                  Filter Operator [FIL_15] (rows=6144/10 width=215)
+                  Filter Operator [FIL_15] (rows=1365/10 width=215)
                     predicate:cint BETWEEN 1000000 AND 3000000
                     TableScan [TS_0] (rows=12288/12288 width=215)
                       default@alltypesorc,a,Tbl:COMPLETE,Col:NONE,Output:["ctinyint","csmallint","cint","cbigint","cfloat","cdouble","cstring1","cstring2","ctimestamp1","ctimestamp2","cboolean1","cboolean2"]
@@ -440,25 +440,25 @@ Stage-0
           Output:["_col0"],aggregations:["count(VALUE._col0)"]
         <-Reducer 2 [SIMPLE_EDGE]
           SHUFFLE [RS_11]
-            Group By Operator [GBY_10] (rows=1/14 width=8)
+            Group By Operator [GBY_10] (rows=1/3 width=8)
               Output:["_col0"],aggregations:["count()"]
-              Map Join Operator [MAPJOIN_19] (rows=6758/10 width=215)
+              Map Join Operator [MAPJOIN_19] (rows=1501/10 width=215)
                 Conds:RS_6.KEY.reducesinkkey0=RS_7.KEY.reducesinkkey0(Inner),HybridGraceHashJoin:true
               <-Map 4 [CUSTOM_SIMPLE_EDGE]
                 PARTITION_ONLY_SHUFFLE [RS_7]
                   PartitionCols:_col0
-                  Select Operator [SEL_5] (rows=6144/10 width=215)
+                  Select Operator [SEL_5] (rows=1365/10 width=215)
                     Output:["_col0"]
-                    Filter Operator [FIL_18] (rows=6144/10 width=215)
+                    Filter Operator [FIL_18] (rows=1365/10 width=215)
                       predicate:(cint BETWEEN 1000000 AND 3000000 and cbigint is not null)
                       TableScan [TS_3] (rows=12288/12288 width=215)
                         default@alltypesorc,b,Tbl:COMPLETE,Col:NONE,Output:["cint","cbigint"]
               <-Map 1 [CUSTOM_SIMPLE_EDGE]
                 PARTITION_ONLY_SHUFFLE [RS_6]
                   PartitionCols:_col0
-                  Select Operator [SEL_2] (rows=6144/10 width=215)
+                  Select Operator [SEL_2] (rows=1365/10 width=215)
                     Output:["_col0"]
-                    Filter Operator [FIL_17] (rows=6144/10 width=215)
+                    Filter Operator [FIL_17] (rows=1365/10 width=215)
                       predicate:cint BETWEEN 1000000 AND 3000000
                       TableScan [TS_0] (rows=12288/12288 width=215)
                         default@alltypesorc,a,Tbl:COMPLETE,Col:NONE,Output:["cint"]
@@ -531,34 +531,34 @@ Stage-0
     Stage-1
       Reducer 4
       File Output Operator [FS_16]
-        Select Operator [SEL_15] (rows=3379/5 width=215)
+        Select Operator [SEL_15] (rows=750/5 width=215)
           Output:["_col0","_col1"]
         <-Reducer 3 [SIMPLE_EDGE]
           SHUFFLE [RS_14]
-            Group By Operator [GBY_12] (rows=3379/5 width=215)
+            Group By Operator [GBY_12] (rows=750/5 width=215)
               Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
             <-Reducer 2 [SIMPLE_EDGE]
               SHUFFLE [RS_11]
                 PartitionCols:_col0
-                Group By Operator [GBY_10] (rows=6758/9 width=215)
+                Group By Operator [GBY_10] (rows=1501/7 width=215)
                   Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                  Map Join Operator [MAPJOIN_21] (rows=6758/10 width=215)
+                  Map Join Operator [MAPJOIN_21] (rows=1501/10 width=215)
                     Conds:RS_6.KEY.reducesinkkey0=RS_7.KEY.reducesinkkey0(Inner),HybridGraceHashJoin:true,Output:["_col0"]
                   <-Map 5 [CUSTOM_SIMPLE_EDGE]
                     PARTITION_ONLY_SHUFFLE [RS_7]
                       PartitionCols:_col0
-                      Select Operator [SEL_5] (rows=6144/10 width=215)
+                      Select Operator [SEL_5] (rows=1365/10 width=215)
                         Output:["_col0"]
-                        Filter Operator [FIL_20] (rows=6144/10 width=215)
+                        Filter Operator [FIL_20] (rows=1365/10 width=215)
                           predicate:(cint BETWEEN 1000000 AND 3000000 and cbigint is not null)
                           TableScan [TS_3] (rows=12288/12288 width=215)
                             default@alltypesorc,b,Tbl:COMPLETE,Col:NONE,Output:["cint","cbigint"]
                   <-Map 1 [CUSTOM_SIMPLE_EDGE]
                     PARTITION_ONLY_SHUFFLE [RS_6]
                       PartitionCols:_col1
-                      Select Operator [SEL_2] (rows=6144/10 width=215)
+                      Select Operator [SEL_2] (rows=1365/10 width=215)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_19] (rows=6144/10 width=215)
+                        Filter Operator [FIL_19] (rows=1365/10 width=215)
                           predicate:cint BETWEEN 1000000 AND 3000000
                           TableScan [TS_0] (rows=12288/12288 width=215)
                             default@alltypesorc,a,Tbl:COMPLETE,Col:NONE,Output:["csmallint","cint"]
@@ -583,8 +583,8 @@ order by c1
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
+-13036	1
 -8915	1
 -3799	1
 10782	1
--13036	1
 NULL	6

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/udf_between.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_between.q.out b/ql/src/test/results/clientpositive/udf_between.q.out
index efe6615..bd9b4bb 100644
--- a/ql/src/test/results/clientpositive/udf_between.q.out
+++ b/ql/src/test/results/clientpositive/udf_between.q.out
@@ -25,11 +25,11 @@ STAGE PLANS:
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (UDFToDouble(key) + 100.0) BETWEEN 100 AND 200 (type: boolean)
-            Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string)
               outputColumnNames: _col0, _col1
-              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Limit
                 Number of rows: 20
                 Statistics: Num rows: 20 Data size: 200 Basic stats: COMPLETE Column stats: NONE
@@ -80,11 +80,11 @@ STAGE PLANS:
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (UDFToDouble(key) + 100.0) NOT BETWEEN 100 AND 200 (type: boolean)
-            Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 445 Data size: 4727 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string)
               outputColumnNames: _col0, _col1
-              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 445 Data size: 4727 Basic stats: COMPLETE Column stats: NONE
               Limit
                 Number of rows: 20
                 Statistics: Num rows: 20 Data size: 200 Basic stats: COMPLETE Column stats: NONE

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/vector_between_columns.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_between_columns.q.out b/ql/src/test/results/clientpositive/vector_between_columns.q.out
index 0b9401d..1366e31 100644
--- a/ql/src/test/results/clientpositive/vector_between_columns.q.out
+++ b/ql/src/test/results/clientpositive/vector_between_columns.q.out
@@ -232,14 +232,14 @@ STAGE PLANS:
                 Statistics: Num rows: 25 Data size: 385 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
                   predicate: _col1 BETWEEN _col3 AND _col3 (type: boolean)
-                  Statistics: Num rows: 12 Data size: 184 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 2 Data size: 30 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col0 (type: int), _col2 (type: int), _col1 (type: int), _col3 (type: smallint)
                     outputColumnNames: _col0, _col1, _col2, _col3
-                    Statistics: Num rows: 12 Data size: 184 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 2 Data size: 30 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
                       compressed: false
-                      Statistics: Num rows: 12 Data size: 184 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 2 Data size: 30 Basic stats: COMPLETE Column stats: NONE
                       table:
                           input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                           output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat


[3/3] hive git commit: HIVE-15029: Add logic to estimate stats for BETWEEN operator (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

Posted by jc...@apache.org.
HIVE-15029: Add logic to estimate stats for BETWEEN operator (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/e2653db3
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/e2653db3
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/e2653db3

Branch: refs/heads/master
Commit: e2653db377ab7fff34563d348364fd0c92f359c6
Parents: 749e831
Author: Jesus Camacho Rodriguez <jc...@apache.org>
Authored: Fri Oct 21 12:30:06 2016 +0100
Committer: Jesus Camacho Rodriguez <jc...@apache.org>
Committed: Tue Oct 25 07:13:09 2016 -0400

----------------------------------------------------------------------
 .../stats/annotation/StatsRulesProcFactory.java |  34 +++++-
 .../clientpositive/llap/explainuser_4.q.out     |  78 ++++++------
 .../llap/orc_predicate_pushdown.q.out           |  20 +--
 .../llap/parquet_predicate_pushdown.q.out       |  44 +++----
 .../llap/tez_dynpart_hashjoin_1.q.out           | 120 +++++++++---------
 .../llap/tez_vector_dynpart_hashjoin_1.q.out    | 122 +++++++++----------
 .../llap/vector_between_columns.q.out           |   6 +-
 .../clientpositive/llap/vector_between_in.q.out |  34 +++---
 .../results/clientpositive/perf/query12.q.out   |   2 +-
 .../results/clientpositive/perf/query13.q.out   |  24 ++--
 .../results/clientpositive/perf/query20.q.out   |   4 +-
 .../results/clientpositive/perf/query21.q.out   |   8 +-
 .../results/clientpositive/perf/query22.q.out   |   4 +-
 .../results/clientpositive/perf/query25.q.out   |   8 +-
 .../results/clientpositive/perf/query28.q.out   |  36 +++---
 .../results/clientpositive/perf/query29.q.out   |   4 +-
 .../results/clientpositive/perf/query32.q.out   |   8 +-
 .../results/clientpositive/perf/query34.q.out   |  12 +-
 .../results/clientpositive/perf/query40.q.out   |   8 +-
 .../results/clientpositive/perf/query48.q.out   |  18 +--
 .../results/clientpositive/perf/query51.q.out   |   8 +-
 .../results/clientpositive/perf/query54.q.out   |   4 +-
 .../results/clientpositive/perf/query58.q.out   |  12 +-
 .../results/clientpositive/perf/query64.q.out   |   8 +-
 .../results/clientpositive/perf/query65.q.out   |   8 +-
 .../results/clientpositive/perf/query66.q.out   |   8 +-
 .../results/clientpositive/perf/query67.q.out   |   4 +-
 .../results/clientpositive/perf/query68.q.out   |   4 +-
 .../results/clientpositive/perf/query70.q.out   |   8 +-
 .../results/clientpositive/perf/query73.q.out   |  12 +-
 .../results/clientpositive/perf/query79.q.out   |   4 +-
 .../results/clientpositive/perf/query80.q.out   |  12 +-
 .../results/clientpositive/perf/query82.q.out   |  14 +--
 .../results/clientpositive/perf/query85.q.out   |  42 +++----
 .../results/clientpositive/perf/query87.q.out   |  12 +-
 .../results/clientpositive/perf/query90.q.out   |  16 +--
 .../results/clientpositive/perf/query94.q.out   |   4 +-
 .../results/clientpositive/perf/query95.q.out   |   4 +-
 .../results/clientpositive/perf/query97.q.out   |   8 +-
 .../results/clientpositive/perf/query98.q.out   |   4 +-
 .../spark/vector_between_in.q.out               |  34 +++---
 .../clientpositive/tez/explainanalyze_4.q.out   |  80 ++++++------
 .../results/clientpositive/udf_between.q.out    |   8 +-
 .../clientpositive/vector_between_columns.q.out |   6 +-
 44 files changed, 475 insertions(+), 443 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java
index ab07fb6..aa1e509 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java
@@ -71,6 +71,7 @@ import org.apache.hadoop.hive.ql.plan.Statistics;
 import org.apache.hadoop.hive.ql.stats.StatsUtils;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDFBetween;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDFIn;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPAnd;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPEqual;
@@ -89,6 +90,7 @@ import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
 import org.apache.hadoop.hive.serde2.typeinfo.StructTypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
+import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -354,6 +356,9 @@ public class StatsRulesProcFactory {
         } else if (udf instanceof GenericUDFIn) {
           // for IN clause
           newNumRows = evaluateInExpr(stats, pred, aspCtx, neededCols, fop);
+        } else if (udf instanceof GenericUDFBetween) {
+          // for BETWEEN clause
+          newNumRows = evaluateBetweenExpr(stats, pred, aspCtx, neededCols, fop);
         } else if (udf instanceof GenericUDFOPNot) {
           newNumRows = evaluateNotExpr(stats, pred, aspCtx, neededCols, fop);
         } else if (udf instanceof GenericUDFOPNotNull) {
@@ -480,6 +485,32 @@ public class StatsRulesProcFactory {
       return Math.round( (double)numRows * factor * inFactor);
     }
 
+    private long evaluateBetweenExpr(Statistics stats, ExprNodeDesc pred, AnnotateStatsProcCtx aspCtx,
+            List<String> neededCols, FilterOperator fop) throws SemanticException, CloneNotSupportedException {
+      final ExprNodeGenericFuncDesc fd = (ExprNodeGenericFuncDesc) pred;
+      final boolean invert = Boolean.TRUE.equals(
+          ((ExprNodeConstantDesc) fd.getChildren().get(0)).getValue()); // boolean invert (not)
+      final ExprNodeDesc comparisonExpression = fd.getChildren().get(1); // expression
+      final ExprNodeDesc leftExpression = fd.getChildren().get(2); // left expression
+      final ExprNodeDesc rightExpression = fd.getChildren().get(3); // right expression
+
+      // We transform the BETWEEN clause to AND clause (with NOT on top in invert is true).
+      // This is more straightforward, as the evaluateExpression method will deal with
+      // generating the final row count relying on the basic comparator evaluation methods
+      final ExprNodeDesc leftComparator = new ExprNodeGenericFuncDesc(TypeInfoFactory.booleanTypeInfo,
+          new GenericUDFOPEqualOrGreaterThan(), Lists.newArrayList(comparisonExpression, leftExpression));
+      final ExprNodeDesc rightComparator = new ExprNodeGenericFuncDesc(TypeInfoFactory.booleanTypeInfo,
+          new GenericUDFOPEqualOrLessThan(), Lists.newArrayList(comparisonExpression, rightExpression));
+      ExprNodeDesc newExpression = new ExprNodeGenericFuncDesc(TypeInfoFactory.booleanTypeInfo,
+          new GenericUDFOPAnd(), Lists.newArrayList(leftComparator, rightComparator));
+      if (invert) {
+        newExpression = new ExprNodeGenericFuncDesc(TypeInfoFactory.booleanTypeInfo,
+          new GenericUDFOPNot(), Lists.newArrayList(newExpression));
+      }
+
+      return evaluateExpression(stats, newExpression, aspCtx, neededCols, fop, 0);
+    }
+
     private long evaluateNotExpr(Statistics stats, ExprNodeDesc pred,
         AnnotateStatsProcCtx aspCtx, List<String> neededCols, FilterOperator fop)
         throws CloneNotSupportedException, SemanticException {
@@ -866,7 +897,8 @@ public class StatsRulesProcFactory {
         } else if (udf instanceof GenericUDFOPNull) {
           return evaluateColEqualsNullExpr(stats, genFunc);
         } else if (udf instanceof GenericUDFOPAnd || udf instanceof GenericUDFOPOr
-            || udf instanceof GenericUDFIn || udf instanceof GenericUDFOPNot) {
+            || udf instanceof GenericUDFIn || udf instanceof GenericUDFBetween
+            || udf instanceof GenericUDFOPNot) {
           return evaluateExpression(stats, genFunc, aspCtx, neededCols, fop, evaluatedRowCount);
         }
       }

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/llap/explainuser_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/explainuser_4.q.out b/ql/src/test/results/clientpositive/llap/explainuser_4.q.out
index 0978ddd..e83d6d8 100644
--- a/ql/src/test/results/clientpositive/llap/explainuser_4.q.out
+++ b/ql/src/test/results/clientpositive/llap/explainuser_4.q.out
@@ -28,27 +28,27 @@ Stage-0
     Stage-1
       Reducer 3 llap
       File Output Operator [FS_12]
-        Select Operator [SEL_11] (rows=9759 width=620)
+        Select Operator [SEL_11] (rows=2166 width=620)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
         <-Reducer 2 [SIMPLE_EDGE] llap
           SHUFFLE [RS_10]
-            Merge Join Operator [MERGEJOIN_17] (rows=9759 width=620)
+            Merge Join Operator [MERGEJOIN_17] (rows=2166 width=620)
               Conds:RS_6._col2=RS_7._col2(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
             <-Map 1 [SIMPLE_EDGE] llap
               SHUFFLE [RS_6]
                 PartitionCols:_col2
-                Select Operator [SEL_2] (rows=6144 width=251)
+                Select Operator [SEL_2] (rows=1365 width=251)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                  Filter Operator [FIL_15] (rows=6144 width=251)
+                  Filter Operator [FIL_15] (rows=1365 width=251)
                     predicate:cint BETWEEN 1000000 AND 3000000
                     TableScan [TS_0] (rows=12288 width=251)
                       default@alltypesorc,a,Tbl:COMPLETE,Col:COMPLETE,Output:["ctinyint","csmallint","cint","cbigint","cfloat","cdouble","cstring1","cstring2","ctimestamp1","ctimestamp2","cboolean1","cboolean2"]
             <-Map 4 [SIMPLE_EDGE] llap
               SHUFFLE [RS_7]
                 PartitionCols:_col2
-                Select Operator [SEL_5] (rows=4586 width=251)
+                Select Operator [SEL_5] (rows=1019 width=251)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                  Filter Operator [FIL_16] (rows=4586 width=251)
+                  Filter Operator [FIL_16] (rows=1019 width=251)
                     predicate:(cint BETWEEN 1000000 AND 3000000 and cbigint is not null)
                     TableScan [TS_3] (rows=12288 width=251)
                       default@alltypesorc,b,Tbl:COMPLETE,Col:COMPLETE,Output:["ctinyint","csmallint","cint","cbigint","cfloat","cdouble","cstring1","cstring2","ctimestamp1","ctimestamp2","cboolean1","cboolean2"]
@@ -113,23 +113,23 @@ Stage-0
           SHUFFLE [RS_11]
             Group By Operator [GBY_10] (rows=1 width=8)
               Output:["_col0"],aggregations:["count()"]
-              Merge Join Operator [MERGEJOIN_19] (rows=9759 width=8)
+              Merge Join Operator [MERGEJOIN_19] (rows=2166 width=8)
                 Conds:RS_6._col0=RS_7._col0(Inner)
               <-Map 1 [SIMPLE_EDGE] llap
                 SHUFFLE [RS_6]
                   PartitionCols:_col0
-                  Select Operator [SEL_2] (rows=6144 width=2)
+                  Select Operator [SEL_2] (rows=1365 width=2)
                     Output:["_col0"]
-                    Filter Operator [FIL_17] (rows=6144 width=2)
+                    Filter Operator [FIL_17] (rows=1365 width=2)
                       predicate:cint BETWEEN 1000000 AND 3000000
                       TableScan [TS_0] (rows=12288 width=2)
                         default@alltypesorc,a,Tbl:COMPLETE,Col:COMPLETE,Output:["cint"]
               <-Map 4 [SIMPLE_EDGE] llap
                 SHUFFLE [RS_7]
                   PartitionCols:_col0
-                  Select Operator [SEL_5] (rows=4586 width=8)
+                  Select Operator [SEL_5] (rows=1019 width=8)
                     Output:["_col0"]
-                    Filter Operator [FIL_18] (rows=4586 width=8)
+                    Filter Operator [FIL_18] (rows=1019 width=8)
                       predicate:(cint BETWEEN 1000000 AND 3000000 and cbigint is not null)
                       TableScan [TS_3] (rows=12288 width=8)
                         default@alltypesorc,b,Tbl:COMPLETE,Col:COMPLETE,Output:["cint","cbigint"]
@@ -182,34 +182,34 @@ Stage-0
     Stage-1
       Reducer 4 llap
       File Output Operator [FS_16]
-        Select Operator [SEL_15] (rows=2765 width=12)
+        Select Operator [SEL_15] (rows=615 width=12)
           Output:["_col0","_col1"]
         <-Reducer 3 [SIMPLE_EDGE] llap
           SHUFFLE [RS_14]
-            Group By Operator [GBY_12] (rows=2765 width=12)
+            Group By Operator [GBY_12] (rows=615 width=12)
               Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
             <-Reducer 2 [SIMPLE_EDGE] llap
               SHUFFLE [RS_11]
                 PartitionCols:_col0
-                Group By Operator [GBY_10] (rows=2765 width=12)
+                Group By Operator [GBY_10] (rows=615 width=12)
                   Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                  Merge Join Operator [MERGEJOIN_21] (rows=9759 width=4)
+                  Merge Join Operator [MERGEJOIN_21] (rows=2166 width=4)
                     Conds:RS_6._col1=RS_7._col0(Inner),Output:["_col0"]
                   <-Map 1 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_6]
                       PartitionCols:_col1
-                      Select Operator [SEL_2] (rows=6144 width=5)
+                      Select Operator [SEL_2] (rows=1365 width=5)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_19] (rows=6144 width=5)
+                        Filter Operator [FIL_19] (rows=1365 width=5)
                           predicate:cint BETWEEN 1000000 AND 3000000
                           TableScan [TS_0] (rows=12288 width=5)
                             default@alltypesorc,a,Tbl:COMPLETE,Col:COMPLETE,Output:["csmallint","cint"]
                   <-Map 5 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_7]
                       PartitionCols:_col0
-                      Select Operator [SEL_5] (rows=4586 width=8)
+                      Select Operator [SEL_5] (rows=1019 width=8)
                         Output:["_col0"]
-                        Filter Operator [FIL_20] (rows=4586 width=8)
+                        Filter Operator [FIL_20] (rows=1019 width=8)
                           predicate:(cint BETWEEN 1000000 AND 3000000 and cbigint is not null)
                           TableScan [TS_3] (rows=12288 width=8)
                             default@alltypesorc,b,Tbl:COMPLETE,Col:COMPLETE,Output:["cint","cbigint"]
@@ -269,27 +269,27 @@ Stage-0
     Stage-1
       Reducer 3 llap
       File Output Operator [FS_12]
-        Select Operator [SEL_11] (rows=6758 width=215)
+        Select Operator [SEL_11] (rows=1501 width=215)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
         <-Reducer 2 [SIMPLE_EDGE] llap
           SHUFFLE [RS_10]
-            Map Join Operator [MAPJOIN_17] (rows=6758 width=215)
+            Map Join Operator [MAPJOIN_17] (rows=1501 width=215)
               Conds:RS_6.KEY.reducesinkkey0=RS_7.KEY.reducesinkkey0(Inner),HybridGraceHashJoin:true,Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
             <-Map 4 [CUSTOM_SIMPLE_EDGE] llap
               PARTITION_ONLY_SHUFFLE [RS_7]
                 PartitionCols:_col2
-                Select Operator [SEL_5] (rows=6144 width=215)
+                Select Operator [SEL_5] (rows=1365 width=215)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                  Filter Operator [FIL_16] (rows=6144 width=215)
+                  Filter Operator [FIL_16] (rows=1365 width=215)
                     predicate:(cint BETWEEN 1000000 AND 3000000 and cbigint is not null)
                     TableScan [TS_3] (rows=12288 width=215)
                       default@alltypesorc,b,Tbl:COMPLETE,Col:NONE,Output:["ctinyint","csmallint","cint","cbigint","cfloat","cdouble","cstring1","cstring2","ctimestamp1","ctimestamp2","cboolean1","cboolean2"]
             <-Map 1 [CUSTOM_SIMPLE_EDGE] llap
               PARTITION_ONLY_SHUFFLE [RS_6]
                 PartitionCols:_col2
-                Select Operator [SEL_2] (rows=6144 width=215)
+                Select Operator [SEL_2] (rows=1365 width=215)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                  Filter Operator [FIL_15] (rows=6144 width=215)
+                  Filter Operator [FIL_15] (rows=1365 width=215)
                     predicate:cint BETWEEN 1000000 AND 3000000
                     TableScan [TS_0] (rows=12288 width=215)
                       default@alltypesorc,a,Tbl:COMPLETE,Col:NONE,Output:["ctinyint","csmallint","cint","cbigint","cfloat","cdouble","cstring1","cstring2","ctimestamp1","ctimestamp2","cboolean1","cboolean2"]
@@ -354,23 +354,23 @@ Stage-0
           SHUFFLE [RS_11]
             Group By Operator [GBY_10] (rows=1 width=8)
               Output:["_col0"],aggregations:["count()"]
-              Map Join Operator [MAPJOIN_19] (rows=6758 width=215)
+              Map Join Operator [MAPJOIN_19] (rows=1501 width=215)
                 Conds:RS_6.KEY.reducesinkkey0=RS_7.KEY.reducesinkkey0(Inner),HybridGraceHashJoin:true
               <-Map 4 [CUSTOM_SIMPLE_EDGE] llap
                 PARTITION_ONLY_SHUFFLE [RS_7]
                   PartitionCols:_col0
-                  Select Operator [SEL_5] (rows=6144 width=215)
+                  Select Operator [SEL_5] (rows=1365 width=215)
                     Output:["_col0"]
-                    Filter Operator [FIL_18] (rows=6144 width=215)
+                    Filter Operator [FIL_18] (rows=1365 width=215)
                       predicate:(cint BETWEEN 1000000 AND 3000000 and cbigint is not null)
                       TableScan [TS_3] (rows=12288 width=215)
                         default@alltypesorc,b,Tbl:COMPLETE,Col:NONE,Output:["cint","cbigint"]
               <-Map 1 [CUSTOM_SIMPLE_EDGE] llap
                 PARTITION_ONLY_SHUFFLE [RS_6]
                   PartitionCols:_col0
-                  Select Operator [SEL_2] (rows=6144 width=215)
+                  Select Operator [SEL_2] (rows=1365 width=215)
                     Output:["_col0"]
-                    Filter Operator [FIL_17] (rows=6144 width=215)
+                    Filter Operator [FIL_17] (rows=1365 width=215)
                       predicate:cint BETWEEN 1000000 AND 3000000
                       TableScan [TS_0] (rows=12288 width=215)
                         default@alltypesorc,a,Tbl:COMPLETE,Col:NONE,Output:["cint"]
@@ -423,34 +423,34 @@ Stage-0
     Stage-1
       Reducer 4 llap
       File Output Operator [FS_16]
-        Select Operator [SEL_15] (rows=3379 width=215)
+        Select Operator [SEL_15] (rows=750 width=215)
           Output:["_col0","_col1"]
         <-Reducer 3 [SIMPLE_EDGE] llap
           SHUFFLE [RS_14]
-            Group By Operator [GBY_12] (rows=3379 width=215)
+            Group By Operator [GBY_12] (rows=750 width=215)
               Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
             <-Reducer 2 [SIMPLE_EDGE] llap
               SHUFFLE [RS_11]
                 PartitionCols:_col0
-                Group By Operator [GBY_10] (rows=6758 width=215)
+                Group By Operator [GBY_10] (rows=1501 width=215)
                   Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                  Map Join Operator [MAPJOIN_21] (rows=6758 width=215)
+                  Map Join Operator [MAPJOIN_21] (rows=1501 width=215)
                     Conds:RS_6.KEY.reducesinkkey0=RS_7.KEY.reducesinkkey0(Inner),HybridGraceHashJoin:true,Output:["_col0"]
                   <-Map 5 [CUSTOM_SIMPLE_EDGE] llap
                     PARTITION_ONLY_SHUFFLE [RS_7]
                       PartitionCols:_col0
-                      Select Operator [SEL_5] (rows=6144 width=215)
+                      Select Operator [SEL_5] (rows=1365 width=215)
                         Output:["_col0"]
-                        Filter Operator [FIL_20] (rows=6144 width=215)
+                        Filter Operator [FIL_20] (rows=1365 width=215)
                           predicate:(cint BETWEEN 1000000 AND 3000000 and cbigint is not null)
                           TableScan [TS_3] (rows=12288 width=215)
                             default@alltypesorc,b,Tbl:COMPLETE,Col:NONE,Output:["cint","cbigint"]
                   <-Map 1 [CUSTOM_SIMPLE_EDGE] llap
                     PARTITION_ONLY_SHUFFLE [RS_6]
                       PartitionCols:_col1
-                      Select Operator [SEL_2] (rows=6144 width=215)
+                      Select Operator [SEL_2] (rows=1365 width=215)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_19] (rows=6144 width=215)
+                        Filter Operator [FIL_19] (rows=1365 width=215)
                           predicate:cint BETWEEN 1000000 AND 3000000
                           TableScan [TS_0] (rows=12288 width=215)
                             default@alltypesorc,a,Tbl:COMPLETE,Col:NONE,Output:["csmallint","cint"]
@@ -475,8 +475,8 @@ order by c1
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
+-13036	1
 -8915	1
 -3799	1
 10782	1
--13036	1
 NULL	6

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out b/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out
index db0baee..48a86cf 100644
--- a/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out
+++ b/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out
@@ -608,15 +608,15 @@ STAGE PLANS:
                   Statistics: Num rows: 232 Data size: 24150 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s is not null and (s like 'bob%') and (not (t) IN (-1, -2, -3)) and t BETWEEN 25 AND 30) (type: boolean)
-                    Statistics: Num rows: 29 Data size: 3018 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 6 Data size: 624 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: t (type: tinyint), s (type: string)
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 29 Data size: 3018 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 6 Data size: 624 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: tinyint), _col1 (type: string)
                         sort order: ++
-                        Statistics: Num rows: 29 Data size: 3018 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 6 Data size: 624 Basic stats: COMPLETE Column stats: NONE
             Execution mode: llap
             LLAP IO: all inputs
         Reducer 2 
@@ -625,10 +625,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: tinyint), KEY.reducesinkkey1 (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 29 Data size: 3018 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 6 Data size: 624 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 29 Data size: 3018 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 6 Data size: 624 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -674,15 +674,15 @@ STAGE PLANS:
                   Statistics: Num rows: 232 Data size: 24150 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s is not null and (s like 'bob%') and (not (t) IN (-1, -2, -3)) and t BETWEEN 25 AND 30) (type: boolean)
-                    Statistics: Num rows: 29 Data size: 3018 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 6 Data size: 624 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: t (type: tinyint), s (type: string)
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 29 Data size: 3018 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 6 Data size: 624 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: tinyint), _col1 (type: string)
                         sort order: ++
-                        Statistics: Num rows: 29 Data size: 3018 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 6 Data size: 624 Basic stats: COMPLETE Column stats: NONE
             Execution mode: llap
             LLAP IO: all inputs
         Reducer 2 
@@ -691,10 +691,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: tinyint), KEY.reducesinkkey1 (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 29 Data size: 3018 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 6 Data size: 624 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 29 Data size: 3018 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 6 Data size: 624 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out b/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out
index 6541772..3254fb4 100644
--- a/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out
+++ b/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out
@@ -544,15 +544,15 @@ STAGE PLANS:
                   Statistics: Num rows: 1049 Data size: 11539 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s is not null and (s like 'bob%') and (not (t) IN (-1, -2, -3)) and t BETWEEN 25 AND 30) (type: boolean)
-                    Statistics: Num rows: 131 Data size: 1441 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 29 Data size: 319 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: t (type: tinyint), s (type: string)
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 131 Data size: 1441 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 29 Data size: 319 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: tinyint), _col1 (type: string)
                         sort order: ++
-                        Statistics: Num rows: 131 Data size: 1441 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 29 Data size: 319 Basic stats: COMPLETE Column stats: NONE
             Execution mode: llap
             LLAP IO: no inputs
         Reducer 2 
@@ -561,10 +561,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: tinyint), KEY.reducesinkkey1 (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 131 Data size: 1441 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 29 Data size: 319 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 131 Data size: 1441 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 29 Data size: 319 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -610,15 +610,15 @@ STAGE PLANS:
                   Statistics: Num rows: 1049 Data size: 11539 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s is not null and (s like 'bob%') and (not (t) IN (-1, -2, -3)) and t BETWEEN 25 AND 30) (type: boolean)
-                    Statistics: Num rows: 131 Data size: 1441 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 29 Data size: 319 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: t (type: tinyint), s (type: string)
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 131 Data size: 1441 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 29 Data size: 319 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: tinyint), _col1 (type: string)
                         sort order: ++
-                        Statistics: Num rows: 131 Data size: 1441 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 29 Data size: 319 Basic stats: COMPLETE Column stats: NONE
             Execution mode: llap
             LLAP IO: no inputs
         Reducer 2 
@@ -627,10 +627,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: tinyint), KEY.reducesinkkey1 (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 131 Data size: 1441 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 29 Data size: 319 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 131 Data size: 1441 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 29 Data size: 319 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -741,15 +741,15 @@ STAGE PLANS:
                   Statistics: Num rows: 1049 Data size: 11539 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d >= 10.0) and (d < 12.0) and (s like '%son') and (t > 0) and si BETWEEN 300 AND 400 and (not (s like '%car%'))) (type: boolean)
-                    Statistics: Num rows: 5 Data size: 55 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: t (type: tinyint), si (type: smallint), d (type: double), s (type: string)
                       outputColumnNames: _col0, _col1, _col2, _col3
-                      Statistics: Num rows: 5 Data size: 55 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col3 (type: string)
                         sort order: -
-                        Statistics: Num rows: 5 Data size: 55 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE
                         TopN Hash Memory Usage: 0.1
                         value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col2 (type: double)
             Execution mode: llap
@@ -760,13 +760,13 @@ STAGE PLANS:
               Select Operator
                 expressions: VALUE._col0 (type: tinyint), VALUE._col1 (type: smallint), VALUE._col2 (type: double), KEY.reducesinkkey0 (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3
-                Statistics: Num rows: 5 Data size: 55 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE
                 Limit
                   Number of rows: 3
-                  Statistics: Num rows: 3 Data size: 33 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 3 Data size: 33 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE
                     table:
                         input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -820,15 +820,15 @@ STAGE PLANS:
                   Statistics: Num rows: 1049 Data size: 11539 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d >= 10.0) and (d < 12.0) and (s like '%son') and (t > 0) and si BETWEEN 300 AND 400 and (not (s like '%car%'))) (type: boolean)
-                    Statistics: Num rows: 5 Data size: 55 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: t (type: tinyint), si (type: smallint), d (type: double), s (type: string)
                       outputColumnNames: _col0, _col1, _col2, _col3
-                      Statistics: Num rows: 5 Data size: 55 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col3 (type: string)
                         sort order: -
-                        Statistics: Num rows: 5 Data size: 55 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE
                         TopN Hash Memory Usage: 0.1
                         value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col2 (type: double)
             Execution mode: llap
@@ -839,13 +839,13 @@ STAGE PLANS:
               Select Operator
                 expressions: VALUE._col0 (type: tinyint), VALUE._col1 (type: smallint), VALUE._col2 (type: double), KEY.reducesinkkey0 (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3
-                Statistics: Num rows: 5 Data size: 55 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE
                 Limit
                   Number of rows: 3
-                  Statistics: Num rows: 3 Data size: 33 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 3 Data size: 33 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE
                     table:
                         input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_1.q.out b/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_1.q.out
index 5c8db64..25c6f15 100644
--- a/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_1.q.out
@@ -36,16 +36,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1546640 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1365 Data size: 343800 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean)
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
-                      Statistics: Num rows: 6144 Data size: 1546640 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1365 Data size: 343800 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col2 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col2 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1546640 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1365 Data size: 343800 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
             Execution mode: llap
             LLAP IO: all inputs
@@ -56,16 +56,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
-                    Statistics: Num rows: 4586 Data size: 1154510 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1019 Data size: 256780 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean)
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
-                      Statistics: Num rows: 4586 Data size: 1154510 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1019 Data size: 256780 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col2 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col2 (type: int)
-                        Statistics: Num rows: 4586 Data size: 1154510 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1019 Data size: 256780 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
             Execution mode: llap
             LLAP IO: all inputs
@@ -79,11 +79,11 @@ STAGE PLANS:
                   0 _col2 (type: int)
                   1 _col2 (type: int)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23
-                Statistics: Num rows: 9759 Data size: 6050580 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2166 Data size: 1342920 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
                   key expressions: _col2 (type: int)
                   sort order: +
-                  Statistics: Num rows: 9759 Data size: 6050580 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2166 Data size: 1342920 Basic stats: COMPLETE Column stats: COMPLETE
                   value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean), _col12 (type: tinyint), _col13 (type: smallint), _col14 (type: int), _col15 (type: bigint), _col16 (type: float), _col17 (type: double), _col18 (type: string), _col19 (type: string), _col20 (type: timestamp), _col21 (type: timestamp), _col22 (type: boolean), _col23 (type: boolean)
         Reducer 3 
             Execution mode: llap
@@ -91,10 +91,10 @@ STAGE PLANS:
               Select Operator
                 expressions: VALUE._col0 (type: tinyint), VALUE._col1 (type: smallint), KEY.reducesinkkey0 (type: int), VALUE._col2 (type: bigint), VALUE._col3 (type: float), VALUE._col4 (type: double), VALUE._col5 (type: string), VALUE._col6 (type: string), VALUE._col7 (type: timestamp), VALUE._col8 (type: timestamp), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: tinyint), VALUE._col12 (type: smallint), VALUE._col13 (type: int), VALUE._col14 (type: bigint), VALUE._col15 (type: float), VALUE._col16 (type: double), VALUE._col17 (type: string), VALUE._col18 (type: string), VALUE._col19 (type: timestamp), VALUE._col20 (type: timestamp), VALUE._col21 (type: boolean), VALUE._col22 (type: boolean)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23
-                Statistics: Num rows: 9759 Data size: 6050580 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2166 Data size: 1342920 Basic stats: COMPLETE Column stats: COMPLETE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 9759 Data size: 6050580 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2166 Data size: 1342920 Basic stats: COMPLETE Column stats: COMPLETE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -168,16 +168,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 18348 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1365 Data size: 4080 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cint (type: int)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 18348 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1365 Data size: 4080 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 6144 Data size: 18348 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1365 Data size: 4080 Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: llap
             LLAP IO: all inputs
         Map 4 
@@ -187,16 +187,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 110088 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
-                    Statistics: Num rows: 4586 Data size: 41088 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1019 Data size: 9144 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cint (type: int)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 4586 Data size: 41088 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1019 Data size: 9144 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 4586 Data size: 41088 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1019 Data size: 9144 Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: llap
             LLAP IO: all inputs
         Reducer 2 
@@ -208,7 +208,7 @@ STAGE PLANS:
                 keys:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
-                Statistics: Num rows: 9759 Data size: 78072 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2166 Data size: 17328 Basic stats: COMPLETE Column stats: COMPLETE
                 Group By Operator
                   aggregations: count()
                   mode: hash
@@ -296,16 +296,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 73396 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 36700 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1365 Data size: 8160 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: csmallint (type: smallint), cint (type: int)
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 6144 Data size: 36700 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1365 Data size: 8160 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col1 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col1 (type: int)
-                        Statistics: Num rows: 6144 Data size: 36700 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1365 Data size: 8160 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col0 (type: smallint)
             Execution mode: llap
             LLAP IO: all inputs
@@ -316,16 +316,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 110088 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
-                    Statistics: Num rows: 4586 Data size: 41088 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1019 Data size: 9144 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cint (type: int)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 4586 Data size: 41088 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1019 Data size: 9144 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 4586 Data size: 41088 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1019 Data size: 9144 Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: llap
             LLAP IO: all inputs
         Reducer 2 
@@ -338,18 +338,18 @@ STAGE PLANS:
                   0 _col1 (type: int)
                   1 _col0 (type: int)
                 outputColumnNames: _col0
-                Statistics: Num rows: 9759 Data size: 39036 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2166 Data size: 8664 Basic stats: COMPLETE Column stats: COMPLETE
                 Group By Operator
                   aggregations: count()
                   keys: _col0 (type: smallint)
                   mode: hash
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 2765 Data size: 33180 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 615 Data size: 7380 Basic stats: COMPLETE Column stats: COMPLETE
                   Reduce Output Operator
                     key expressions: _col0 (type: smallint)
                     sort order: +
                     Map-reduce partition columns: _col0 (type: smallint)
-                    Statistics: Num rows: 2765 Data size: 33180 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 615 Data size: 7380 Basic stats: COMPLETE Column stats: COMPLETE
                     value expressions: _col1 (type: bigint)
         Reducer 3 
             Execution mode: llap
@@ -359,11 +359,11 @@ STAGE PLANS:
                 keys: KEY._col0 (type: smallint)
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 2765 Data size: 33180 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 615 Data size: 7380 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
                   key expressions: _col1 (type: bigint)
                   sort order: +
-                  Statistics: Num rows: 2765 Data size: 33180 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 615 Data size: 7380 Basic stats: COMPLETE Column stats: COMPLETE
                   value expressions: _col0 (type: smallint)
         Reducer 4 
             Execution mode: llap
@@ -371,10 +371,10 @@ STAGE PLANS:
               Select Operator
                 expressions: VALUE._col0 (type: smallint), KEY.reducesinkkey0 (type: bigint)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 2765 Data size: 33180 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 615 Data size: 7380 Basic stats: COMPLETE Column stats: COMPLETE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 2765 Data size: 33180 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 615 Data size: 7380 Basic stats: COMPLETE Column stats: COMPLETE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -449,16 +449,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean)
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
-                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col2 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col2 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
             Execution mode: llap
             LLAP IO: all inputs
@@ -469,16 +469,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean)
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
-                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col2 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col2 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
             Execution mode: llap
             LLAP IO: all inputs
@@ -494,12 +494,12 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23
                 input vertices:
                   1 Map 4
-                Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                 HybridGraceHashJoin: true
                 Reduce Output Operator
                   key expressions: _col2 (type: int)
                   sort order: +
-                  Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean), _col12 (type: tinyint), _col13 (type: smallint), _col14 (type: int), _col15 (type: bigint), _col16 (type: float), _col17 (type: double), _col18 (type: string), _col19 (type: string), _col20 (type: timestamp), _col21 (type: timestamp), _col22 (type: boolean), _col23 (type: boolean)
         Reducer 3 
             Execution mode: llap
@@ -507,10 +507,10 @@ STAGE PLANS:
               Select Operator
                 expressions: VALUE._col0 (type: tinyint), VALUE._col1 (type: smallint), KEY.reducesinkkey0 (type: int), VALUE._col2 (type: bigint), VALUE._col3 (type: float), VALUE._col4 (type: double), VALUE._col5 (type: string), VALUE._col6 (type: string), VALUE._col7 (type: timestamp), VALUE._col8 (type: timestamp), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: tinyint), VALUE._col12 (type: smallint), VALUE._col13 (type: int), VALUE._col14 (type: bigint), VALUE._col15 (type: float), VALUE._col16 (type: double), VALUE._col17 (type: string), VALUE._col18 (type: string), VALUE._col19 (type: timestamp), VALUE._col20 (type: timestamp), VALUE._col21 (type: boolean), VALUE._col22 (type: boolean)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23
-                Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -584,16 +584,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: cint (type: int)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
             Execution mode: llap
             LLAP IO: all inputs
         Map 4 
@@ -603,16 +603,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: cint (type: int)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
             Execution mode: llap
             LLAP IO: all inputs
         Reducer 2 
@@ -626,7 +626,7 @@ STAGE PLANS:
                   1 KEY.reducesinkkey0 (type: int)
                 input vertices:
                   1 Map 4
-                Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                 HybridGraceHashJoin: true
                 Group By Operator
                   aggregations: count()
@@ -715,16 +715,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: csmallint (type: smallint), cint (type: int)
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col1 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col1 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col0 (type: smallint)
             Execution mode: llap
             LLAP IO: all inputs
@@ -735,16 +735,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: cint (type: int)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
             Execution mode: llap
             LLAP IO: all inputs
         Reducer 2 
@@ -759,19 +759,19 @@ STAGE PLANS:
                 outputColumnNames: _col0
                 input vertices:
                   1 Map 5
-                Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                 HybridGraceHashJoin: true
                 Group By Operator
                   aggregations: count()
                   keys: _col0 (type: smallint)
                   mode: hash
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator
                     key expressions: _col0 (type: smallint)
                     sort order: +
                     Map-reduce partition columns: _col0 (type: smallint)
-                    Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                     value expressions: _col1 (type: bigint)
         Reducer 3 
             Execution mode: llap
@@ -781,11 +781,11 @@ STAGE PLANS:
                 keys: KEY._col0 (type: smallint)
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 3379 Data size: 726540 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 750 Data size: 161305 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: smallint)
                   sort order: +
-                  Statistics: Num rows: 3379 Data size: 726540 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 750 Data size: 161305 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col1 (type: bigint)
         Reducer 4 
             Execution mode: llap
@@ -793,10 +793,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: smallint), VALUE._col0 (type: bigint)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 3379 Data size: 726540 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 750 Data size: 161305 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 3379 Data size: 726540 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 750 Data size: 161305 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat


[2/3] hive git commit: HIVE-15029: Add logic to estimate stats for BETWEEN operator (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

Posted by jc...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_1.q.out b/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_1.q.out
index b2359c1..7664c44 100644
--- a/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_1.q.out
@@ -36,16 +36,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1546640 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1365 Data size: 343800 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean)
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
-                      Statistics: Num rows: 6144 Data size: 1546640 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1365 Data size: 343800 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col2 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col2 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1546640 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1365 Data size: 343800 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
             Execution mode: llap
             LLAP IO: all inputs
@@ -56,16 +56,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
-                    Statistics: Num rows: 4586 Data size: 1154510 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1019 Data size: 256780 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean)
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
-                      Statistics: Num rows: 4586 Data size: 1154510 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1019 Data size: 256780 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col2 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col2 (type: int)
-                        Statistics: Num rows: 4586 Data size: 1154510 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1019 Data size: 256780 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
             Execution mode: llap
             LLAP IO: all inputs
@@ -79,11 +79,11 @@ STAGE PLANS:
                   0 _col2 (type: int)
                   1 _col2 (type: int)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23
-                Statistics: Num rows: 9759 Data size: 6050580 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2166 Data size: 1342920 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
                   key expressions: _col2 (type: int)
                   sort order: +
-                  Statistics: Num rows: 9759 Data size: 6050580 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2166 Data size: 1342920 Basic stats: COMPLETE Column stats: COMPLETE
                   value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean), _col12 (type: tinyint), _col13 (type: smallint), _col14 (type: int), _col15 (type: bigint), _col16 (type: float), _col17 (type: double), _col18 (type: string), _col19 (type: string), _col20 (type: timestamp), _col21 (type: timestamp), _col22 (type: boolean), _col23 (type: boolean)
         Reducer 3 
             Execution mode: llap
@@ -91,10 +91,10 @@ STAGE PLANS:
               Select Operator
                 expressions: VALUE._col0 (type: tinyint), VALUE._col1 (type: smallint), KEY.reducesinkkey0 (type: int), VALUE._col2 (type: bigint), VALUE._col3 (type: float), VALUE._col4 (type: double), VALUE._col5 (type: string), VALUE._col6 (type: string), VALUE._col7 (type: timestamp), VALUE._col8 (type: timestamp), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: tinyint), VALUE._col12 (type: smallint), VALUE._col13 (type: int), VALUE._col14 (type: bigint), VALUE._col15 (type: float), VALUE._col16 (type: double), VALUE._col17 (type: string), VALUE._col18 (type: string), VALUE._col19 (type: timestamp), VALUE._col20 (type: timestamp), VALUE._col21 (type: boolean), VALUE._col22 (type: boolean)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23
-                Statistics: Num rows: 9759 Data size: 6050580 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2166 Data size: 1342920 Basic stats: COMPLETE Column stats: COMPLETE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 9759 Data size: 6050580 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2166 Data size: 1342920 Basic stats: COMPLETE Column stats: COMPLETE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -168,16 +168,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 18348 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1365 Data size: 4080 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cint (type: int)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 18348 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1365 Data size: 4080 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 6144 Data size: 18348 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1365 Data size: 4080 Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: llap
             LLAP IO: all inputs
         Map 4 
@@ -187,16 +187,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 110088 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
-                    Statistics: Num rows: 4586 Data size: 41088 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1019 Data size: 9144 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cint (type: int)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 4586 Data size: 41088 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1019 Data size: 9144 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 4586 Data size: 41088 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1019 Data size: 9144 Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: llap
             LLAP IO: all inputs
         Reducer 2 
@@ -208,7 +208,7 @@ STAGE PLANS:
                 keys:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
-                Statistics: Num rows: 9759 Data size: 78072 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2166 Data size: 17328 Basic stats: COMPLETE Column stats: COMPLETE
                 Group By Operator
                   aggregations: count()
                   mode: hash
@@ -296,16 +296,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 73396 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 36700 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1365 Data size: 8160 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: csmallint (type: smallint), cint (type: int)
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 6144 Data size: 36700 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1365 Data size: 8160 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col1 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col1 (type: int)
-                        Statistics: Num rows: 6144 Data size: 36700 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1365 Data size: 8160 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col0 (type: smallint)
             Execution mode: llap
             LLAP IO: all inputs
@@ -316,16 +316,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 110088 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
-                    Statistics: Num rows: 4586 Data size: 41088 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1019 Data size: 9144 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cint (type: int)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 4586 Data size: 41088 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1019 Data size: 9144 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 4586 Data size: 41088 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1019 Data size: 9144 Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: llap
             LLAP IO: all inputs
         Reducer 2 
@@ -338,18 +338,18 @@ STAGE PLANS:
                   0 _col1 (type: int)
                   1 _col0 (type: int)
                 outputColumnNames: _col0
-                Statistics: Num rows: 9759 Data size: 39036 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2166 Data size: 8664 Basic stats: COMPLETE Column stats: COMPLETE
                 Group By Operator
                   aggregations: count()
                   keys: _col0 (type: smallint)
                   mode: hash
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 2765 Data size: 33180 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 615 Data size: 7380 Basic stats: COMPLETE Column stats: COMPLETE
                   Reduce Output Operator
                     key expressions: _col0 (type: smallint)
                     sort order: +
                     Map-reduce partition columns: _col0 (type: smallint)
-                    Statistics: Num rows: 2765 Data size: 33180 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 615 Data size: 7380 Basic stats: COMPLETE Column stats: COMPLETE
                     value expressions: _col1 (type: bigint)
         Reducer 3 
             Execution mode: llap
@@ -359,11 +359,11 @@ STAGE PLANS:
                 keys: KEY._col0 (type: smallint)
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 2765 Data size: 33180 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 615 Data size: 7380 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
                   key expressions: _col1 (type: bigint)
                   sort order: +
-                  Statistics: Num rows: 2765 Data size: 33180 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 615 Data size: 7380 Basic stats: COMPLETE Column stats: COMPLETE
                   value expressions: _col0 (type: smallint)
         Reducer 4 
             Execution mode: llap
@@ -371,10 +371,10 @@ STAGE PLANS:
               Select Operator
                 expressions: VALUE._col0 (type: smallint), KEY.reducesinkkey0 (type: bigint)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 2765 Data size: 33180 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 615 Data size: 7380 Basic stats: COMPLETE Column stats: COMPLETE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 2765 Data size: 33180 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 615 Data size: 7380 Basic stats: COMPLETE Column stats: COMPLETE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -449,16 +449,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean)
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
-                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col2 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col2 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -469,16 +469,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean)
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
-                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col2 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col2 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -494,12 +494,12 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23
                 input vertices:
                   1 Map 4
-                Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                 HybridGraceHashJoin: true
                 Reduce Output Operator
                   key expressions: _col2 (type: int)
                   sort order: +
-                  Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean), _col12 (type: tinyint), _col13 (type: smallint), _col14 (type: int), _col15 (type: bigint), _col16 (type: float), _col17 (type: double), _col18 (type: string), _col19 (type: string), _col20 (type: timestamp), _col21 (type: timestamp), _col22 (type: boolean), _col23 (type: boolean)
         Reducer 3 
             Execution mode: vectorized, llap
@@ -507,10 +507,10 @@ STAGE PLANS:
               Select Operator
                 expressions: VALUE._col0 (type: tinyint), VALUE._col1 (type: smallint), KEY.reducesinkkey0 (type: int), VALUE._col2 (type: bigint), VALUE._col3 (type: float), VALUE._col4 (type: double), VALUE._col5 (type: string), VALUE._col6 (type: string), VALUE._col7 (type: timestamp), VALUE._col8 (type: timestamp), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: tinyint), VALUE._col12 (type: smallint), VALUE._col13 (type: int), VALUE._col14 (type: bigint), VALUE._col15 (type: float), VALUE._col16 (type: double), VALUE._col17 (type: string), VALUE._col18 (type: string), VALUE._col19 (type: timestamp), VALUE._col20 (type: timestamp), VALUE._col21 (type: boolean), VALUE._col22 (type: boolean)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23
-                Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -584,16 +584,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: cint (type: int)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
         Map 4 
@@ -603,16 +603,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: cint (type: int)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
         Reducer 2 
@@ -626,7 +626,7 @@ STAGE PLANS:
                   1 KEY.reducesinkkey0 (type: int)
                 input vertices:
                   1 Map 4
-                Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                 HybridGraceHashJoin: true
                 Group By Operator
                   aggregations: count()
@@ -715,16 +715,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: csmallint (type: smallint), cint (type: int)
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col1 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col1 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col0 (type: smallint)
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -735,16 +735,16 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: cint (type: int)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
         Reducer 2 
@@ -759,19 +759,19 @@ STAGE PLANS:
                 outputColumnNames: _col0
                 input vertices:
                   1 Map 5
-                Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                 HybridGraceHashJoin: true
                 Group By Operator
                   aggregations: count()
                   keys: _col0 (type: smallint)
                   mode: hash
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator
                     key expressions: _col0 (type: smallint)
                     sort order: +
                     Map-reduce partition columns: _col0 (type: smallint)
-                    Statistics: Num rows: 6758 Data size: 1453080 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1501 Data size: 322826 Basic stats: COMPLETE Column stats: NONE
                     value expressions: _col1 (type: bigint)
         Reducer 3 
             Execution mode: vectorized, llap
@@ -781,11 +781,11 @@ STAGE PLANS:
                 keys: KEY._col0 (type: smallint)
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 3379 Data size: 726540 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 750 Data size: 161305 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col1 (type: bigint)
                   sort order: +
-                  Statistics: Num rows: 3379 Data size: 726540 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 750 Data size: 161305 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col0 (type: smallint)
         Reducer 4 
             Execution mode: vectorized, llap
@@ -793,10 +793,10 @@ STAGE PLANS:
               Select Operator
                 expressions: VALUE._col0 (type: smallint), KEY.reducesinkkey0 (type: bigint)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 3379 Data size: 726540 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 750 Data size: 161305 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 3379 Data size: 726540 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 750 Data size: 161305 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -828,8 +828,8 @@ order by c1
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
+-13036	1
 -8915	1
 -3799	1
 10782	1
--13036	1
 NULL	6

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/llap/vector_between_columns.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_between_columns.q.out b/ql/src/test/results/clientpositive/llap/vector_between_columns.q.out
index 6b59497..3de8cc4 100644
--- a/ql/src/test/results/clientpositive/llap/vector_between_columns.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_between_columns.q.out
@@ -220,14 +220,14 @@ STAGE PLANS:
                       Statistics: Num rows: 25 Data size: 385 Basic stats: COMPLETE Column stats: NONE
                       Filter Operator
                         predicate: _col1 BETWEEN _col3 AND _col3 (type: boolean)
-                        Statistics: Num rows: 12 Data size: 184 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 2 Data size: 30 Basic stats: COMPLETE Column stats: NONE
                         Select Operator
                           expressions: _col0 (type: int), _col2 (type: int), _col1 (type: int), _col3 (type: smallint)
                           outputColumnNames: _col0, _col1, _col2, _col3
-                          Statistics: Num rows: 12 Data size: 184 Basic stats: COMPLETE Column stats: NONE
+                          Statistics: Num rows: 2 Data size: 30 Basic stats: COMPLETE Column stats: NONE
                           File Output Operator
                             compressed: false
-                            Statistics: Num rows: 12 Data size: 184 Basic stats: COMPLETE Column stats: NONE
+                            Statistics: Num rows: 2 Data size: 30 Basic stats: COMPLETE Column stats: NONE
                             table:
                                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/llap/vector_between_in.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_between_in.q.out b/ql/src/test/results/clientpositive/llap/vector_between_in.q.out
index 0d4425b..ad469e8 100644
--- a/ql/src/test/results/clientpositive/llap/vector_between_in.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_between_in.q.out
@@ -263,15 +263,15 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2467616 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cdate BETWEEN 1969-12-30 AND 1970-01-02 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: cdate (type: date)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: date)
                         sort order: +
-                        Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
         Reducer 2 
@@ -280,10 +280,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: date)
                 outputColumnNames: _col0
-                Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -318,15 +318,15 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2467616 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cdate NOT BETWEEN 1968-05-01 AND 1971-09-01 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: cdate (type: date)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: date)
                         sort order: +
-                        Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
         Reducer 2 
@@ -335,10 +335,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: date)
                 outputColumnNames: _col0
-                Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -373,15 +373,15 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2467616 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cdecimal1 BETWEEN -20 AND 45.9918918919 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: cdecimal1 (type: decimal(20,10))
                       outputColumnNames: _col0
-                      Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: decimal(20,10))
                         sort order: +
-                        Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
         Reducer 2 
@@ -390,10 +390,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: decimal(20,10))
                 outputColumnNames: _col0
-                Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1365 Data size: 274112 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -428,9 +428,9 @@ STAGE PLANS:
                   Statistics: Num rows: 12288 Data size: 2467616 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cdecimal1 NOT BETWEEN -2000 AND 4390.1351351351 (type: boolean)
-                    Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 10923 Data size: 2193503 Basic stats: COMPLETE Column stats: NONE
                       Group By Operator
                         aggregations: count()
                         mode: hash

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query12.q.out b/ql/src/test/results/clientpositive/perf/query12.q.out
index 8b05edb..3f25f56 100644
--- a/ql/src/test/results/clientpositive/perf/query12.q.out
+++ b/ql/src/test/results/clientpositive/perf/query12.q.out
@@ -46,7 +46,7 @@ Stage-0
                                 <-Map 8 [SIMPLE_EDGE]
                                   SHUFFLE [RS_11]
                                     PartitionCols:d_date_sk
-                                    Filter Operator [FIL_35] (rows=36524 width=1119)
+                                    Filter Operator [FIL_35] (rows=8116 width=1119)
                                       predicate:(d_date_sk is not null and d_date BETWEEN '2001-01-12' AND '2001-02-11')
                                       TableScan [TS_2] (rows=73049 width=1119)
                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query13.q.out b/ql/src/test/results/clientpositive/perf/query13.q.out
index 0222ee4..2f84cce 100644
--- a/ql/src/test/results/clientpositive/perf/query13.q.out
+++ b/ql/src/test/results/clientpositive/perf/query13.q.out
@@ -128,7 +128,7 @@ Stage-0
           SHUFFLE [RS_40]
             Group By Operator [GBY_39] (rows=1 width=764)
               Output:["_col0","_col1","_col2","_col3"],aggregations:["avg(_col7)","avg(_col9)","avg(_col10)","sum(_col10)"]
-              Merge Join Operator [MERGEJOIN_74] (rows=130450332 width=88)
+              Merge Join Operator [MERGEJOIN_74] (rows=2016666 width=1014)
                 Conds:RS_35._col0=RS_36._col0(Inner),Output:["_col7","_col9","_col10"]
               <-Map 1 [SIMPLE_EDGE]
                 SHUFFLE [RS_35]
@@ -142,11 +142,11 @@ Stage-0
               <-Reducer 8 [SIMPLE_EDGE]
                 SHUFFLE [RS_36]
                   PartitionCols:_col0
-                  Select Operator [SEL_34] (rows=118591209 width=88)
+                  Select Operator [SEL_34] (rows=1833333 width=1014)
                     Output:["_col0","_col5","_col7","_col8"]
-                    Filter Operator [FIL_33] (rows=118591209 width=88)
+                    Filter Operator [FIL_33] (rows=1833333 width=1014)
                       predicate:(((_col17) IN ('KY', 'GA', 'NM') and _col9 BETWEEN 100 AND 200) or ((_col17) IN ('MT', 'OR', 'IN') and _col9 BETWEEN 150 AND 300) or ((_col17) IN ('WI', 'MO', 'WV') and _col9 BETWEEN 50 AND 250))
-                      Merge Join Operator [MERGEJOIN_73] (rows=158121612 width=88)
+                      Merge Join Operator [MERGEJOIN_73] (rows=11000000 width=1014)
                         Conds:RS_30._col3=RS_31._col0(Inner),Output:["_col0","_col5","_col7","_col8","_col9","_col17"]
                       <-Map 12 [SIMPLE_EDGE]
                         SHUFFLE [RS_31]
@@ -160,13 +160,13 @@ Stage-0
                       <-Reducer 7 [SIMPLE_EDGE]
                         SHUFFLE [RS_30]
                           PartitionCols:_col3
-                          Select Operator [SEL_26] (rows=143746917 width=88)
+                          Select Operator [SEL_26] (rows=3549306 width=88)
                             Output:["_col0","_col3","_col5","_col7","_col8","_col9"]
-                            Filter Operator [FIL_25] (rows=143746917 width=88)
+                            Filter Operator [FIL_25] (rows=3549306 width=88)
                               predicate:(((_col12 = 'M') and (_col13 = '4 yr Degree') and _col6 BETWEEN 100 AND 150 and (_col15 = 3)) or ((_col12 = 'D') and (_col13 = 'Primary') and _col6 BETWEEN 50 AND 100 and (_col15 = 1)) or ((_col12 = 'U') and (_col13 = 'Advanced Degree') and _col6 BETWEEN 150 AND 200 and (_col15 = 1)))
-                              Select Operator [SEL_24] (rows=766650239 width=88)
+                              Select Operator [SEL_24] (rows=85183356 width=88)
                                 Output:["_col0","_col3","_col5","_col6","_col7","_col8","_col9","_col12","_col13","_col15"]
-                                Merge Join Operator [MERGEJOIN_72] (rows=766650239 width=88)
+                                Merge Join Operator [MERGEJOIN_72] (rows=85183356 width=88)
                                   Conds:RS_21._col2=RS_22._col0(Inner),Output:["_col1","_col4","_col6","_col7","_col8","_col9","_col10","_col12","_col14","_col15"]
                                 <-Map 11 [SIMPLE_EDGE]
                                   SHUFFLE [RS_22]
@@ -180,7 +180,7 @@ Stage-0
                                 <-Reducer 6 [SIMPLE_EDGE]
                                   SHUFFLE [RS_21]
                                     PartitionCols:_col2
-                                    Merge Join Operator [MERGEJOIN_71] (rows=696954748 width=88)
+                                    Merge Join Operator [MERGEJOIN_71] (rows=77439413 width=88)
                                       Conds:RS_18._col3=RS_19._col0(Inner),Output:["_col1","_col2","_col4","_col6","_col7","_col8","_col9","_col10","_col12"]
                                     <-Map 10 [SIMPLE_EDGE]
                                       SHUFFLE [RS_19]
@@ -194,7 +194,7 @@ Stage-0
                                     <-Reducer 5 [SIMPLE_EDGE]
                                       SHUFFLE [RS_18]
                                         PartitionCols:_col3
-                                        Merge Join Operator [MERGEJOIN_70] (rows=633595212 width=88)
+                                        Merge Join Operator [MERGEJOIN_70] (rows=70399465 width=88)
                                           Conds:RS_15._col0=RS_16._col4(Inner),Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col8","_col9","_col10"]
                                         <-Map 4 [SIMPLE_EDGE]
                                           SHUFFLE [RS_15]
@@ -208,9 +208,9 @@ Stage-0
                                         <-Map 9 [SIMPLE_EDGE]
                                           SHUFFLE [RS_16]
                                             PartitionCols:_col4
-                                            Select Operator [SEL_8] (rows=575995635 width=88)
+                                            Select Operator [SEL_8] (rows=63999513 width=88)
                                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"]
-                                              Filter Operator [FIL_66] (rows=575995635 width=88)
+                                              Filter Operator [FIL_66] (rows=63999513 width=88)
                                                 predicate:((ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and (ss_net_profit BETWEEN 100 AND 200 or ss_net_profit BETWEEN 150 AND 300 or ss_net_profit BETWEEN 50 AND 250) and ss_store_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_addr_sk is not null and ss_sold_date_sk is not null)
                                                 TableScan [TS_6] (rows=575995635 width=88)
                                                   default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_cdemo_sk","ss_hdemo_sk","ss_addr_sk","ss_store_sk","ss_quantity","ss_sales_price","ss_ext_sales_price","ss_ext_wholesale_cost","ss_net_profit"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query20.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query20.q.out b/ql/src/test/results/clientpositive/perf/query20.q.out
index bf23bf8..c525703 100644
--- a/ql/src/test/results/clientpositive/perf/query20.q.out
+++ b/ql/src/test/results/clientpositive/perf/query20.q.out
@@ -71,9 +71,9 @@ Stage-0
                                     <-Map 7 [SIMPLE_EDGE]
                                       SHUFFLE [RS_10]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_5] (rows=36524 width=1119)
+                                        Select Operator [SEL_5] (rows=8116 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_35] (rows=36524 width=1119)
+                                          Filter Operator [FIL_35] (rows=8116 width=1119)
                                             predicate:(d_date BETWEEN '2001-01-12' AND '2001-02-11' and d_date_sk is not null)
                                             TableScan [TS_3] (rows=73049 width=1119)
                                               default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query21.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query21.q.out b/ql/src/test/results/clientpositive/perf/query21.q.out
index 52dc0d2..0d3ea9d 100644
--- a/ql/src/test/results/clientpositive/perf/query21.q.out
+++ b/ql/src/test/results/clientpositive/perf/query21.q.out
@@ -103,9 +103,9 @@ Stage-0
                             <-Map 8 [SIMPLE_EDGE]
                               SHUFFLE [RS_16]
                                 PartitionCols:_col0
-                                Select Operator [SEL_8] (rows=231000 width=1436)
+                                Select Operator [SEL_8] (rows=51333 width=1436)
                                   Output:["_col0","_col1"]
-                                  Filter Operator [FIL_43] (rows=231000 width=1436)
+                                  Filter Operator [FIL_43] (rows=51333 width=1436)
                                     predicate:(i_current_price BETWEEN 0.99 AND 1.49 and i_item_sk is not null)
                                     TableScan [TS_6] (rows=462000 width=1436)
                                       default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_current_price"]
@@ -126,9 +126,9 @@ Stage-0
                                 <-Map 7 [SIMPLE_EDGE]
                                   SHUFFLE [RS_13]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_5] (rows=36524 width=1119)
+                                    Select Operator [SEL_5] (rows=8116 width=1119)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_42] (rows=36524 width=1119)
+                                      Filter Operator [FIL_42] (rows=8116 width=1119)
                                         predicate:(d_date BETWEEN '1998-03-09' AND '1998-05-07' and d_date_sk is not null)
                                         TableScan [TS_3] (rows=73049 width=1119)
                                           default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query22.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query22.q.out b/ql/src/test/results/clientpositive/perf/query22.q.out
index ac2df5c..52fc566 100644
--- a/ql/src/test/results/clientpositive/perf/query22.q.out
+++ b/ql/src/test/results/clientpositive/perf/query22.q.out
@@ -76,9 +76,9 @@ Stage-0
                                 <-Map 7 [SIMPLE_EDGE]
                                   SHUFFLE [RS_13]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_5] (rows=36524 width=1119)
+                                    Select Operator [SEL_5] (rows=8116 width=1119)
                                       Output:["_col0"]
-                                      Filter Operator [FIL_41] (rows=36524 width=1119)
+                                      Filter Operator [FIL_41] (rows=8116 width=1119)
                                         predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
                                         TableScan [TS_3] (rows=73049 width=1119)
                                           default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query25.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query25.q.out b/ql/src/test/results/clientpositive/perf/query25.q.out
index d627ec4..8e5119c 100644
--- a/ql/src/test/results/clientpositive/perf/query25.q.out
+++ b/ql/src/test/results/clientpositive/perf/query25.q.out
@@ -76,9 +76,9 @@ Stage-0
                                     <-Map 15 [SIMPLE_EDGE]
                                       SHUFFLE [RS_28]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_17] (rows=18262 width=1119)
+                                        Select Operator [SEL_17] (rows=4058 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_91] (rows=18262 width=1119)
+                                          Filter Operator [FIL_91] (rows=4058 width=1119)
                                             predicate:(d_moy BETWEEN 4 AND 10 and (d_year = 1998) and d_date_sk is not null)
                                             TableScan [TS_15] (rows=73049 width=1119)
                                               default@date_dim,d2,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
@@ -136,9 +136,9 @@ Stage-0
                               <-Map 7 [SIMPLE_EDGE]
                                 SHUFFLE [RS_38]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_5] (rows=18262 width=1119)
+                                  Select Operator [SEL_5] (rows=4058 width=1119)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_87] (rows=18262 width=1119)
+                                    Filter Operator [FIL_87] (rows=4058 width=1119)
                                       predicate:(d_moy BETWEEN 4 AND 10 and (d_year = 1998) and d_date_sk is not null)
                                       TableScan [TS_3] (rows=73049 width=1119)
                                         default@date_dim,d3,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query28.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query28.q.out b/ql/src/test/results/clientpositive/perf/query28.q.out
index 8a0f038..cb9d73e 100644
--- a/ql/src/test/results/clientpositive/perf/query28.q.out
+++ b/ql/src/test/results/clientpositive/perf/query28.q.out
@@ -130,11 +130,11 @@ Stage-0
                   Output:["_col0","_col1","_col2"],aggregations:["avg(VALUE._col0)","count(VALUE._col1)","count(DISTINCT KEY._col0:0._col0)"]
                 <-Map 10 [SIMPLE_EDGE]
                   SHUFFLE [RS_32]
-                    Group By Operator [GBY_31] (rows=431996724 width=88)
+                    Group By Operator [GBY_31] (rows=21333171 width=88)
                       Output:["_col0","_col1","_col2","_col3"],aggregations:["avg(ss_list_price)","count(ss_list_price)","count(DISTINCT ss_list_price)"],keys:ss_list_price
-                      Select Operator [SEL_30] (rows=431996724 width=88)
+                      Select Operator [SEL_30] (rows=21333171 width=88)
                         Output:["ss_list_price"]
-                        Filter Operator [FIL_56] (rows=431996724 width=88)
+                        Filter Operator [FIL_56] (rows=21333171 width=88)
                           predicate:(ss_quantity BETWEEN 11 AND 15 and (ss_list_price BETWEEN 66 AND 76 or ss_coupon_amt BETWEEN 920 AND 1920 or ss_wholesale_cost BETWEEN 4 AND 24))
                           TableScan [TS_28] (rows=575995635 width=88)
                             default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_wholesale_cost","ss_list_price","ss_coupon_amt"]
@@ -144,11 +144,11 @@ Stage-0
                   Output:["_col0","_col1","_col2"],aggregations:["avg(VALUE._col0)","count(VALUE._col1)","count(DISTINCT KEY._col0:0._col0)"]
                 <-Map 12 [SIMPLE_EDGE]
                   SHUFFLE [RS_39]
-                    Group By Operator [GBY_38] (rows=431996724 width=88)
+                    Group By Operator [GBY_38] (rows=21333171 width=88)
                       Output:["_col0","_col1","_col2","_col3"],aggregations:["avg(ss_list_price)","count(ss_list_price)","count(DISTINCT ss_list_price)"],keys:ss_list_price
-                      Select Operator [SEL_37] (rows=431996724 width=88)
+                      Select Operator [SEL_37] (rows=21333171 width=88)
                         Output:["ss_list_price"]
-                        Filter Operator [FIL_57] (rows=431996724 width=88)
+                        Filter Operator [FIL_57] (rows=21333171 width=88)
                           predicate:(ss_quantity BETWEEN 6 AND 10 and (ss_list_price BETWEEN 91 AND 101 or ss_coupon_amt BETWEEN 1430 AND 2430 or ss_wholesale_cost BETWEEN 32 AND 52))
                           TableScan [TS_35] (rows=575995635 width=88)
                             default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_wholesale_cost","ss_list_price","ss_coupon_amt"]
@@ -158,11 +158,11 @@ Stage-0
                   Output:["_col0","_col1","_col2"],aggregations:["avg(VALUE._col0)","count(VALUE._col1)","count(DISTINCT KEY._col0:0._col0)"]
                 <-Map 1 [SIMPLE_EDGE]
                   SHUFFLE [RS_4]
-                    Group By Operator [GBY_3] (rows=431996724 width=88)
+                    Group By Operator [GBY_3] (rows=21333171 width=88)
                       Output:["_col0","_col1","_col2","_col3"],aggregations:["avg(ss_list_price)","count(ss_list_price)","count(DISTINCT ss_list_price)"],keys:ss_list_price
-                      Select Operator [SEL_2] (rows=431996724 width=88)
+                      Select Operator [SEL_2] (rows=21333171 width=88)
                         Output:["ss_list_price"]
-                        Filter Operator [FIL_52] (rows=431996724 width=88)
+                        Filter Operator [FIL_52] (rows=21333171 width=88)
                           predicate:(ss_quantity BETWEEN 0 AND 5 and (ss_list_price BETWEEN 11 AND 21 or ss_coupon_amt BETWEEN 460 AND 1460 or ss_wholesale_cost BETWEEN 14 AND 34))
                           TableScan [TS_0] (rows=575995635 width=88)
                             default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_wholesale_cost","ss_list_price","ss_coupon_amt"]
@@ -172,11 +172,11 @@ Stage-0
                   Output:["_col0","_col1","_col2"],aggregations:["avg(VALUE._col0)","count(VALUE._col1)","count(DISTINCT KEY._col0:0._col0)"]
                 <-Map 4 [SIMPLE_EDGE]
                   SHUFFLE [RS_11]
-                    Group By Operator [GBY_10] (rows=431996724 width=88)
+                    Group By Operator [GBY_10] (rows=21333171 width=88)
                       Output:["_col0","_col1","_col2","_col3"],aggregations:["avg(ss_list_price)","count(ss_list_price)","count(DISTINCT ss_list_price)"],keys:ss_list_price
-                      Select Operator [SEL_9] (rows=431996724 width=88)
+                      Select Operator [SEL_9] (rows=21333171 width=88)
                         Output:["ss_list_price"]
-                        Filter Operator [FIL_53] (rows=431996724 width=88)
+                        Filter Operator [FIL_53] (rows=21333171 width=88)
                           predicate:(ss_quantity BETWEEN 26 AND 30 and (ss_list_price BETWEEN 28 AND 38 or ss_coupon_amt BETWEEN 2513 AND 3513 or ss_wholesale_cost BETWEEN 42 AND 62))
                           TableScan [TS_7] (rows=575995635 width=88)
                             default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_wholesale_cost","ss_list_price","ss_coupon_amt"]
@@ -186,11 +186,11 @@ Stage-0
                   Output:["_col0","_col1","_col2"],aggregations:["avg(VALUE._col0)","count(VALUE._col1)","count(DISTINCT KEY._col0:0._col0)"]
                 <-Map 6 [SIMPLE_EDGE]
                   SHUFFLE [RS_18]
-                    Group By Operator [GBY_17] (rows=431996724 width=88)
+                    Group By Operator [GBY_17] (rows=21333171 width=88)
                       Output:["_col0","_col1","_col2","_col3"],aggregations:["avg(ss_list_price)","count(ss_list_price)","count(DISTINCT ss_list_price)"],keys:ss_list_price
-                      Select Operator [SEL_16] (rows=431996724 width=88)
+                      Select Operator [SEL_16] (rows=21333171 width=88)
                         Output:["ss_list_price"]
-                        Filter Operator [FIL_54] (rows=431996724 width=88)
+                        Filter Operator [FIL_54] (rows=21333171 width=88)
                           predicate:(ss_quantity BETWEEN 21 AND 25 and (ss_list_price BETWEEN 135 AND 145 or ss_coupon_amt BETWEEN 14180 AND 15180 or ss_wholesale_cost BETWEEN 38 AND 58))
                           TableScan [TS_14] (rows=575995635 width=88)
                             default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_wholesale_cost","ss_list_price","ss_coupon_amt"]
@@ -200,11 +200,11 @@ Stage-0
                   Output:["_col0","_col1","_col2"],aggregations:["avg(VALUE._col0)","count(VALUE._col1)","count(DISTINCT KEY._col0:0._col0)"]
                 <-Map 8 [SIMPLE_EDGE]
                   SHUFFLE [RS_25]
-                    Group By Operator [GBY_24] (rows=431996724 width=88)
+                    Group By Operator [GBY_24] (rows=21333171 width=88)
                       Output:["_col0","_col1","_col2","_col3"],aggregations:["avg(ss_list_price)","count(ss_list_price)","count(DISTINCT ss_list_price)"],keys:ss_list_price
-                      Select Operator [SEL_23] (rows=431996724 width=88)
+                      Select Operator [SEL_23] (rows=21333171 width=88)
                         Output:["ss_list_price"]
-                        Filter Operator [FIL_55] (rows=431996724 width=88)
+                        Filter Operator [FIL_55] (rows=21333171 width=88)
                           predicate:(ss_quantity BETWEEN 16 AND 20 and (ss_list_price BETWEEN 142 AND 152 or ss_coupon_amt BETWEEN 3054 AND 4054 or ss_wholesale_cost BETWEEN 80 AND 100))
                           TableScan [TS_21] (rows=575995635 width=88)
                             default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_wholesale_cost","ss_list_price","ss_coupon_amt"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query29.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query29.q.out b/ql/src/test/results/clientpositive/perf/query29.q.out
index fc3ac72..587c027 100644
--- a/ql/src/test/results/clientpositive/perf/query29.q.out
+++ b/ql/src/test/results/clientpositive/perf/query29.q.out
@@ -76,9 +76,9 @@ Stage-0
                                     <-Map 15 [SIMPLE_EDGE]
                                       SHUFFLE [RS_28]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_17] (rows=18262 width=1119)
+                                        Select Operator [SEL_17] (rows=4058 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_91] (rows=18262 width=1119)
+                                          Filter Operator [FIL_91] (rows=4058 width=1119)
                                             predicate:(d_moy BETWEEN 2 AND 5 and (d_year = 2000) and d_date_sk is not null)
                                             TableScan [TS_15] (rows=73049 width=1119)
                                               default@date_dim,d2,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query32.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query32.q.out b/ql/src/test/results/clientpositive/perf/query32.q.out
index b66002b..c80a4cd 100644
--- a/ql/src/test/results/clientpositive/perf/query32.q.out
+++ b/ql/src/test/results/clientpositive/perf/query32.q.out
@@ -100,9 +100,9 @@ Stage-0
                                 <-Map 6 [SIMPLE_EDGE]
                                   SHUFFLE [RS_7]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_5] (rows=36524 width=1119)
+                                    Select Operator [SEL_5] (rows=8116 width=1119)
                                       Output:["_col0"]
-                                      Filter Operator [FIL_54] (rows=36524 width=1119)
+                                      Filter Operator [FIL_54] (rows=8116 width=1119)
                                         predicate:(d_date BETWEEN '2000-01-27' AND '2000-04-27' and d_date_sk is not null)
                                         TableScan [TS_3] (rows=73049 width=1119)
                                           default@date_dim,d,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
@@ -116,9 +116,9 @@ Stage-0
                           <-Map 10 [SIMPLE_EDGE]
                             SHUFFLE [RS_24]
                               PartitionCols:_col0
-                              Select Operator [SEL_22] (rows=36524 width=1119)
+                              Select Operator [SEL_22] (rows=8116 width=1119)
                                 Output:["_col0"]
-                                Filter Operator [FIL_57] (rows=36524 width=1119)
+                                Filter Operator [FIL_57] (rows=8116 width=1119)
                                   predicate:(d_date BETWEEN '2000-01-27' AND '2000-04-27' and d_date_sk is not null)
                                   TableScan [TS_20] (rows=73049 width=1119)
                                     default@date_dim,d,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query34.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query34.q.out b/ql/src/test/results/clientpositive/perf/query34.q.out
index 3c48058..51710bd 100644
--- a/ql/src/test/results/clientpositive/perf/query34.q.out
+++ b/ql/src/test/results/clientpositive/perf/query34.q.out
@@ -18,13 +18,13 @@ Stage-0
     Stage-1
       Reducer 3
       File Output Operator [FS_37]
-        Select Operator [SEL_36] (rows=210828819 width=88)
+        Select Operator [SEL_36] (rows=88000001 width=860)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
         <-Reducer 2 [SIMPLE_EDGE]
           SHUFFLE [RS_35]
-            Select Operator [SEL_34] (rows=210828819 width=88)
+            Select Operator [SEL_34] (rows=88000001 width=860)
               Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-              Merge Join Operator [MERGEJOIN_60] (rows=210828819 width=88)
+              Merge Join Operator [MERGEJOIN_60] (rows=88000001 width=860)
                 Conds:RS_31._col0=RS_32._col1(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"]
               <-Map 1 [SIMPLE_EDGE]
                 SHUFFLE [RS_31]
@@ -38,7 +38,7 @@ Stage-0
               <-Reducer 8 [SIMPLE_EDGE]
                 SHUFFLE [RS_32]
                   PartitionCols:_col1
-                  Filter Operator [FIL_29] (rows=191662559 width=88)
+                  Filter Operator [FIL_29] (rows=42591679 width=88)
                     predicate:_col2 BETWEEN 15 AND 20
                     Select Operator [SEL_28] (rows=383325119 width=88)
                       Output:["_col0","_col1","_col2"]
@@ -91,9 +91,9 @@ Stage-0
                                     <-Map 9 [SIMPLE_EDGE]
                                       SHUFFLE [RS_16]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_8] (rows=36524 width=1119)
+                                        Select Operator [SEL_8] (rows=8116 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_54] (rows=36524 width=1119)
+                                          Filter Operator [FIL_54] (rows=8116 width=1119)
                                             predicate:((d_year) IN (1998, 1999, 2000) and (d_dom BETWEEN 1 AND 3 or d_dom BETWEEN 25 AND 28) and d_date_sk is not null)
                                             TableScan [TS_6] (rows=73049 width=1119)
                                               default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_dom"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query40.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query40.q.out b/ql/src/test/results/clientpositive/perf/query40.q.out
index eff6134..a98831d 100644
--- a/ql/src/test/results/clientpositive/perf/query40.q.out
+++ b/ql/src/test/results/clientpositive/perf/query40.q.out
@@ -52,9 +52,9 @@ Stage-0
                           <-Map 10 [SIMPLE_EDGE]
                             SHUFFLE [RS_22]
                               PartitionCols:_col0
-                              Select Operator [SEL_11] (rows=231000 width=1436)
+                              Select Operator [SEL_11] (rows=51333 width=1436)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_53] (rows=231000 width=1436)
+                                Filter Operator [FIL_53] (rows=51333 width=1436)
                                   predicate:(i_current_price BETWEEN 0.99 AND 1.49 and i_item_sk is not null)
                                   TableScan [TS_9] (rows=462000 width=1436)
                                     default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_current_price"]
@@ -66,9 +66,9 @@ Stage-0
                               <-Map 9 [SIMPLE_EDGE]
                                 SHUFFLE [RS_19]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_8] (rows=36524 width=1119)
+                                  Select Operator [SEL_8] (rows=8116 width=1119)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_52] (rows=36524 width=1119)
+                                    Filter Operator [FIL_52] (rows=8116 width=1119)
                                       predicate:(d_date BETWEEN '1998-03-09' AND '1998-05-08' and d_date_sk is not null)
                                       TableScan [TS_6] (rows=73049 width=1119)
                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query48.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query48.q.out b/ql/src/test/results/clientpositive/perf/query48.q.out
index 56bbe65..879cb92 100644
--- a/ql/src/test/results/clientpositive/perf/query48.q.out
+++ b/ql/src/test/results/clientpositive/perf/query48.q.out
@@ -23,7 +23,7 @@ Stage-0
           SHUFFLE [RS_32]
             Group By Operator [GBY_31] (rows=1 width=8)
               Output:["_col0"],aggregations:["sum(_col6)"]
-              Merge Join Operator [MERGEJOIN_58] (rows=632486461 width=88)
+              Merge Join Operator [MERGEJOIN_58] (rows=15616946 width=88)
                 Conds:RS_27._col0=RS_28._col0(Inner),Output:["_col6"]
               <-Map 1 [SIMPLE_EDGE]
                 SHUFFLE [RS_27]
@@ -37,13 +37,13 @@ Stage-0
               <-Reducer 7 [SIMPLE_EDGE]
                 SHUFFLE [RS_28]
                   PartitionCols:_col0
-                  Select Operator [SEL_26] (rows=574987680 width=88)
+                  Select Operator [SEL_26] (rows=14197224 width=88)
                     Output:["_col0","_col4"]
-                    Filter Operator [FIL_25] (rows=574987680 width=88)
+                    Filter Operator [FIL_25] (rows=14197224 width=88)
                       predicate:(((_col12) IN ('KY', 'GA', 'NM') and _col6 BETWEEN 0 AND 2000) or ((_col12) IN ('MT', 'OR', 'IN') and _col6 BETWEEN 150 AND 3000) or ((_col12) IN ('WI', 'MO', 'WV') and _col6 BETWEEN 50 AND 25000))
-                      Select Operator [SEL_24] (rows=766650239 width=88)
+                      Select Operator [SEL_24] (rows=85183356 width=88)
                         Output:["_col0","_col4","_col6","_col12"]
-                        Merge Join Operator [MERGEJOIN_57] (rows=766650239 width=88)
+                        Merge Join Operator [MERGEJOIN_57] (rows=85183356 width=88)
                           Conds:RS_21._col2=RS_22._col0(Inner),Output:["_col1","_col5","_col7","_col9"]
                         <-Map 10 [SIMPLE_EDGE]
                           SHUFFLE [RS_22]
@@ -57,7 +57,7 @@ Stage-0
                         <-Reducer 6 [SIMPLE_EDGE]
                           SHUFFLE [RS_21]
                             PartitionCols:_col2
-                            Merge Join Operator [MERGEJOIN_56] (rows=696954748 width=88)
+                            Merge Join Operator [MERGEJOIN_56] (rows=77439413 width=88)
                               Conds:RS_18._col3=RS_19._col0(Inner),Output:["_col1","_col2","_col5","_col7","_col9"]
                             <-Map 9 [SIMPLE_EDGE]
                               SHUFFLE [RS_19]
@@ -71,7 +71,7 @@ Stage-0
                             <-Reducer 5 [SIMPLE_EDGE]
                               SHUFFLE [RS_18]
                                 PartitionCols:_col3
-                                Merge Join Operator [MERGEJOIN_55] (rows=633595212 width=88)
+                                Merge Join Operator [MERGEJOIN_55] (rows=70399465 width=88)
                                   Conds:RS_15._col0=RS_16._col3(Inner),Output:["_col1","_col2","_col3","_col5","_col7"]
                                 <-Map 4 [SIMPLE_EDGE]
                                   SHUFFLE [RS_15]
@@ -85,9 +85,9 @@ Stage-0
                                 <-Map 8 [SIMPLE_EDGE]
                                   SHUFFLE [RS_16]
                                     PartitionCols:_col3
-                                    Select Operator [SEL_8] (rows=575995635 width=88)
+                                    Select Operator [SEL_8] (rows=63999513 width=88)
                                       Output:["_col0","_col1","_col2","_col3","_col4","_col6"]
-                                      Filter Operator [FIL_52] (rows=575995635 width=88)
+                                      Filter Operator [FIL_52] (rows=63999513 width=88)
                                         predicate:((ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and (ss_net_profit BETWEEN 0 AND 2000 or ss_net_profit BETWEEN 150 AND 3000 or ss_net_profit BETWEEN 50 AND 25000) and ss_store_sk is not null and ss_cdemo_sk is not null and ss_addr_sk is not null and ss_sold_date_sk is not null)
                                         TableScan [TS_6] (rows=575995635 width=88)
                                           default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_cdemo_sk","ss_addr_sk","ss_store_sk","ss_quantity","ss_sales_price","ss_net_profit"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query51.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query51.q.out b/ql/src/test/results/clientpositive/perf/query51.q.out
index 6d40b04..55e08d9 100644
--- a/ql/src/test/results/clientpositive/perf/query51.q.out
+++ b/ql/src/test/results/clientpositive/perf/query51.q.out
@@ -141,9 +141,9 @@ Stage-0
                                         <-Map 11 [SIMPLE_EDGE]
                                           SHUFFLE [RS_27]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_25] (rows=36524 width=1119)
+                                            Select Operator [SEL_25] (rows=8116 width=1119)
                                               Output:["_col0","_col1"]
-                                              Filter Operator [FIL_62] (rows=36524 width=1119)
+                                              Filter Operator [FIL_62] (rows=8116 width=1119)
                                                 predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
                                                 TableScan [TS_23] (rows=73049 width=1119)
                                                   default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]
@@ -186,9 +186,9 @@ Stage-0
                                         <-Map 7 [SIMPLE_EDGE]
                                           SHUFFLE [RS_7]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_5] (rows=36524 width=1119)
+                                            Select Operator [SEL_5] (rows=8116 width=1119)
                                               Output:["_col0","_col1"]
-                                              Filter Operator [FIL_60] (rows=36524 width=1119)
+                                              Filter Operator [FIL_60] (rows=8116 width=1119)
                                                 predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
                                                 TableScan [TS_3] (rows=73049 width=1119)
                                                   default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query54.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query54.q.out b/ql/src/test/results/clientpositive/perf/query54.q.out
index 55c2f9d..0b59b1b 100644
--- a/ql/src/test/results/clientpositive/perf/query54.q.out
+++ b/ql/src/test/results/clientpositive/perf/query54.q.out
@@ -170,9 +170,9 @@ Stage-0
                                     <-Map 7 [SIMPLE_EDGE]
                                       SHUFFLE [RS_51]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_5] (rows=36524 width=1119)
+                                        Select Operator [SEL_5] (rows=8116 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_103] (rows=36524 width=1119)
+                                          Filter Operator [FIL_103] (rows=8116 width=1119)
                                             predicate:(d_month_seq BETWEEN 1203 AND 1205 and d_date_sk is not null)
                                             TableScan [TS_3] (rows=73049 width=1119)
                                               default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e2653db3/ql/src/test/results/clientpositive/perf/query58.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query58.q.out b/ql/src/test/results/clientpositive/perf/query58.q.out
index 15c7c0c..f7e6a08 100644
--- a/ql/src/test/results/clientpositive/perf/query58.q.out
+++ b/ql/src/test/results/clientpositive/perf/query58.q.out
@@ -120,17 +120,17 @@ Stage-0
     Stage-1
       Reducer 8
       File Output Operator [FS_113]
-        Limit [LIM_112] (rows=100 width=88)
+        Limit [LIM_112] (rows=100 width=135)
           Number of rows:100
-          Select Operator [SEL_111] (rows=6588400 width=88)
+          Select Operator [SEL_111] (rows=14606 width=135)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
           <-Reducer 7 [SIMPLE_EDGE]
             SHUFFLE [RS_110]
-              Select Operator [SEL_109] (rows=6588400 width=88)
+              Select Operator [SEL_109] (rows=14606 width=135)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                Filter Operator [FIL_108] (rows=6588400 width=88)
+                Filter Operator [FIL_108] (rows=14606 width=135)
                   predicate:(_col1 BETWEEN (0.9 * _col5) AND (1.1 * _col5) and _col3 BETWEEN (0.9 * _col5) AND (1.1 * _col5) and _col5 BETWEEN (0.9 * _col1) AND (1.1 * _col1) and _col5 BETWEEN (0.9 * _col3) AND (1.1 * _col3))
-                  Merge Join Operator [MERGEJOIN_209] (rows=105414409 width=88)
+                  Merge Join Operator [MERGEJOIN_209] (rows=95833780 width=135)
                     Conds:RS_104._col0=RS_105._col0(Inner),Output:["_col0","_col1","_col3","_col5"]
                   <-Reducer 28 [SIMPLE_EDGE]
                     SHUFFLE [RS_105]
@@ -209,7 +209,7 @@ Stage-0
                   <-Reducer 6 [SIMPLE_EDGE]
                     SHUFFLE [RS_104]
                       PartitionCols:_col0
-                      Filter Operator [FIL_69] (rows=95831279 width=88)
+                      Filter Operator [FIL_69] (rows=4732408 width=88)
                         predicate:(_col1 BETWEEN (0.9 * _col3) AND (1.1 * _col3) and _col3 BETWEEN (0.9 * _col1) AND (1.1 * _col1))
                         Merge Join Operator [MERGEJOIN_208] (rows=383325119 width=88)
                           Conds:RS_66._col0=RS_67._col0(Inner),Output:["_col0","_col1","_col3"]