You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2018/07/21 19:17:37 UTC
hive git commit: HIVE-20115 : Acid tables should not use footer scan
for analyze (Sergey Shelukhin, reviewed by Eugene Koifman)
Repository: hive
Updated Branches:
refs/heads/master e569ef090 -> 788daf609
HIVE-20115 : Acid tables should not use footer scan for analyze (Sergey Shelukhin, reviewed by Eugene Koifman)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/788daf60
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/788daf60
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/788daf60
Branch: refs/heads/master
Commit: 788daf609fd9c666dcb42451539917edd4d820ad
Parents: e569ef0
Author: sergey <se...@apache.org>
Authored: Sat Jul 21 12:16:36 2018 -0700
Committer: sergey <se...@apache.org>
Committed: Sat Jul 21 12:16:36 2018 -0700
----------------------------------------------------------------------
.../hive/ql/optimizer/GenMRTableScan1.java | 5 +-
.../hive/ql/parse/ProcessAnalyzeTable.java | 5 +-
.../hadoop/hive/ql/parse/TaskCompiler.java | 6 +-
.../parse/spark/SparkProcessAnalyzeTable.java | 5 +-
.../hive/ql/stats/BasicStatsNoJobTask.java | 9 +
.../queries/clientpositive/acid_no_buckets.q | 8 +
.../clientpositive/acid_table_stats.q.out | 28 +--
.../materialized_view_create_rewrite.q.out | 58 ++---
.../clientpositive/llap/acid_no_buckets.q.out | 210 +++++++++++++++++--
.../materialized_view_create_rewrite_4.q.out | 10 +-
.../materialized_view_create_rewrite_5.q.out | 2 +-
11 files changed, 279 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/788daf60/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMRTableScan1.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMRTableScan1.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMRTableScan1.java
index 64f9c70..6295d7f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMRTableScan1.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMRTableScan1.java
@@ -28,6 +28,7 @@ import org.apache.hadoop.hive.ql.exec.TableScanOperator;
import org.apache.hadoop.hive.ql.exec.Task;
import org.apache.hadoop.hive.ql.exec.TaskFactory;
import org.apache.hadoop.hive.ql.exec.mr.MapRedTask;
+import org.apache.hadoop.hive.ql.io.AcidUtils;
import org.apache.hadoop.hive.ql.io.orc.OrcInputFormat;
import org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat;
import org.apache.hadoop.hive.ql.lib.Node;
@@ -43,6 +44,7 @@ import org.apache.hadoop.hive.ql.plan.StatsWork;
import org.apache.hadoop.hive.ql.plan.BasicStatsWork;
import org.apache.hadoop.hive.ql.plan.MapredWork;
import org.apache.hadoop.hive.ql.plan.OperatorDesc;
+import org.apache.hadoop.hive.ql.stats.BasicStatsNoJobTask;
import org.apache.hadoop.mapred.InputFormat;
/**
@@ -84,8 +86,7 @@ public class GenMRTableScan1 implements NodeProcessor {
if (parseCtx.getQueryProperties().isAnalyzeCommand()) {
boolean noScan = parseCtx.getQueryProperties().isNoScanAnalyzeCommand();
- if (OrcInputFormat.class.isAssignableFrom(inputFormat) ||
- MapredParquetInputFormat.class.isAssignableFrom(inputFormat)) {
+ if (BasicStatsNoJobTask.canUseFooterScan(table, inputFormat)) {
// For ORC and Parquet, all the following statements are the same
// ANALYZE TABLE T [PARTITION (...)] COMPUTE STATISTICS
// ANALYZE TABLE T [PARTITION (...)] COMPUTE STATISTICS noscan;
http://git-wip-us.apache.org/repos/asf/hive/blob/788daf60/ql/src/java/org/apache/hadoop/hive/ql/parse/ProcessAnalyzeTable.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/ProcessAnalyzeTable.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/ProcessAnalyzeTable.java
index 03cceac..31c5c4b 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/ProcessAnalyzeTable.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/ProcessAnalyzeTable.java
@@ -22,6 +22,7 @@ import java.util.List;
import java.util.Set;
import java.util.Stack;
+import org.apache.hadoop.hive.ql.io.AcidUtils;
import org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,6 +40,7 @@ import org.apache.hadoop.hive.ql.plan.StatsWork;
import org.apache.hadoop.hive.ql.plan.MapWork;
import org.apache.hadoop.hive.ql.plan.BasicStatsWork;
import org.apache.hadoop.hive.ql.plan.TezWork;
+import org.apache.hadoop.hive.ql.stats.BasicStatsNoJobTask;
import org.apache.hadoop.mapred.InputFormat;
/**
@@ -86,8 +88,7 @@ public class ProcessAnalyzeTable implements NodeProcessor {
assert alias != null;
TezWork tezWork = context.currentTask.getWork();
- if (OrcInputFormat.class.isAssignableFrom(inputFormat) ||
- MapredParquetInputFormat.class.isAssignableFrom(inputFormat)) {
+ if (BasicStatsNoJobTask.canUseFooterScan(table, inputFormat)) {
// For ORC & Parquet, all the following statements are the same
// ANALYZE TABLE T [PARTITION (...)] COMPUTE STATISTICS
// ANALYZE TABLE T [PARTITION (...)] COMPUTE STATISTICS noscan;
http://git-wip-us.apache.org/repos/asf/hive/blob/788daf60/ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java
index 49709e5..7a2a2c7 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.hive.ql.parse;
import com.google.common.collect.Interner;
import com.google.common.collect.Interners;
+
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hive.common.HiveStatsUtils;
import org.apache.hadoop.hive.conf.HiveConf;
@@ -62,6 +63,7 @@ import org.apache.hadoop.hive.ql.plan.StatsWork;
import org.apache.hadoop.hive.ql.plan.TableDesc;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.hive.ql.session.SessionState.LogHelper;
+import org.apache.hadoop.hive.ql.stats.BasicStatsNoJobTask;
import org.apache.hadoop.hive.serde.serdeConstants;
import org.apache.hadoop.hive.serde2.DefaultFetchFormatter;
import org.apache.hadoop.hive.serde2.NoOpFetchFormatter;
@@ -381,7 +383,9 @@ public abstract class TaskCompiler {
TableSpec tableSpec = new TableSpec(table, partitions);
tableScan.getConf().getTableMetadata().setTableSpec(tableSpec);
- if (inputFormat.equals(OrcInputFormat.class)) {
+ // Note: this should probably use BasicStatsNoJobTask.canUseFooterScan, but it doesn't check
+ // Parquet for some reason. I'm keeping the existing behavior for now.
+ if (inputFormat.equals(OrcInputFormat.class) && !AcidUtils.isTransactionalTable(table)) {
// For ORC, there is no Tez Job for table stats.
StatsWork columnStatsWork = new StatsWork(table, parseContext.getConf());
columnStatsWork.setFooterScan();
http://git-wip-us.apache.org/repos/asf/hive/blob/788daf60/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkProcessAnalyzeTable.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkProcessAnalyzeTable.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkProcessAnalyzeTable.java
index 28d4de7..a9ba302 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkProcessAnalyzeTable.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkProcessAnalyzeTable.java
@@ -22,6 +22,7 @@ import java.util.List;
import java.util.Set;
import java.util.Stack;
+import org.apache.hadoop.hive.ql.io.AcidUtils;
import org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,6 +44,7 @@ import org.apache.hadoop.hive.ql.plan.StatsWork;
import org.apache.hadoop.hive.ql.plan.MapWork;
import org.apache.hadoop.hive.ql.plan.SparkWork;
import org.apache.hadoop.hive.ql.plan.BasicStatsWork;
+import org.apache.hadoop.hive.ql.stats.BasicStatsNoJobTask;
import org.apache.hadoop.mapred.InputFormat;
import com.google.common.base.Preconditions;
@@ -96,8 +98,7 @@ public class SparkProcessAnalyzeTable implements NodeProcessor {
Preconditions.checkArgument(alias != null, "AssertionError: expected alias to be not null");
SparkWork sparkWork = context.currentTask.getWork();
- if (OrcInputFormat.class.isAssignableFrom(inputFormat) ||
- MapredParquetInputFormat.class.isAssignableFrom(inputFormat)) {
+ if (BasicStatsNoJobTask.canUseFooterScan(table, inputFormat)) {
// For ORC & Parquet, all the following statements are the same
// ANALYZE TABLE T [PARTITION (...)] COMPUTE STATISTICS
// ANALYZE TABLE T [PARTITION (...)] COMPUTE STATISTICS noscan;
http://git-wip-us.apache.org/repos/asf/hive/blob/788daf60/ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsNoJobTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsNoJobTask.java b/ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsNoJobTask.java
index 3128ee8..fd06098 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsNoJobTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsNoJobTask.java
@@ -39,6 +39,8 @@ import org.apache.hadoop.hive.ql.exec.StatsTask;
import org.apache.hadoop.hive.ql.exec.Utilities;
import org.apache.hadoop.hive.ql.io.AcidUtils;
import org.apache.hadoop.hive.ql.io.StatsProvidingRecordReader;
+import org.apache.hadoop.hive.ql.io.orc.OrcInputFormat;
+import org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat;
import org.apache.hadoop.hive.ql.metadata.Hive;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.metadata.Partition;
@@ -71,6 +73,8 @@ import com.google.common.collect.Multimaps;
* faster to compute the table/partition statistics by reading the footer than scanning all the
* rows. This task can be used for computing basic stats like numFiles, numRows, fileSize,
* rawDataSize from ORC footer.
+ * However, this cannot be used for full ACID tables, since some of the files may contain updates
+ * and deletes to existing rows, so summing up the per-file row counts is invalid.
**/
public class BasicStatsNoJobTask implements IStatsProcessor {
@@ -86,6 +90,11 @@ public class BasicStatsNoJobTask implements IStatsProcessor {
console = new LogHelper(LOG);
}
+ public static boolean canUseFooterScan(
+ Table table, Class<? extends InputFormat> inputFormat) {
+ return (OrcInputFormat.class.isAssignableFrom(inputFormat) && !AcidUtils.isFullAcidTable(table))
+ || MapredParquetInputFormat.class.isAssignableFrom(inputFormat);
+ }
@Override
public void initialize(CompilationOpContext opContext) {
http://git-wip-us.apache.org/repos/asf/hive/blob/788daf60/ql/src/test/queries/clientpositive/acid_no_buckets.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/acid_no_buckets.q b/ql/src/test/queries/clientpositive/acid_no_buckets.q
index bcf9e06..552010a 100644
--- a/ql/src/test/queries/clientpositive/acid_no_buckets.q
+++ b/ql/src/test/queries/clientpositive/acid_no_buckets.q
@@ -28,8 +28,16 @@ select ds, hr, key, value from srcpart_acid where value like '%updated' order by
insert into srcpart_acid PARTITION (ds='2008-04-08', hr=='11') values ('1001','val1001'),('1002','val1002'),('1003','val1003');
select ds, hr, key, value from srcpart_acid where cast(key as integer) > 1000 order by ds, hr, cast(key as integer);
+describe formatted srcpart_acid;
+describe formatted srcpart_acid key;
+
analyze table srcpart_acid PARTITION(ds, hr) compute statistics;
analyze table srcpart_acid PARTITION(ds, hr) compute statistics for columns;
+
+-- make sure the stats stay the same after analyze (insert and update above also update stats)
+describe formatted srcpart_acid;
+describe formatted srcpart_acid key;
+
explain delete from srcpart_acid where key in( '1001', '213', '43');
--delete some rows from initial load, some that were updated and some that were inserted
delete from srcpart_acid where key in( '1001', '213', '43');
http://git-wip-us.apache.org/repos/asf/hive/blob/788daf60/ql/src/test/results/clientpositive/acid_table_stats.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/acid_table_stats.q.out b/ql/src/test/results/clientpositive/acid_table_stats.q.out
index 841a5a4..2fe4f97 100644
--- a/ql/src/test/results/clientpositive/acid_table_stats.q.out
+++ b/ql/src/test/results/clientpositive/acid_table_stats.q.out
@@ -182,11 +182,13 @@ POSTHOOK: Input: default@acid@ds=2008-04-08
PREHOOK: query: analyze table acid partition(ds='2008-04-08') compute statistics
PREHOOK: type: QUERY
PREHOOK: Input: default@acid
+PREHOOK: Input: default@acid@ds=2008-04-08
PREHOOK: Output: default@acid
PREHOOK: Output: default@acid@ds=2008-04-08
POSTHOOK: query: analyze table acid partition(ds='2008-04-08') compute statistics
POSTHOOK: type: QUERY
POSTHOOK: Input: default@acid
+POSTHOOK: Input: default@acid@ds=2008-04-08
POSTHOOK: Output: default@acid
POSTHOOK: Output: default@acid@ds=2008-04-08
PREHOOK: query: desc formatted acid partition(ds='2008-04-08')
@@ -209,10 +211,9 @@ Database: default
Table: acid
#### A masked pattern was here ####
Partition Parameters:
- COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
numFiles 2
numRows 1000
- rawDataSize 208000
+ rawDataSize 0
totalSize 4063
#### A masked pattern was here ####
@@ -260,10 +261,10 @@ Database: default
Table: acid
#### A masked pattern was here ####
Partition Parameters:
- COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
+ COLUMN_STATS_ACCURATE {\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
numFiles 2
numRows 1000
- rawDataSize 208000
+ rawDataSize 0
totalSize 4063
#### A masked pattern was here ####
@@ -303,9 +304,9 @@ STAGE PLANS:
TableScan
alias: acid
filterExpr: (ds = '2008-04-08') (type: boolean)
- Statistics: Num rows: 1000 Data size: 208000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1000 Data size: 40630 Basic stats: COMPLETE Column stats: NONE
Select Operator
- Statistics: Num rows: 1000 Data size: 208000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1000 Data size: 40630 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count()
mode: hash
@@ -390,7 +391,7 @@ Table: acid
Partition Parameters:
numFiles 4
numRows 3000
- rawDataSize 208000
+ rawDataSize 0
totalSize 8118
#### A masked pattern was here ####
@@ -407,11 +408,13 @@ Storage Desc Params:
PREHOOK: query: analyze table acid partition(ds='2008-04-08') compute statistics
PREHOOK: type: QUERY
PREHOOK: Input: default@acid
+PREHOOK: Input: default@acid@ds=2008-04-08
PREHOOK: Output: default@acid
PREHOOK: Output: default@acid@ds=2008-04-08
POSTHOOK: query: analyze table acid partition(ds='2008-04-08') compute statistics
POSTHOOK: type: QUERY
POSTHOOK: Input: default@acid
+POSTHOOK: Input: default@acid@ds=2008-04-08
POSTHOOK: Output: default@acid
POSTHOOK: Output: default@acid@ds=2008-04-08
PREHOOK: query: desc formatted acid partition(ds='2008-04-08')
@@ -434,10 +437,9 @@ Database: default
Table: acid
#### A masked pattern was here ####
Partition Parameters:
- COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
numFiles 4
numRows 2000
- rawDataSize 416000
+ rawDataSize 0
totalSize 8118
#### A masked pattern was here ####
@@ -466,9 +468,9 @@ STAGE PLANS:
TableScan
alias: acid
filterExpr: (ds = '2008-04-08') (type: boolean)
- Statistics: Num rows: 2000 Data size: 416000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2000 Data size: 81180 Basic stats: COMPLETE Column stats: NONE
Select Operator
- Statistics: Num rows: 2000 Data size: 416000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2000 Data size: 81180 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count()
mode: hash
@@ -539,11 +541,11 @@ STAGE PLANS:
TableScan
alias: acid
filterExpr: (ds = '2008-04-08') (type: boolean)
- Statistics: Num rows: 2000 Data size: 416000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2000 Data size: 81180 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: key
- Statistics: Num rows: 2000 Data size: 416000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2000 Data size: 81180 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: max(key)
mode: hash
http://git-wip-us.apache.org/repos/asf/hive/blob/788daf60/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out b/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out
index 4db5d70..7813aac 100644
--- a/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out
+++ b/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out
@@ -175,32 +175,32 @@ STAGE PLANS:
TableScan
alias: cmv_basetable_n10
filterExpr: (a = 3) (type: boolean)
- Statistics: Num rows: 5 Data size: 1205 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 9740 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (a = 3) (type: boolean)
- Statistics: Num rows: 2 Data size: 482 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 3896 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: c (type: decimal(10,2))
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 482 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 3896 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
sort order:
- Statistics: Num rows: 2 Data size: 482 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 3896 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: decimal(10,2))
TableScan
alias: cmv_basetable_n10
filterExpr: ((d = 3) and (a = 3)) (type: boolean)
- Statistics: Num rows: 5 Data size: 1205 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 9740 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: ((a = 3) and (d = 3)) (type: boolean)
- Statistics: Num rows: 1 Data size: 241 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 1948 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: c (type: decimal(10,2))
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 241 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 1948 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 241 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 1948 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: decimal(10,2))
Reduce Operator Tree:
Join Operator
@@ -210,14 +210,14 @@ STAGE PLANS:
0
1
outputColumnNames: _col0, _col1
- Statistics: Num rows: 2 Data size: 966 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 7794 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: 3 (type: int), _col0 (type: decimal(10,2)), 3 (type: int), _col1 (type: decimal(10,2))
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 2 Data size: 966 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 7794 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 966 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 7794 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -298,17 +298,17 @@ STAGE PLANS:
TableScan
alias: cmv_basetable_n10
filterExpr: ((a = 3) and (d = 3)) (type: boolean)
- Statistics: Num rows: 5 Data size: 1205 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 9740 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: ((a = 3) and (d = 3)) (type: boolean)
- Statistics: Num rows: 1 Data size: 241 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 1948 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: c (type: decimal(10,2))
outputColumnNames: _col1
- Statistics: Num rows: 1 Data size: 241 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 1948 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 241 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 1948 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: decimal(10,2))
TableScan
alias: default.cmv_mat_view2_n4
@@ -325,14 +325,14 @@ STAGE PLANS:
0
1
outputColumnNames: _col0, _col1, _col6
- Statistics: Num rows: 2 Data size: 716 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 4130 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: decimal(10,2)), _col0 (type: int), _col6 (type: decimal(10,2))
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 2 Data size: 716 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 4130 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 716 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 4130 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -399,32 +399,32 @@ STAGE PLANS:
TableScan
alias: cmv_basetable_n10
filterExpr: (a = 3) (type: boolean)
- Statistics: Num rows: 5 Data size: 1205 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 9740 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (a = 3) (type: boolean)
- Statistics: Num rows: 2 Data size: 482 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 3896 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: c (type: decimal(10,2))
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 482 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 3896 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
sort order:
- Statistics: Num rows: 2 Data size: 482 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 3896 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: decimal(10,2))
TableScan
alias: cmv_basetable_n10
filterExpr: ((d = 3) and (a = 3)) (type: boolean)
- Statistics: Num rows: 5 Data size: 1205 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 9740 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: ((a = 3) and (d = 3)) (type: boolean)
- Statistics: Num rows: 1 Data size: 241 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 1948 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: c (type: decimal(10,2))
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 241 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 1948 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 241 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 1948 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: decimal(10,2))
Reduce Operator Tree:
Join Operator
@@ -434,14 +434,14 @@ STAGE PLANS:
0
1
outputColumnNames: _col0, _col1
- Statistics: Num rows: 2 Data size: 966 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 7794 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: 3 (type: int), _col0 (type: decimal(10,2)), 3 (type: int), _col1 (type: decimal(10,2))
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 2 Data size: 966 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 7794 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 966 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 7794 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/788daf60/ql/src/test/results/clientpositive/llap/acid_no_buckets.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/acid_no_buckets.q.out b/ql/src/test/results/clientpositive/llap/acid_no_buckets.q.out
index 36a6a5d..9762de6 100644
--- a/ql/src/test/results/clientpositive/llap/acid_no_buckets.q.out
+++ b/ql/src/test/results/clientpositive/llap/acid_no_buckets.q.out
@@ -58,6 +58,10 @@ POSTHOOK: Input: default@srcpart_acid@ds=2008-04-09/hr=11
PREHOOK: query: analyze table srcpart_acid PARTITION(ds, hr) compute statistics
PREHOOK: type: QUERY
PREHOOK: Input: default@srcpart_acid
+PREHOOK: Input: default@srcpart_acid@ds=2008-04-08/hr=11
+PREHOOK: Input: default@srcpart_acid@ds=2008-04-08/hr=12
+PREHOOK: Input: default@srcpart_acid@ds=2008-04-09/hr=11
+PREHOOK: Input: default@srcpart_acid@ds=2008-04-09/hr=12
PREHOOK: Output: default@srcpart_acid
PREHOOK: Output: default@srcpart_acid@ds=2008-04-08/hr=11
PREHOOK: Output: default@srcpart_acid@ds=2008-04-08/hr=12
@@ -66,6 +70,10 @@ PREHOOK: Output: default@srcpart_acid@ds=2008-04-09/hr=12
POSTHOOK: query: analyze table srcpart_acid PARTITION(ds, hr) compute statistics
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart_acid
+POSTHOOK: Input: default@srcpart_acid@ds=2008-04-08/hr=11
+POSTHOOK: Input: default@srcpart_acid@ds=2008-04-08/hr=12
+POSTHOOK: Input: default@srcpart_acid@ds=2008-04-09/hr=11
+POSTHOOK: Input: default@srcpart_acid@ds=2008-04-09/hr=12
POSTHOOK: Output: default@srcpart_acid
POSTHOOK: Output: default@srcpart_acid@ds=2008-04-08/hr=11
POSTHOOK: Output: default@srcpart_acid@ds=2008-04-08/hr=12
@@ -239,9 +247,74 @@ POSTHOOK: Input: default@srcpart_acid@ds=2008-04-09/hr=12
2008-04-08 11 1001 val1001
2008-04-08 11 1002 val1002
2008-04-08 11 1003 val1003
+PREHOOK: query: describe formatted srcpart_acid
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@srcpart_acid
+POSTHOOK: query: describe formatted srcpart_acid
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@srcpart_acid
+# col_name data_type comment
+key string
+value string
+
+# Partition Information
+# col_name data_type comment
+ds string
+hr string
+
+# Detailed Table Information
+Database: default
+#### A masked pattern was here ####
+Retention: 0
+#### A masked pattern was here ####
+Table Type: MANAGED_TABLE
+Table Parameters:
+ bucketing_version 2
+ numFiles 9
+ numPartitions 4
+ numRows 2003
+ rawDataSize 0
+ totalSize 17988
+ transactional true
+ transactional_properties default
+#### A masked pattern was here ####
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.ql.io.orc.OrcSerde
+InputFormat: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
+PREHOOK: query: describe formatted srcpart_acid key
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@srcpart_acid
+POSTHOOK: query: describe formatted srcpart_acid key
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@srcpart_acid
+col_name key
+data_type string
+min
+max
+num_nulls 0
+distinct_count 316
+avg_col_len 2.812
+max_col_len 3
+num_trues
+num_falses
+bitVector HL
+comment from deserializer
+COLUMN_STATS_ACCURATE {}
PREHOOK: query: analyze table srcpart_acid PARTITION(ds, hr) compute statistics
PREHOOK: type: QUERY
PREHOOK: Input: default@srcpart_acid
+PREHOOK: Input: default@srcpart_acid@ds=2008-04-08/hr=11
+PREHOOK: Input: default@srcpart_acid@ds=2008-04-08/hr=12
+PREHOOK: Input: default@srcpart_acid@ds=2008-04-09/hr=11
+PREHOOK: Input: default@srcpart_acid@ds=2008-04-09/hr=12
PREHOOK: Output: default@srcpart_acid
PREHOOK: Output: default@srcpart_acid@ds=2008-04-08/hr=11
PREHOOK: Output: default@srcpart_acid@ds=2008-04-08/hr=12
@@ -250,6 +323,10 @@ PREHOOK: Output: default@srcpart_acid@ds=2008-04-09/hr=12
POSTHOOK: query: analyze table srcpart_acid PARTITION(ds, hr) compute statistics
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart_acid
+POSTHOOK: Input: default@srcpart_acid@ds=2008-04-08/hr=11
+POSTHOOK: Input: default@srcpart_acid@ds=2008-04-08/hr=12
+POSTHOOK: Input: default@srcpart_acid@ds=2008-04-09/hr=11
+POSTHOOK: Input: default@srcpart_acid@ds=2008-04-09/hr=12
POSTHOOK: Output: default@srcpart_acid
POSTHOOK: Output: default@srcpart_acid@ds=2008-04-08/hr=11
POSTHOOK: Output: default@srcpart_acid@ds=2008-04-08/hr=12
@@ -281,6 +358,67 @@ POSTHOOK: Output: default@srcpart_acid@ds=2008-04-08/hr=12
POSTHOOK: Output: default@srcpart_acid@ds=2008-04-09/hr=11
POSTHOOK: Output: default@srcpart_acid@ds=2008-04-09/hr=12
#### A masked pattern was here ####
+PREHOOK: query: describe formatted srcpart_acid
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@srcpart_acid
+POSTHOOK: query: describe formatted srcpart_acid
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@srcpart_acid
+# col_name data_type comment
+key string
+value string
+
+# Partition Information
+# col_name data_type comment
+ds string
+hr string
+
+# Detailed Table Information
+Database: default
+#### A masked pattern was here ####
+Retention: 0
+#### A masked pattern was here ####
+Table Type: MANAGED_TABLE
+Table Parameters:
+ bucketing_version 2
+ numFiles 9
+ numPartitions 4
+ numRows 2003
+ rawDataSize 0
+ totalSize 17988
+ transactional true
+ transactional_properties default
+#### A masked pattern was here ####
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.ql.io.orc.OrcSerde
+InputFormat: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
+PREHOOK: query: describe formatted srcpart_acid key
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@srcpart_acid
+POSTHOOK: query: describe formatted srcpart_acid key
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@srcpart_acid
+col_name key
+data_type string
+min
+max
+num_nulls 0
+distinct_count 316
+avg_col_len 2.812
+max_col_len 3
+num_trues
+num_falses
+bitVector HL
+comment from deserializer
+COLUMN_STATS_ACCURATE {}
PREHOOK: query: explain delete from srcpart_acid where key in( '1001', '213', '43')
PREHOOK: type: QUERY
POSTHOOK: query: explain delete from srcpart_acid where key in( '1001', '213', '43')
@@ -304,19 +442,19 @@ STAGE PLANS:
TableScan
alias: srcpart_acid
filterExpr: (key) IN ('1001', '213', '43') (type: boolean)
- Statistics: Num rows: 2015 Data size: 916825 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 2003 Data size: 911365 Basic stats: COMPLETE Column stats: PARTIAL
Filter Operator
predicate: (key) IN ('1001', '213', '43') (type: boolean)
- Statistics: Num rows: 101 Data size: 45955 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 100 Data size: 45500 Basic stats: COMPLETE Column stats: PARTIAL
Select Operator
expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), ds (type: string), hr (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 101 Data size: 44844 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 100 Data size: 44400 Basic stats: COMPLETE Column stats: PARTIAL
Reduce Output Operator
key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
sort order: +
Map-reduce partition columns: UDFToInteger(_col0) (type: int)
- Statistics: Num rows: 101 Data size: 44844 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 100 Data size: 44400 Basic stats: COMPLETE Column stats: PARTIAL
value expressions: _col1 (type: string), _col2 (type: string)
Execution mode: llap
LLAP IO: may be used (ACID table)
@@ -326,10 +464,10 @@ STAGE PLANS:
Select Operator
expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), VALUE._col0 (type: string), VALUE._col1 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 101 Data size: 44844 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 100 Data size: 44400 Basic stats: COMPLETE Column stats: PARTIAL
File Output Operator
compressed: false
- Statistics: Num rows: 101 Data size: 44844 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 100 Data size: 44400 Basic stats: COMPLETE Column stats: PARTIAL
table:
input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -561,6 +699,10 @@ POSTHOOK: Input: default@srcpart_acidb@ds=2008-04-09/hr=11
PREHOOK: query: analyze table srcpart_acidb PARTITION(ds, hr) compute statistics
PREHOOK: type: QUERY
PREHOOK: Input: default@srcpart_acidb
+PREHOOK: Input: default@srcpart_acidb@ds=2008-04-08/hr=11
+PREHOOK: Input: default@srcpart_acidb@ds=2008-04-08/hr=12
+PREHOOK: Input: default@srcpart_acidb@ds=2008-04-09/hr=11
+PREHOOK: Input: default@srcpart_acidb@ds=2008-04-09/hr=12
PREHOOK: Output: default@srcpart_acidb
PREHOOK: Output: default@srcpart_acidb@ds=2008-04-08/hr=11
PREHOOK: Output: default@srcpart_acidb@ds=2008-04-08/hr=12
@@ -569,6 +711,10 @@ PREHOOK: Output: default@srcpart_acidb@ds=2008-04-09/hr=12
POSTHOOK: query: analyze table srcpart_acidb PARTITION(ds, hr) compute statistics
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart_acidb
+POSTHOOK: Input: default@srcpart_acidb@ds=2008-04-08/hr=11
+POSTHOOK: Input: default@srcpart_acidb@ds=2008-04-08/hr=12
+POSTHOOK: Input: default@srcpart_acidb@ds=2008-04-09/hr=11
+POSTHOOK: Input: default@srcpart_acidb@ds=2008-04-09/hr=12
POSTHOOK: Output: default@srcpart_acidb
POSTHOOK: Output: default@srcpart_acidb@ds=2008-04-08/hr=11
POSTHOOK: Output: default@srcpart_acidb@ds=2008-04-08/hr=12
@@ -745,6 +891,10 @@ POSTHOOK: Input: default@srcpart_acidb@ds=2008-04-09/hr=12
PREHOOK: query: analyze table srcpart_acidb PARTITION(ds, hr) compute statistics
PREHOOK: type: QUERY
PREHOOK: Input: default@srcpart_acidb
+PREHOOK: Input: default@srcpart_acidb@ds=2008-04-08/hr=11
+PREHOOK: Input: default@srcpart_acidb@ds=2008-04-08/hr=12
+PREHOOK: Input: default@srcpart_acidb@ds=2008-04-09/hr=11
+PREHOOK: Input: default@srcpart_acidb@ds=2008-04-09/hr=12
PREHOOK: Output: default@srcpart_acidb
PREHOOK: Output: default@srcpart_acidb@ds=2008-04-08/hr=11
PREHOOK: Output: default@srcpart_acidb@ds=2008-04-08/hr=12
@@ -753,6 +903,10 @@ PREHOOK: Output: default@srcpart_acidb@ds=2008-04-09/hr=12
POSTHOOK: query: analyze table srcpart_acidb PARTITION(ds, hr) compute statistics
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart_acidb
+POSTHOOK: Input: default@srcpart_acidb@ds=2008-04-08/hr=11
+POSTHOOK: Input: default@srcpart_acidb@ds=2008-04-08/hr=12
+POSTHOOK: Input: default@srcpart_acidb@ds=2008-04-09/hr=11
+POSTHOOK: Input: default@srcpart_acidb@ds=2008-04-09/hr=12
POSTHOOK: Output: default@srcpart_acidb
POSTHOOK: Output: default@srcpart_acidb@ds=2008-04-08/hr=11
POSTHOOK: Output: default@srcpart_acidb@ds=2008-04-08/hr=12
@@ -807,19 +961,19 @@ STAGE PLANS:
TableScan
alias: srcpart_acidb
filterExpr: (key) IN ('1001', '213', '43') (type: boolean)
- Statistics: Num rows: 2015 Data size: 916825 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 2003 Data size: 911365 Basic stats: COMPLETE Column stats: PARTIAL
Filter Operator
predicate: (key) IN ('1001', '213', '43') (type: boolean)
- Statistics: Num rows: 101 Data size: 45955 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 100 Data size: 45500 Basic stats: COMPLETE Column stats: PARTIAL
Select Operator
expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), ds (type: string), hr (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 101 Data size: 44844 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 100 Data size: 44400 Basic stats: COMPLETE Column stats: PARTIAL
Reduce Output Operator
key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
sort order: +
Map-reduce partition columns: UDFToInteger(_col0) (type: int)
- Statistics: Num rows: 101 Data size: 44844 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 100 Data size: 44400 Basic stats: COMPLETE Column stats: PARTIAL
value expressions: _col1 (type: string), _col2 (type: string)
Execution mode: llap
LLAP IO: may be used (ACID table)
@@ -829,10 +983,10 @@ STAGE PLANS:
Select Operator
expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), VALUE._col0 (type: string), VALUE._col1 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 101 Data size: 44844 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 100 Data size: 44400 Basic stats: COMPLETE Column stats: PARTIAL
File Output Operator
compressed: false
- Statistics: Num rows: 101 Data size: 44844 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 100 Data size: 44400 Basic stats: COMPLETE Column stats: PARTIAL
table:
input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -1064,6 +1218,10 @@ POSTHOOK: Input: default@srcpart_acidv@ds=2008-04-09/hr=11
PREHOOK: query: analyze table srcpart_acidv PARTITION(ds, hr) compute statistics
PREHOOK: type: QUERY
PREHOOK: Input: default@srcpart_acidv
+PREHOOK: Input: default@srcpart_acidv@ds=2008-04-08/hr=11
+PREHOOK: Input: default@srcpart_acidv@ds=2008-04-08/hr=12
+PREHOOK: Input: default@srcpart_acidv@ds=2008-04-09/hr=11
+PREHOOK: Input: default@srcpart_acidv@ds=2008-04-09/hr=12
PREHOOK: Output: default@srcpart_acidv
PREHOOK: Output: default@srcpart_acidv@ds=2008-04-08/hr=11
PREHOOK: Output: default@srcpart_acidv@ds=2008-04-08/hr=12
@@ -1072,6 +1230,10 @@ PREHOOK: Output: default@srcpart_acidv@ds=2008-04-09/hr=12
POSTHOOK: query: analyze table srcpart_acidv PARTITION(ds, hr) compute statistics
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart_acidv
+POSTHOOK: Input: default@srcpart_acidv@ds=2008-04-08/hr=11
+POSTHOOK: Input: default@srcpart_acidv@ds=2008-04-08/hr=12
+POSTHOOK: Input: default@srcpart_acidv@ds=2008-04-09/hr=11
+POSTHOOK: Input: default@srcpart_acidv@ds=2008-04-09/hr=12
POSTHOOK: Output: default@srcpart_acidv
POSTHOOK: Output: default@srcpart_acidv@ds=2008-04-08/hr=11
POSTHOOK: Output: default@srcpart_acidv@ds=2008-04-08/hr=12
@@ -1264,6 +1426,10 @@ POSTHOOK: Input: default@srcpart_acidv@ds=2008-04-09/hr=12
PREHOOK: query: analyze table srcpart_acidv PARTITION(ds, hr) compute statistics
PREHOOK: type: QUERY
PREHOOK: Input: default@srcpart_acidv
+PREHOOK: Input: default@srcpart_acidv@ds=2008-04-08/hr=11
+PREHOOK: Input: default@srcpart_acidv@ds=2008-04-08/hr=12
+PREHOOK: Input: default@srcpart_acidv@ds=2008-04-09/hr=11
+PREHOOK: Input: default@srcpart_acidv@ds=2008-04-09/hr=12
PREHOOK: Output: default@srcpart_acidv
PREHOOK: Output: default@srcpart_acidv@ds=2008-04-08/hr=11
PREHOOK: Output: default@srcpart_acidv@ds=2008-04-08/hr=12
@@ -1272,6 +1438,10 @@ PREHOOK: Output: default@srcpart_acidv@ds=2008-04-09/hr=12
POSTHOOK: query: analyze table srcpart_acidv PARTITION(ds, hr) compute statistics
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart_acidv
+POSTHOOK: Input: default@srcpart_acidv@ds=2008-04-08/hr=11
+POSTHOOK: Input: default@srcpart_acidv@ds=2008-04-08/hr=12
+POSTHOOK: Input: default@srcpart_acidv@ds=2008-04-09/hr=11
+POSTHOOK: Input: default@srcpart_acidv@ds=2008-04-09/hr=12
POSTHOOK: Output: default@srcpart_acidv
POSTHOOK: Output: default@srcpart_acidv@ds=2008-04-08/hr=11
POSTHOOK: Output: default@srcpart_acidv@ds=2008-04-08/hr=12
@@ -1850,6 +2020,10 @@ POSTHOOK: Input: default@srcpart_acidvb@ds=2008-04-09/hr=11
PREHOOK: query: analyze table srcpart_acidvb PARTITION(ds, hr) compute statistics
PREHOOK: type: QUERY
PREHOOK: Input: default@srcpart_acidvb
+PREHOOK: Input: default@srcpart_acidvb@ds=2008-04-08/hr=11
+PREHOOK: Input: default@srcpart_acidvb@ds=2008-04-08/hr=12
+PREHOOK: Input: default@srcpart_acidvb@ds=2008-04-09/hr=11
+PREHOOK: Input: default@srcpart_acidvb@ds=2008-04-09/hr=12
PREHOOK: Output: default@srcpart_acidvb
PREHOOK: Output: default@srcpart_acidvb@ds=2008-04-08/hr=11
PREHOOK: Output: default@srcpart_acidvb@ds=2008-04-08/hr=12
@@ -1858,6 +2032,10 @@ PREHOOK: Output: default@srcpart_acidvb@ds=2008-04-09/hr=12
POSTHOOK: query: analyze table srcpart_acidvb PARTITION(ds, hr) compute statistics
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart_acidvb
+POSTHOOK: Input: default@srcpart_acidvb@ds=2008-04-08/hr=11
+POSTHOOK: Input: default@srcpart_acidvb@ds=2008-04-08/hr=12
+POSTHOOK: Input: default@srcpart_acidvb@ds=2008-04-09/hr=11
+POSTHOOK: Input: default@srcpart_acidvb@ds=2008-04-09/hr=12
POSTHOOK: Output: default@srcpart_acidvb
POSTHOOK: Output: default@srcpart_acidvb@ds=2008-04-08/hr=11
POSTHOOK: Output: default@srcpart_acidvb@ds=2008-04-08/hr=12
@@ -2050,6 +2228,10 @@ POSTHOOK: Input: default@srcpart_acidvb@ds=2008-04-09/hr=12
PREHOOK: query: analyze table srcpart_acidvb PARTITION(ds, hr) compute statistics
PREHOOK: type: QUERY
PREHOOK: Input: default@srcpart_acidvb
+PREHOOK: Input: default@srcpart_acidvb@ds=2008-04-08/hr=11
+PREHOOK: Input: default@srcpart_acidvb@ds=2008-04-08/hr=12
+PREHOOK: Input: default@srcpart_acidvb@ds=2008-04-09/hr=11
+PREHOOK: Input: default@srcpart_acidvb@ds=2008-04-09/hr=12
PREHOOK: Output: default@srcpart_acidvb
PREHOOK: Output: default@srcpart_acidvb@ds=2008-04-08/hr=11
PREHOOK: Output: default@srcpart_acidvb@ds=2008-04-08/hr=12
@@ -2058,6 +2240,10 @@ PREHOOK: Output: default@srcpart_acidvb@ds=2008-04-09/hr=12
POSTHOOK: query: analyze table srcpart_acidvb PARTITION(ds, hr) compute statistics
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart_acidvb
+POSTHOOK: Input: default@srcpart_acidvb@ds=2008-04-08/hr=11
+POSTHOOK: Input: default@srcpart_acidvb@ds=2008-04-08/hr=12
+POSTHOOK: Input: default@srcpart_acidvb@ds=2008-04-09/hr=11
+POSTHOOK: Input: default@srcpart_acidvb@ds=2008-04-09/hr=12
POSTHOOK: Output: default@srcpart_acidvb
POSTHOOK: Output: default@srcpart_acidvb@ds=2008-04-08/hr=11
POSTHOOK: Output: default@srcpart_acidvb@ds=2008-04-08/hr=12
http://git-wip-us.apache.org/repos/asf/hive/blob/788daf60/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
index eda3985..bfa204e 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
@@ -265,11 +265,11 @@ Retention: 0
#### A masked pattern was here ####
Table Type: MATERIALIZED_VIEW
Table Parameters:
- COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"_c2\":\"true\",\"a\":\"true\",\"c\":\"true\"}}
+ COLUMN_STATS_ACCURATE {\"COLUMN_STATS\":{\"_c2\":\"true\",\"a\":\"true\",\"c\":\"true\"}}
bucketing_version 2
numFiles 2
numRows 2
- rawDataSize 248
+ rawDataSize 0
totalSize 736
transactional true
transactional_properties default
@@ -494,11 +494,11 @@ Retention: 0
#### A masked pattern was here ####
Table Type: MATERIALIZED_VIEW
Table Parameters:
- COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"_c2\":\"true\",\"a\":\"true\",\"c\":\"true\"}}
+ COLUMN_STATS_ACCURATE {\"COLUMN_STATS\":{\"_c2\":\"true\",\"a\":\"true\",\"c\":\"true\"}}
bucketing_version 2
numFiles 2
numRows 2
- rawDataSize 248
+ rawDataSize 0
totalSize 736
transactional true
transactional_properties default
@@ -948,7 +948,7 @@ Table Parameters:
bucketing_version 2
numFiles 3
numRows 3
- rawDataSize 248
+ rawDataSize 0
totalSize 1508
transactional true
transactional_properties default
http://git-wip-us.apache.org/repos/asf/hive/blob/788daf60/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
index 99832ff..44eca6d 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
@@ -405,7 +405,7 @@ Table Parameters:
bucketing_version 2
numFiles 2
numRows 5
- rawDataSize 348
+ rawDataSize 0
totalSize 1071
transactional true
transactional_properties default