diff --git common/src/java/org/apache/hadoop/hive/conf/HiveConf.java common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index dcfe29a..8ad49f2 100644 --- common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -981,7 +981,7 @@ HIVE_USER_INSTALL_DIR("hive.user.install.directory", "hdfs:///user/"), // Vectorization enabled - HIVE_VECTORIZATION_ENABLED("hive.vectorized.execution.enabled", false), + HIVE_VECTORIZATION_ENABLED("hive.vectorized.execution.enabled", true), HIVE_VECTORIZATION_GROUPBY_CHECKINTERVAL("hive.vectorized.groupby.checkinterval", 100000), HIVE_VECTORIZATION_GROUPBY_MAXENTRIES("hive.vectorized.groupby.maxentries", 1000000), HIVE_VECTORIZATION_GROUPBY_FLUSH_PERCENT("hive.vectorized.groupby.flush.percent", (float) 0.1), diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java index 1dde78e..d4e61d8 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java @@ -92,8 +92,8 @@ protected transient ListBucketingCtx lbCtx; protected transient boolean isSkewedStoredAsSubDirectories; protected transient boolean statsCollectRawDataSize; - private transient boolean[] statsFromRecordWriter; - private transient boolean isCollectRWStats; + protected transient boolean[] statsFromRecordWriter; + protected transient boolean isCollectRWStats; private transient FSPaths prevFsp; private transient FSPaths fpaths; private transient ObjectInspector keyOI; @@ -626,7 +626,7 @@ public void processOp(Object row, int tag) throws HiveException { } } - private boolean areAllTrue(boolean[] statsFromRW) { + protected boolean areAllTrue(boolean[] statsFromRW) { for(boolean b : statsFromRW) { if (!b) { return false; diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorFileSinkOperator.java ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorFileSinkOperator.java index c6a7c00..f3e0bc6 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorFileSinkOperator.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorFileSinkOperator.java @@ -145,7 +145,12 @@ public void processOp(Object data, int tag) throws HiveException { } rowOutWriters = fpaths.getOutWriters(); - if (conf.isGatherStats()) { + + // check if all record writers implement statistics. if atleast one RW + // doesn't implement stats interface we will fallback to conventional way + // of gathering stats + isCollectRWStats = areAllTrue(statsFromRecordWriter); + if (conf.isGatherStats() && !isCollectRWStats) { if (statsCollectRawDataSize) { SerDeStats stats = serializer.getSerDeStats(); if (stats != null) { diff --git ql/src/test/results/clientpositive/annotate_stats_filter.q.out ql/src/test/results/clientpositive/annotate_stats_filter.q.out index 50335ec..bdc1fc9 100644 --- ql/src/test/results/clientpositive/annotate_stats_filter.q.out +++ ql/src/test/results/clientpositive/annotate_stats_filter.q.out @@ -219,6 +219,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -363,6 +364,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -495,6 +497,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -623,6 +626,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -755,6 +759,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -886,6 +891,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1018,6 +1024,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1149,6 +1156,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1544,6 +1552,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1681,6 +1690,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1821,6 +1831,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1963,6 +1974,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -2105,6 +2117,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -2237,6 +2250,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -2365,6 +2379,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -2493,6 +2508,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -2621,6 +2637,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator diff --git ql/src/test/results/clientpositive/annotate_stats_groupby.q.out ql/src/test/results/clientpositive/annotate_stats_groupby.q.out index 26cf65b..ad844bd 100644 --- ql/src/test/results/clientpositive/annotate_stats_groupby.q.out +++ ql/src/test/results/clientpositive/annotate_stats_groupby.q.out @@ -267,6 +267,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [sq1:loc_orc] + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Group By Operator @@ -504,6 +505,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Group By Operator @@ -658,6 +660,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Group By Operator @@ -1747,6 +1750,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Group By Operator diff --git ql/src/test/results/clientpositive/annotate_stats_join.q.out ql/src/test/results/clientpositive/annotate_stats_join.q.out index b36e3b7..7c1723b 100644 --- ql/src/test/results/clientpositive/annotate_stats_join.q.out +++ ql/src/test/results/clientpositive/annotate_stats_join.q.out @@ -397,6 +397,7 @@ STAGE PLANS: Truncated Path -> Alias: /dept_orc [d] /emp_orc [e] + Execution mode: vectorized Needs Tagging: true Reduce Operator Tree: Join Operator @@ -641,6 +642,7 @@ STAGE PLANS: Truncated Path -> Alias: /dept_orc [d] /emp_orc [e1, e] + Execution mode: vectorized Needs Tagging: true Reduce Operator Tree: Join Operator @@ -932,6 +934,7 @@ STAGE PLANS: /dept_orc [d] /emp_orc [e] /loc_orc [l] + Execution mode: vectorized Needs Tagging: true Reduce Operator Tree: Join Operator @@ -1225,6 +1228,7 @@ STAGE PLANS: /dept_orc [d] /emp_orc [e] /loc_orc [l] + Execution mode: vectorized Needs Tagging: true Reduce Operator Tree: Join Operator @@ -1456,6 +1460,7 @@ STAGE PLANS: Truncated Path -> Alias: /dept_orc [d] /emp_orc [e] + Execution mode: vectorized Needs Tagging: true Reduce Operator Tree: Join Operator @@ -1767,6 +1772,7 @@ STAGE PLANS: /dept_orc [d] /emp_orc [e] /loc_orc [l] + Execution mode: vectorized Needs Tagging: true Reduce Operator Tree: Join Operator diff --git ql/src/test/results/clientpositive/annotate_stats_part.q.out ql/src/test/results/clientpositive/annotate_stats_part.q.out index eee003b..a67ec56 100644 --- ql/src/test/results/clientpositive/annotate_stats_part.q.out +++ ql/src/test/results/clientpositive/annotate_stats_part.q.out @@ -1210,6 +1210,7 @@ STAGE PLANS: Truncated Path -> Alias: /loc_orc/year=2001 [loc_orc] /loc_orc/year=__HIVE_DEFAULT_PARTITION__ [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1379,6 +1380,7 @@ STAGE PLANS: Truncated Path -> Alias: /loc_orc/year=2001 [loc_orc] /loc_orc/year=__HIVE_DEFAULT_PARTITION__ [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1553,6 +1555,7 @@ STAGE PLANS: Truncated Path -> Alias: /loc_orc/year=2001 [loc_orc] /loc_orc/year=__HIVE_DEFAULT_PARTITION__ [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1684,6 +1687,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc/year=2001 [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1815,6 +1819,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc/year=__HIVE_DEFAULT_PARTITION__ [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -2087,6 +2092,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc/year=2001 [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -2225,6 +2231,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc/year=2001 [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -2374,6 +2381,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc/year=2001 [test:loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator diff --git ql/src/test/results/clientpositive/annotate_stats_select.q.out ql/src/test/results/clientpositive/annotate_stats_select.q.out index d1c5be6..e6c156b 100644 --- ql/src/test/results/clientpositive/annotate_stats_select.q.out +++ ql/src/test/results/clientpositive/annotate_stats_select.q.out @@ -352,6 +352,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -492,6 +493,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -629,6 +631,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -926,6 +929,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1198,6 +1202,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1470,6 +1475,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -1606,6 +1612,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -2160,6 +2167,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -2298,6 +2306,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -3260,6 +3269,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Group By Operator @@ -3419,6 +3429,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Group By Operator @@ -3733,6 +3744,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [temp:alltypes_orc] + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Extract @@ -3907,6 +3919,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [temp:alltypes_orc] + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Extract @@ -4083,6 +4096,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [temp:alltypes_orc] + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Extract @@ -4258,6 +4272,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [temp:alltypes_orc] + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Extract @@ -4438,6 +4453,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [temp:alltypes_orc] + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Extract @@ -4633,6 +4649,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [in2:in1:alltypes_orc] + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Extract @@ -4878,6 +4895,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -5023,6 +5041,7 @@ STAGE PLANS: name: default.alltypes_orc Truncated Path -> Alias: /alltypes_orc [alltypes_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator diff --git ql/src/test/results/clientpositive/annotate_stats_table.q.out ql/src/test/results/clientpositive/annotate_stats_table.q.out index 8de1e9d..85eb601 100644 --- ql/src/test/results/clientpositive/annotate_stats_table.q.out +++ ql/src/test/results/clientpositive/annotate_stats_table.q.out @@ -353,6 +353,7 @@ STAGE PLANS: name: default.emp_orc Truncated Path -> Alias: /emp_orc [emp_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -527,6 +528,7 @@ STAGE PLANS: name: default.emp_orc Truncated Path -> Alias: /emp_orc [emp_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -647,6 +649,7 @@ STAGE PLANS: name: default.emp_orc Truncated Path -> Alias: /emp_orc [emp_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -770,6 +773,7 @@ STAGE PLANS: name: default.emp_orc Truncated Path -> Alias: /emp_orc [emp_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator diff --git ql/src/test/results/clientpositive/annotate_stats_union.q.out ql/src/test/results/clientpositive/annotate_stats_union.q.out index 75ff252..6300740 100644 --- ql/src/test/results/clientpositive/annotate_stats_union.q.out +++ ql/src/test/results/clientpositive/annotate_stats_union.q.out @@ -177,6 +177,7 @@ STAGE PLANS: name: default.loc_orc Truncated Path -> Alias: /loc_orc [loc_orc] + Execution mode: vectorized Stage: Stage-0 Fetch Operator diff --git ql/src/test/results/clientpositive/auto_join32.q.out ql/src/test/results/clientpositive/auto_join32.q.out index 75b6ebb..2db2b1b 100644 --- ql/src/test/results/clientpositive/auto_join32.q.out +++ ql/src/test/results/clientpositive/auto_join32.q.out @@ -405,6 +405,7 @@ STAGE DEPENDENCIES: STAGE PLANS: Stage: Stage-1 Map Reduce + Execution mode: vectorized Reduce Operator Tree: Group By Operator aggregations: count(DISTINCT KEY._col1:0._col0) diff --git ql/src/test/results/clientpositive/bucketmapjoin1.q.out ql/src/test/results/clientpositive/bucketmapjoin1.q.out index 60d0fb9..484c716 100644 --- ql/src/test/results/clientpositive/bucketmapjoin1.q.out +++ ql/src/test/results/clientpositive/bucketmapjoin1.q.out @@ -127,6 +127,7 @@ STAGE PLANS: Map Reduce Local Work: Map Reduce Local Work + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -250,6 +251,7 @@ STAGE PLANS: Map Reduce Local Work: Map Reduce Local Work + Execution mode: vectorized Stage: Stage-0 Fetch Operator diff --git ql/src/test/results/clientpositive/filter_numeric.q.out ql/src/test/results/clientpositive/filter_numeric.q.out index 840d6cb..b93efce 100644 --- ql/src/test/results/clientpositive/filter_numeric.q.out +++ ql/src/test/results/clientpositive/filter_numeric.q.out @@ -37,6 +37,7 @@ STAGE DEPENDENCIES: STAGE PLANS: Stage: Stage-1 Map Reduce + Execution mode: vectorized Stage: Stage-0 Fetch Operator diff --git ql/src/test/results/clientpositive/groupby_sort_6.q.out ql/src/test/results/clientpositive/groupby_sort_6.q.out index 32b76a8..3c38028 100644 --- ql/src/test/results/clientpositive/groupby_sort_6.q.out +++ ql/src/test/results/clientpositive/groupby_sort_6.q.out @@ -60,6 +60,7 @@ STAGE DEPENDENCIES: STAGE PLANS: Stage: Stage-1 Map Reduce + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Group By Operator @@ -208,6 +209,7 @@ STAGE DEPENDENCIES: STAGE PLANS: Stage: Stage-1 Map Reduce + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Group By Operator diff --git ql/src/test/results/clientpositive/input26.q.out ql/src/test/results/clientpositive/input26.q.out index f15bc8a..45f819b 100644 --- ql/src/test/results/clientpositive/input26.q.out +++ ql/src/test/results/clientpositive/input26.q.out @@ -81,6 +81,7 @@ STAGE PLANS: Stage: Stage-3 Map Reduce + Execution mode: vectorized Reduce Operator Tree: Extract Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE diff --git ql/src/test/results/clientpositive/join_view.q.out ql/src/test/results/clientpositive/join_view.q.out index 17890b9..114cbc7 100644 --- ql/src/test/results/clientpositive/join_view.q.out +++ ql/src/test/results/clientpositive/join_view.q.out @@ -44,6 +44,7 @@ STAGE DEPENDENCIES: STAGE PLANS: Stage: Stage-1 Map Reduce + Execution mode: vectorized Reduce Operator Tree: Join Operator condition map: diff --git ql/src/test/results/clientpositive/limit_pushdown.q.out ql/src/test/results/clientpositive/limit_pushdown.q.out index 5678d53..8c01088 100644 --- ql/src/test/results/clientpositive/limit_pushdown.q.out +++ ql/src/test/results/clientpositive/limit_pushdown.q.out @@ -368,6 +368,7 @@ STAGE PLANS: Map-reduce partition columns: _col0 (type: double) Statistics: Num rows: 47154 Data size: 377237 Basic stats: COMPLETE Column stats: NONE TopN Hash Memory Usage: 0.3 + Execution mode: vectorized Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: double) @@ -456,6 +457,7 @@ STAGE PLANS: Map-reduce partition columns: _col0 (type: tinyint) Statistics: Num rows: 31436 Data size: 377237 Basic stats: COMPLETE Column stats: NONE TopN Hash Memory Usage: 0.3 + Execution mode: vectorized Reduce Operator Tree: Group By Operator aggregations: count(DISTINCT KEY._col1:0._col0) @@ -547,6 +549,7 @@ STAGE PLANS: Map-reduce partition columns: _col0 (type: tinyint) Statistics: Num rows: 1849 Data size: 377237 Basic stats: COMPLETE Column stats: NONE TopN Hash Memory Usage: 0.3 + Execution mode: vectorized Reduce Operator Tree: Group By Operator aggregations: count(DISTINCT KEY._col1:0._col0), count(DISTINCT KEY._col1:1._col0) diff --git ql/src/test/results/clientpositive/metadataonly1.q.out ql/src/test/results/clientpositive/metadataonly1.q.out index 44a29a8..eed2980 100644 --- ql/src/test/results/clientpositive/metadataonly1.q.out +++ ql/src/test/results/clientpositive/metadataonly1.q.out @@ -35,6 +35,7 @@ STAGE DEPENDENCIES: STAGE PLANS: Stage: Stage-1 Map Reduce + Execution mode: vectorized Needs Tagging: false Reduce Operator Tree: Group By Operator diff --git ql/src/test/results/clientpositive/orc_createas1.q.out ql/src/test/results/clientpositive/orc_createas1.q.out index 8016a53..afec803 100644 --- ql/src/test/results/clientpositive/orc_createas1.q.out +++ ql/src/test/results/clientpositive/orc_createas1.q.out @@ -188,6 +188,7 @@ STAGE PLANS: sort order: + Statistics: Num rows: 500 Data size: 88000 Basic stats: COMPLETE Column stats: NONE value expressions: _col0 (type: string), _col1 (type: string) + Execution mode: vectorized Reduce Operator Tree: Extract Statistics: Num rows: 500 Data size: 88000 Basic stats: COMPLETE Column stats: NONE diff --git ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out index 5ee5905..f6d4a18 100644 --- ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out +++ ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out @@ -845,6 +845,7 @@ STAGE PLANS: sort order: ++ Statistics: Num rows: 65 Data size: 19281 Basic stats: COMPLETE Column stats: NONE value expressions: _col0 (type: tinyint), _col1 (type: string) + Execution mode: vectorized Reduce Operator Tree: Extract Statistics: Num rows: 65 Data size: 19281 Basic stats: COMPLETE Column stats: NONE @@ -911,6 +912,7 @@ STAGE PLANS: sort order: ++ Statistics: Num rows: 65 Data size: 19281 Basic stats: COMPLETE Column stats: NONE value expressions: _col0 (type: tinyint), _col1 (type: string) + Execution mode: vectorized Reduce Operator Tree: Extract Statistics: Num rows: 65 Data size: 19281 Basic stats: COMPLETE Column stats: NONE diff --git ql/src/test/results/clientpositive/ppd_union_view.q.out ql/src/test/results/clientpositive/ppd_union_view.q.out index afb50c1..95445c1 100644 --- ql/src/test/results/clientpositive/ppd_union_view.q.out +++ ql/src/test/results/clientpositive/ppd_union_view.q.out @@ -551,6 +551,7 @@ STAGE DEPENDENCIES: STAGE PLANS: Stage: Stage-1 Map Reduce + Execution mode: vectorized Needs Tagging: true Reduce Operator Tree: Join Operator diff --git ql/src/test/results/clientpositive/quote1.q.out ql/src/test/results/clientpositive/quote1.q.out index c3b1433..1b7558c 100644 --- ql/src/test/results/clientpositive/quote1.q.out +++ ql/src/test/results/clientpositive/quote1.q.out @@ -113,6 +113,7 @@ STAGE DEPENDENCIES: STAGE PLANS: Stage: Stage-1 Map Reduce + Execution mode: vectorized Stage: Stage-0 Fetch Operator diff --git ql/src/test/results/clientpositive/smb_mapjoin9.q.out ql/src/test/results/clientpositive/smb_mapjoin9.q.out index 3cb484b..54ed939 100644 --- ql/src/test/results/clientpositive/smb_mapjoin9.q.out +++ ql/src/test/results/clientpositive/smb_mapjoin9.q.out @@ -110,6 +110,7 @@ STAGE DEPENDENCIES: STAGE PLANS: Stage: Stage-1 Map Reduce + Execution mode: vectorized Stage: Stage-0 Fetch Operator @@ -229,6 +230,7 @@ STAGE DEPENDENCIES: STAGE PLANS: Stage: Stage-1 Map Reduce + Execution mode: vectorized Stage: Stage-0 Fetch Operator diff --git ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out index 47584f9..0184b3c 100644 --- ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out +++ ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out @@ -101,11 +101,11 @@ POSTHOOK: query: SELECT cint, POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_vgby #### A masked pattern was here #### -NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.60810810806667 5695.483082135364 5696.4103077145055 3072 11160.715384615385 -5147.907692307693 6010604.3076923073536 1956.576923076922966667 6821.495748565159 6822.606289190924 --3728 6 5831542.269248378 -3367.6517567568 5817556.0411483778 969592.67352472963333 2174330.2092403853 2381859.406131774 6 6984454.211097692 -4033.445769230769 6967702.8672438458471 1161283.811207307641183333 2604201.2704476737 2852759.5602156054 --563 2 -515.621072973 -3367.6517567568 -3883.2728297298 -1941.6364148649 1426.0153418918999 2016.6902366556308 2 -617.5607769230769 -4033.445769230769 -4651.0065461538459 -2325.50327307692295 1707.9424961538462 2415.395441814127 -762 2 5831542.269248378 1531.2194054054 5833073.4886537834 2916536.7443268917 2915005.5249214866 4122440.3477364695 2 6984454.211097692 1833.9456923076925 6986288.1567899996925 3493144.07839499984625 3491310.1327026924 4937458.140118758 -6981 3 5831542.269248378 -515.621072973 5830511.027102432 1943503.67570081066667 2749258.455012492 3367140.1929065133 3 6984454.211097692 -617.5607769230769 6983219.0895438458462 2327739.696514615282066667 3292794.4113115156 4032833.0678006653 -253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.33992366976309 5708.9563478862 5711.745967572779 1024 11697.969230769231 -11712.99230769231 -416182.64030769233089 -406.428359675480791885 6837.632716002934 6840.973851172274 -528534767 1024 5831542.269248378 -9777.1594594595 11646372.8607481068 11373.41099682432305 257528.92988206653 257654.7686043977 1024 6984454.211097692 -11710.130769230771 13948892.79980307629003 13621.965624807691689482 308443.1074570801 308593.82484083984 -626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.29399661106318 5742.09145323734 5744.897264034267 1024 11645.746153846154 -11712.276923076923 12625.04759999997746 12.329148046874977988 6877.318722794877 6880.679250101603 +NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.60810810806667 5695.483082135364 5696.4103077145055 3072 11160.71538461538512 -5147.90769230769274 6010604.30769230775296 1956.576923076923096667 6821.495748565159 6822.606289190924 +-3728 6 5831542.2692483785 -3367.6517567568 5817556.0411483783 969592.67352472971667 2174330.2092403853 2381859.406131774 6 6984454.21109769213945 -4033.4457692307692 6967702.86724384598575 1161283.811207307664291667 2604201.2704476737 2852759.5602156054 +-563 2 -515.621072973 -3367.6517567568 -3883.2728297298 -1941.6364148649 1426.0153418918999 2016.6902366556308 2 -617.5607769230769 -4033.4457692307692 -4651.0065461538461 -2325.50327307692305 1707.9424961538462 2415.395441814127 +762 2 5831542.2692483785 1531.2194054054 5833073.4886537839 2916536.74432689195 2915005.5249214866 4122440.3477364695 2 6984454.21109769213945 1833.94569230769252 6986288.15678999983197 3493144.078394999915985 3491310.1327026924 4937458.140118758 +6981 3 5831542.2692483785 -515.621072973 5830511.0271024325 1943503.67570081083333 2749258.455012492 3367140.1929065133 3 6984454.21109769213945 -617.5607769230769 6983219.08954384598565 2327739.69651461532855 3292794.4113115156 4032833.0678006653 +253665376 1024 9767.0054054054 -9779.5486486486 -347484.081837837 -339.3399236697627 5708.9563478862 5711.745967572778 1024 11697.96923076923122 -11712.99230769230962 -416182.64030769233187 -406.428359675480792842 6837.632716002934 6840.973851172274 +528534767 1024 5831542.2692483785 -9777.1594594595 11646372.8607481077 11373.41099682432393 257528.92988206653 257654.7686043977 1024 6984454.21109769213945 -11710.13076923077097 13948892.79980307657065 13621.965624807691963525 308443.1074570801 308593.82484083984 +626923679 1024 9723.4027027027 -9778.9513513514 10541.052529729 10.29399661106348 5742.091453237339 5744.897264034266 1024 11645.7461538461539 -11712.27692307692269 12625.0475999999808 12.32914804687498125 6877.318722794877 6880.679250101603 diff --git ql/src/test/results/clientpositive/vector_decimal_expressions.q.out ql/src/test/results/clientpositive/vector_decimal_expressions.q.out index 605c3f4..554337e 100644 --- ql/src/test/results/clientpositive/vector_decimal_expressions.q.out +++ ql/src/test/results/clientpositive/vector_decimal_expressions.q.out @@ -53,13 +53,13 @@ POSTHOOK: query: SELECT cdecimal1 + cdecimal2, cdecimal1 - (2*cdecimal2), ((cdec POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_test #### A masked pattern was here #### -19699.417463617423 -12507.913305613346 0.8351496686995997 2.8303425077026896E7 3.6405405405 8963 10735 -17 8963 true 10735.776923076923 8963.641 10735.776923076923 1969-12-31 18:29:23.64054054 -9216.339708939685 -5851.80644490647 0.8353975893550668 6195112.1797296945 3.6243243243 4193 5022 -98 4193 true 5022.715384615385 4193.6245 5022.715384615385 1969-12-31 17:09:53.624324324 -6514.8403326403464 -4136.5212058211928 0.8355907765708067 3095563.9418919063 4.3864864865 2964 3550 -34 2964 true 3550.4538461538464 2964.3865 3550.4538461538464 1969-12-31 16:49:24.386486486 -7587.301455301477 -4817.467775467754 0.8354976172734904 4198623.24324327 2.3783783784 3452 4134 38 3452 true 4134.923076923077 3452.3784 4134.923076923077 1969-12-31 16:57:32.378378378 +19699.41746361742269 -12507.91330561334538 0.8351496686995997 2.8303425077026896E7 3.6405405405 8963 10735 -17 8963 true 10735.776923076923 8963.641 10735.77692307692269 1969-12-31 18:29:23.64054054 +9216.33970893968512 -5851.80644490647024 0.8353975893550668 6195112.1797296945 3.6243243243 4193 5022 -98 4193 true 5022.715384615385 4193.6245 5022.71538461538512 1969-12-31 17:09:53.624324324 +6514.84033264034637 -4136.52120582119274 0.8355907765708067 3095563.9418919063 4.3864864865 2964 3550 -34 2964 true 3550.4538461538464 2964.3865 3550.45384615384637 1969-12-31 16:49:24.386486486 +7587.30145530147713 -4817.46777546775426 0.8354976172734904 4198623.24324327 2.3783783784 3452 4134 38 3452 true 4134.923076923077 3452.3784 4134.92307692307713 1969-12-31 16:57:32.378378378 19197.972972973 -12189.527027027 0.835155361813429 2.6880848817567654E7 5.472972973 8735 10462 -34 8735 true 10462.5 8735.473 10462.5 1969-12-31 18:25:35.472972973 -17098.9945945946 -10856.8054054054 0.8351828165813104 2.132423090270272E7 0.3945945946 7780 9318 102 7780 true 9318.6 7780.3945 9318.6 1969-12-31 18:09:40.394594594 -12433.723076923077 -7894.646153846154 0.8352770361086894 1.12754688E7 7.6 5657 6776 120 5657 true 6776.123076923077 5657.6 6776.123076923077 1969-12-31 17:34:17.6 -7247.316839916862 -4601.598544698524 0.8355241651897876 3830775.6932432684 7.6783783784 3297 3949 109 3297 true 3949.638461538462 3297.6785 3949.638461538462 1969-12-31 16:54:57.678378378 -14757.1700623700465 -9369.891476091493 0.8352226654922171 1.5883214124324286E7 4.8162162162 6714 8042 106 6714 true 8042.3538461538465 6714.8164 8042.3538461538465 1969-12-31 17:51:54.816216216 -10964.832016631993 -6961.991060291086 0.8353232978714221 8768719.779729689 9.2243243243 4989 5975 87 4989 true 5975.607692307693 4989.224 5975.607692307693 1969-12-31 17:23:09.224324324 +17098.99459459460036 -10856.80540540540072 0.8351828165813104 2.132423090270272E7 0.3945945946 7780 9318 102 7780 true 9318.6 7780.3945 9318.60000000000036 1969-12-31 18:09:40.394594594 +12433.72307692307695 -7894.6461538461539 0.8352770361086894 1.12754688E7 7.6 5657 6776 120 5657 true 6776.123076923077 5657.6 6776.12307692307695 1969-12-31 17:34:17.6 +7247.3168399168618 -4601.5985446985236 0.8355241651897876 3830775.6932432684 7.6783783784 3297 3949 109 3297 true 3949.638461538462 3297.6785 3949.6384615384618 1969-12-31 16:54:57.678378378 +14757.17006237004646 -9369.89147609149292 0.8352226654922171 1.5883214124324286E7 4.8162162162 6714 8042 106 6714 true 8042.3538461538465 6714.8164 8042.35384615384646 1969-12-31 17:51:54.816216216 +10964.83201663199256 -6961.99106029108512 0.8353232978714221 8768719.779729689 9.2243243243 4989 5975 87 4989 true 5975.607692307693 4989.224 5975.60769230769256 1969-12-31 17:23:09.224324324 diff --git ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out index 33f3d43..52e2086 100644 --- ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out +++ ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out @@ -110,7 +110,7 @@ POSTHOOK: Input: default@decimal_mapjoin 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL -6981 6981 5831542.269248378 NULL +6981 6981 5831542.2692483785 NULL 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL @@ -120,7 +120,7 @@ POSTHOOK: Input: default@decimal_mapjoin 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL -6981 6981 5831542.269248378 NULL +6981 6981 5831542.2692483785 NULL 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL @@ -130,7 +130,7 @@ POSTHOOK: Input: default@decimal_mapjoin 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL -6981 6981 5831542.269248378 NULL +6981 6981 5831542.2692483785 NULL 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL @@ -140,27 +140,27 @@ POSTHOOK: Input: default@decimal_mapjoin 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL -6981 6981 5831542.269248378 NULL +6981 6981 5831542.2692483785 NULL 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 -515.621072973 NULL 6981 6981 -515.621072973 NULL -6981 6981 NULL 6984454.211097692 -6981 6981 NULL 6984454.211097692 -6981 6981 NULL 6984454.211097692 -6981 6981 NULL 6984454.211097692 -6981 6981 5831542.269248378 6984454.211097692 -6981 6981 NULL 6984454.211097692 -6981 6981 NULL 6984454.211097692 -6981 6981 NULL 6984454.211097692 -6981 6981 -515.621072973 6984454.211097692 -6981 6981 -515.621072973 6984454.211097692 +6981 6981 NULL 6984454.21109769213945 +6981 6981 NULL 6984454.21109769213945 +6981 6981 NULL 6984454.21109769213945 +6981 6981 NULL 6984454.21109769213945 +6981 6981 5831542.2692483785 6984454.21109769213945 +6981 6981 NULL 6984454.21109769213945 +6981 6981 NULL 6984454.21109769213945 +6981 6981 NULL 6984454.21109769213945 +6981 6981 -515.621072973 6984454.21109769213945 +6981 6981 -515.621072973 6984454.21109769213945 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL -6981 6981 5831542.269248378 NULL +6981 6981 5831542.2692483785 NULL 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL @@ -170,7 +170,7 @@ POSTHOOK: Input: default@decimal_mapjoin 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL -6981 6981 5831542.269248378 NULL +6981 6981 5831542.2692483785 NULL 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL @@ -180,7 +180,7 @@ POSTHOOK: Input: default@decimal_mapjoin 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL -6981 6981 5831542.269248378 NULL +6981 6981 5831542.2692483785 NULL 6981 6981 NULL NULL 6981 6981 NULL NULL 6981 6981 NULL NULL @@ -190,7 +190,7 @@ POSTHOOK: Input: default@decimal_mapjoin 6981 6981 NULL -617.5607769230769 6981 6981 NULL -617.5607769230769 6981 6981 NULL -617.5607769230769 -6981 6981 5831542.269248378 -617.5607769230769 +6981 6981 5831542.2692483785 -617.5607769230769 6981 6981 NULL -617.5607769230769 6981 6981 NULL -617.5607769230769 6981 6981 NULL -617.5607769230769 @@ -200,7 +200,7 @@ POSTHOOK: Input: default@decimal_mapjoin 6981 6981 NULL -617.5607769230769 6981 6981 NULL -617.5607769230769 6981 6981 NULL -617.5607769230769 -6981 6981 5831542.269248378 -617.5607769230769 +6981 6981 5831542.2692483785 -617.5607769230769 6981 6981 NULL -617.5607769230769 6981 6981 NULL -617.5607769230769 6981 6981 NULL -617.5607769230769