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 2017/12/01 23:38:51 UTC
hive git commit: HIVE-18163: Stats: create materialized view should
also collect stats (Zoltan Haindrich, reviewed by Jesus Camacho Rodriguez)
Repository: hive
Updated Branches:
refs/heads/master 5e939d404 -> 3df202f29
HIVE-18163: Stats: create materialized view should also collect stats (Zoltan Haindrich, reviewed by Jesus Camacho Rodriguez)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/3df202f2
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/3df202f2
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/3df202f2
Branch: refs/heads/master
Commit: 3df202f293b86227d6f8a26bfd24e90b92edb44b
Parents: 5e939d4
Author: Zoltan Haindrich <ki...@rxd.hu>
Authored: Fri Dec 1 15:37:43 2017 -0800
Committer: Jesus Camacho Rodriguez <jc...@apache.org>
Committed: Fri Dec 1 15:38:41 2017 -0800
----------------------------------------------------------------------
.../hadoop/hive/ql/QueryLifeTimeHookRunner.java | 3 +
.../org/apache/hadoop/hive/ql/exec/DDLTask.java | 32 ++--
.../MaterializedViewRegistryUpdateHook.java | 101 ++++++++++
.../metadata/HiveMaterializedViewsRegistry.java | 36 ++--
.../hadoop/hive/ql/plan/BasicStatsWork.java | 4 +-
.../clientpositive/materialized_view_create.q | 4 +
.../materialized_view_create_rewrite.q.out | 24 ++-
.../llap/materialized_view_create.q.out | 79 +++++++-
.../llap/materialized_view_create_rewrite.q.out | 8 +-
.../materialized_view_create_rewrite_2.q.out | 189 +++++--------------
...erialized_view_create_rewrite_multi_db.q.out | 8 +-
.../llap/materialized_view_describe.q.out | 20 +-
.../materialized_view_create.q.out | 79 +++++++-
.../materialized_view_create_rewrite.q.out | 24 ++-
.../materialized_view_create_rewrite_2.q.out | 50 ++---
.../materialized_view_create_rewrite_3.q.out | 16 +-
...erialized_view_create_rewrite_multi_db.q.out | 12 +-
.../materialized_view_describe.q.out | 20 +-
18 files changed, 454 insertions(+), 255 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/java/org/apache/hadoop/hive/ql/QueryLifeTimeHookRunner.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/QueryLifeTimeHookRunner.java b/ql/src/java/org/apache/hadoop/hive/ql/QueryLifeTimeHookRunner.java
index 85e038c..6bdf7eb 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/QueryLifeTimeHookRunner.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/QueryLifeTimeHookRunner.java
@@ -26,6 +26,7 @@ import com.google.common.collect.Iterables;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.hooks.HookContext;
import org.apache.hadoop.hive.ql.hooks.HooksLoader;
+import org.apache.hadoop.hive.ql.hooks.MaterializedViewRegistryUpdateHook;
import org.apache.hadoop.hive.ql.hooks.MetricsQueryLifeTimeHook;
import org.apache.hadoop.hive.ql.hooks.QueryLifeTimeHook;
import org.apache.hadoop.hive.ql.hooks.QueryLifeTimeHookContext;
@@ -59,6 +60,8 @@ class QueryLifeTimeHookRunner {
if (conf.getBoolVar(HiveConf.ConfVars.HIVE_SERVER2_METRICS_ENABLED)) {
queryHooks.add(new MetricsQueryLifeTimeHook());
}
+ queryHooks.add(new MaterializedViewRegistryUpdateHook());
+
List<QueryLifeTimeHook> propertyDefinedHoooks;
try {
propertyDefinedHoooks = hooksLoader.getHooks(
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
index 9184844..a3c21fb 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
@@ -964,16 +964,16 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
aliasToWork.put(mergeFilesDesc.getInputDir().toString(), mergeOp);
mergeWork.setAliasToWork(aliasToWork);
DriverContext driverCxt = new DriverContext();
- Task task;
+ Task<?> task;
if (conf.getVar(ConfVars.HIVE_EXECUTION_ENGINE).equals("tez")) {
TezWork tezWork = new TezWork(queryState.getQueryId(), conf);
mergeWork.setName("File Merge");
tezWork.add(mergeWork);
task = new TezTask();
- task.setWork(tezWork);
+ ((TezTask) task).setWork(tezWork);
} else {
task = new MergeFileTask();
- task.setWork(mergeWork);
+ ((MergeFileTask) task).setWork(mergeWork);
}
// initialize the task and execute
@@ -1369,12 +1369,6 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
try {
db.alterTable(mv, environmentContext);
- // Remove or add to materialized view rewriting cache
- if (alterMVDesc.isRewriteEnable()) {
- HiveMaterializedViewsRegistry.get().addMaterializedView(mv);
- } else {
- HiveMaterializedViewsRegistry.get().dropMaterializedView(oldMV);
- }
} catch (InvalidOperationException e) {
throw new HiveException(e, ErrorMsg.GENERIC_ERROR, "Unable to alter " + mv.getFullyQualifiedName());
}
@@ -4004,7 +3998,9 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
}
private void addChildTasks(List<Task<?>> extraTasks) {
- if (extraTasks == null) return;
+ if (extraTasks == null) {
+ return;
+ }
for (Task<?> newTask : extraTasks) {
addDependentTask(newTask);
}
@@ -4372,7 +4368,9 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
}
private void checkMmLb(Table tbl) throws HiveException {
- if (!tbl.isStoredAsSubDirectories()) return;
+ if (!tbl.isStoredAsSubDirectories()) {
+ return;
+ }
// TODO [MM gap?]: by design; no-one seems to use LB tables. They will work, but not convert.
// It's possible to work around this by re-creating and re-inserting the table.
throw new HiveException("Converting list bucketed tables stored as subdirectories "
@@ -4380,7 +4378,9 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
}
private void checkMmLb(Partition part) throws HiveException {
- if (!part.isStoredAsSubDirectories()) return;
+ if (!part.isStoredAsSubDirectories()) {
+ return;
+ }
throw new HiveException("Converting list bucketed tables stored as subdirectories "
+ " to MM is not supported. Please re-create a table in the desired format.");
}
@@ -4416,7 +4416,9 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
Utilities.FILE_OP_LOGGER.trace("Deleting " + what + " " + path);
}
try {
- if (!fs.delete(path, true)) throw new IOException("delete returned false");
+ if (!fs.delete(path, true)) {
+ throw new IOException("delete returned false");
+ }
} catch (Exception ex) {
String error = "Couldn't delete " + path + "; cannot remove MM setting from the table";
LOG.error(error, ex);
@@ -5124,10 +5126,6 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
// We create new view
Table tbl = crtView.toTable(conf);
db.createTable(tbl, crtView.getIfNotExists());
- // Add to cache if it is a materialized view
- if (tbl.isMaterializedView()) {
- HiveMaterializedViewsRegistry.get().addMaterializedView(tbl);
- }
addIfAbsentByName(new WriteEntity(tbl, WriteEntity.WriteType.DDL_NO_LOCK));
//set lineage info
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/java/org/apache/hadoop/hive/ql/hooks/MaterializedViewRegistryUpdateHook.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/hooks/MaterializedViewRegistryUpdateHook.java b/ql/src/java/org/apache/hadoop/hive/ql/hooks/MaterializedViewRegistryUpdateHook.java
new file mode 100644
index 0000000..a57e4c8
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/hooks/MaterializedViewRegistryUpdateHook.java
@@ -0,0 +1,101 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.hooks;
+
+import java.io.Serializable;
+import java.util.List;
+
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
+import org.apache.hadoop.hive.ql.exec.DDLTask;
+import org.apache.hadoop.hive.ql.exec.Task;
+import org.apache.hadoop.hive.ql.exec.TaskRunner;
+import org.apache.hadoop.hive.ql.hooks.QueryLifeTimeHook;
+import org.apache.hadoop.hive.ql.hooks.QueryLifeTimeHookContext;
+import org.apache.hadoop.hive.ql.metadata.Hive;
+import org.apache.hadoop.hive.ql.metadata.HiveException;
+import org.apache.hadoop.hive.ql.metadata.HiveMaterializedViewsRegistry;
+import org.apache.hadoop.hive.ql.metadata.Table;
+import org.apache.hadoop.hive.ql.plan.DDLWork;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Updates the materialized view registry after changes.
+ */
+public class MaterializedViewRegistryUpdateHook implements QueryLifeTimeHook {
+
+ private static final Logger LOG = LoggerFactory.getLogger(MaterializedViewRegistryUpdateHook.class);
+
+ @Override
+ public void beforeCompile(QueryLifeTimeHookContext ctx) {
+ }
+
+ @Override
+ public void afterCompile(QueryLifeTimeHookContext ctx, boolean hasError) {
+ }
+
+ @Override
+ public void beforeExecution(QueryLifeTimeHookContext ctx) {
+ }
+
+ @Override
+ public void afterExecution(QueryLifeTimeHookContext ctx, boolean hasError) {
+ if (hasError) {
+ return;
+ }
+ HiveConf hiveConf = ctx.getHiveConf();
+ try {
+ List<TaskRunner> completedTasks = ctx.getHookContext().getCompleteTaskList();
+ for (TaskRunner taskRunner : completedTasks) {
+ Task<? extends Serializable> task = taskRunner.getTask();
+ if (task instanceof DDLTask) {
+ DDLTask ddlTask = (DDLTask) task;
+ DDLWork work = ddlTask.getWork();
+ String tableName = null;
+ if (work.getCreateViewDesc() != null && work.getCreateViewDesc().isMaterialized()) {
+ tableName = work.getCreateViewDesc().toTable(hiveConf).getFullyQualifiedName();
+ }
+ if (work.getAlterMaterializedViewDesc() != null) {
+ tableName = work.getAlterMaterializedViewDesc().getMaterializedViewName();
+ }
+ if (tableName == null) {
+ continue;
+ }
+ Table mvTable = Hive.get().getTable(tableName);
+
+ if (mvTable.isRewriteEnabled()) {
+ HiveMaterializedViewsRegistry.get().addMaterializedView(mvTable);
+ } else {
+ HiveMaterializedViewsRegistry.get().dropMaterializedView(mvTable);
+ }
+ }
+ }
+ } catch (HiveException e) {
+ if (HiveConf.getBoolVar(hiveConf, ConfVars.HIVE_MATERIALIZED_VIEW_ENABLE_AUTO_REWRITING)) {
+ String message = "Error updating materialized view cache; consider disabling: " + ConfVars.HIVE_MATERIALIZED_VIEW_ENABLE_AUTO_REWRITING.varname;
+ LOG.error(message, e);
+ throw new RuntimeException(message, e);
+ }else {
+ LOG.debug("Exception during materialized view cache update", e);
+ }
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveMaterializedViewsRegistry.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveMaterializedViewsRegistry.java b/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveMaterializedViewsRegistry.java
index 51b6ef5..77a7b0f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveMaterializedViewsRegistry.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveMaterializedViewsRegistry.java
@@ -97,7 +97,6 @@ public final class HiveMaterializedViewsRegistry {
* Creation time is useful to ensure correctness in case multiple HS2 instances are used. */
private final ConcurrentMap<String, ConcurrentMap<ViewKey, RelOptMaterialization>> materializedViews =
new ConcurrentHashMap<String, ConcurrentMap<ViewKey, RelOptMaterialization>>();
- private final ExecutorService pool = Executors.newCachedThreadPool();
private HiveMaterializedViewsRegistry() {
}
@@ -118,10 +117,12 @@ public final class HiveMaterializedViewsRegistry {
*
* The loading process runs on the background; the method returns in the moment that the
* runnable task is created, thus the views will still not be loaded in the cache when
- * it does.
+ * it returns.
*/
public void init(final Hive db) {
+ ExecutorService pool = Executors.newCachedThreadPool();
pool.submit(new Loader(db));
+ pool.shutdown();
}
private class Loader implements Runnable {
@@ -152,11 +153,13 @@ public final class HiveMaterializedViewsRegistry {
*
* @param materializedViewTable the materialized view
*/
- public RelOptMaterialization addMaterializedView(Table materializedViewTable) {
+ public void addMaterializedView(Table materializedViewTable) {
// Bail out if it is not enabled for rewriting
if (!materializedViewTable.isRewriteEnabled()) {
- return null;
+ return;
}
+ materializedViewTable.getFullyQualifiedName();
+
ConcurrentMap<ViewKey, RelOptMaterialization> cq =
new ConcurrentHashMap<ViewKey, RelOptMaterialization>();
final ConcurrentMap<ViewKey, RelOptMaterialization> prevCq = materializedViews.putIfAbsent(
@@ -165,10 +168,9 @@ public final class HiveMaterializedViewsRegistry {
cq = prevCq;
}
// Bail out if it already exists
- final ViewKey vk = new ViewKey(
- materializedViewTable.getTableName(), materializedViewTable.getCreateTime());
+ final ViewKey vk = ViewKey.forTable(materializedViewTable);
if (cq.containsKey(vk)) {
- return null;
+ return;
}
// Add to cache
final String viewQuery = materializedViewTable.getViewExpandedText();
@@ -176,13 +178,13 @@ public final class HiveMaterializedViewsRegistry {
if (tableRel == null) {
LOG.warn("Materialized view " + materializedViewTable.getCompleteName() +
" ignored; error creating view replacement");
- return null;
+ return;
}
final RelNode queryRel = parseQuery(viewQuery);
if (queryRel == null) {
LOG.warn("Materialized view " + materializedViewTable.getCompleteName() +
" ignored; error parsing original query");
- return null;
+ return;
}
RelOptMaterialization materialization = new RelOptMaterialization(tableRel, queryRel,
null, tableRel.getTable().getQualifiedName());
@@ -190,7 +192,7 @@ public final class HiveMaterializedViewsRegistry {
if (LOG.isDebugEnabled()) {
LOG.debug("Cached materialized view for rewriting: " + tableRel.getTable().getQualifiedName());
}
- return materialization;
+ return;
}
/**
@@ -199,13 +201,11 @@ public final class HiveMaterializedViewsRegistry {
* @param materializedViewTable the materialized view to remove
*/
public void dropMaterializedView(Table materializedViewTable) {
- // Bail out if it is not enabled for rewriting
- if (!materializedViewTable.isRewriteEnabled()) {
- return;
+ final ViewKey vk = ViewKey.forTable(materializedViewTable);
+ ConcurrentMap<ViewKey, RelOptMaterialization> dbMap = materializedViews.get(materializedViewTable.getDbName());
+ if (dbMap != null) {
+ dbMap.remove(vk);
}
- final ViewKey vk = new ViewKey(
- materializedViewTable.getTableName(), materializedViewTable.getCreateTime());
- materializedViews.get(materializedViewTable.getDbName()).remove(vk);
}
/**
@@ -355,6 +355,10 @@ public final class HiveMaterializedViewsRegistry {
this.creationDate = creationTime;
}
+ public static ViewKey forTable(Table table) {
+ return new ViewKey(table.getTableName(), table.getCreateTime());
+ }
+
@Override
public boolean equals(Object obj) {
if(this == obj) {
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/java/org/apache/hadoop/hive/ql/plan/BasicStatsWork.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/BasicStatsWork.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/BasicStatsWork.java
index 26bb3e1..831ca9f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/BasicStatsWork.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/BasicStatsWork.java
@@ -179,9 +179,9 @@ public class BasicStatsWork implements Serializable {
if (getLoadFileDesc() != null && getLoadFileDesc().getCtasCreateTableDesc() != null) {
return true;
}
+ // CREATE MV ... AS
// ALTER MV ... REBUILD
- if (getLoadFileDesc() != null && getLoadFileDesc().getCreateViewDesc() != null &&
- getLoadFileDesc().getCreateViewDesc().isReplace()) {
+ if (getLoadFileDesc() != null && getLoadFileDesc().getCreateViewDesc() != null) {
return true;
}
return false;
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/test/queries/clientpositive/materialized_view_create.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/materialized_view_create.q b/ql/src/test/queries/clientpositive/materialized_view_create.q
index bb50dbb..030627a 100644
--- a/ql/src/test/queries/clientpositive/materialized_view_create.q
+++ b/ql/src/test/queries/clientpositive/materialized_view_create.q
@@ -4,10 +4,14 @@ insert into cmv_basetable values (1, 'alfred', 10.30),(2, 'bob', 3.14),(2, 'bonn
create materialized view cmv_mat_view as select a, b, c from cmv_basetable;
+desc formatted cmv_mat_view;
+
select * from cmv_mat_view;
create materialized view if not exists cmv_mat_view2 as select a, c from cmv_basetable;
+desc formatted cmv_mat_view2;
+
select * from cmv_mat_view2;
create materialized view if not exists cmv_mat_view3 as select * from cmv_basetable where a > 1;
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/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 aa3240c..6db9921 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
@@ -52,8 +52,10 @@ PREHOOK: query: show tblproperties cmv_mat_view
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
numFiles 1
+numRows 2
+rawDataSize 408
totalSize 453
#### A masked pattern was here ####
PREHOOK: query: create materialized view if not exists cmv_mat_view2 enable rewrite
@@ -82,8 +84,10 @@ PREHOOK: query: show tblproperties cmv_mat_view2
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view2
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
numFiles 1
+numRows 2
+rawDataSize 232
totalSize 322
#### A masked pattern was here ####
PREHOOK: query: explain
@@ -102,11 +106,11 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: default.cmv_mat_view2
- Statistics: Num rows: 2 Data size: 322 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: a (type: int), c (type: decimal(10,2))
outputColumnNames: _col0, _col1
- Statistics: Num rows: 2 Data size: 322 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
ListSink
PREHOOK: query: select a, c from cmv_basetable where a = 3
@@ -275,14 +279,14 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: default.cmv_mat_view2
- Statistics: Num rows: 2 Data size: 322 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: c (type: decimal(10,2))
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 322 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
sort order:
- Statistics: Num rows: 2 Data size: 322 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: decimal(10,2))
TableScan
alias: cmv_basetable
@@ -306,14 +310,14 @@ STAGE PLANS:
0
1
outputColumnNames: _col0, _col1
- Statistics: Num rows: 2 Data size: 356 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 266 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: 356 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 266 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 356 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 266 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/3df202f2/ql/src/test/results/clientpositive/llap/materialized_view_create.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create.q.out
index 9286183..5fd1535 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create.q.out
@@ -25,6 +25,44 @@ POSTHOOK: type: CREATE_MATERIALIZED_VIEW
POSTHOOK: Input: default@cmv_basetable
POSTHOOK: Output: database:default
POSTHOOK: Output: default@cmv_mat_view
+PREHOOK: query: desc formatted cmv_mat_view
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@cmv_mat_view
+POSTHOOK: query: desc formatted cmv_mat_view
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@cmv_mat_view
+# col_name data_type comment
+a int
+b varchar(256)
+c decimal(10,2)
+
+# Detailed Table Information
+Database: default
+#### A masked pattern was here ####
+Retention: 0
+#### A masked pattern was here ####
+Table Type: MATERIALIZED_VIEW
+Table Parameters:
+ COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
+ numFiles 1
+ numRows 5
+ rawDataSize 1025
+ totalSize 497
+#### 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: []
+
+# View Information
+View Original Text: select a, b, c from cmv_basetable
+View Expanded Text: select `cmv_basetable`.`a`, `cmv_basetable`.`b`, `cmv_basetable`.`c` from `default`.`cmv_basetable`
+View Rewrite Enabled: No
PREHOOK: query: select * from cmv_mat_view
PREHOOK: type: QUERY
PREHOOK: Input: default@cmv_mat_view
@@ -48,6 +86,43 @@ POSTHOOK: type: CREATE_MATERIALIZED_VIEW
POSTHOOK: Input: default@cmv_basetable
POSTHOOK: Output: database:default
POSTHOOK: Output: default@cmv_mat_view2
+PREHOOK: query: desc formatted cmv_mat_view2
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@cmv_mat_view2
+POSTHOOK: query: desc formatted cmv_mat_view2
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@cmv_mat_view2
+# col_name data_type comment
+a int
+c decimal(10,2)
+
+# Detailed Table Information
+Database: default
+#### A masked pattern was here ####
+Retention: 0
+#### A masked pattern was here ####
+Table Type: MATERIALIZED_VIEW
+Table Parameters:
+ COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
+ numFiles 1
+ numRows 5
+ rawDataSize 580
+ totalSize 346
+#### 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: []
+
+# View Information
+View Original Text: select a, c from cmv_basetable
+View Expanded Text: select `cmv_basetable`.`a`, `cmv_basetable`.`c` from `default`.`cmv_basetable`
+View Rewrite Enabled: No
PREHOOK: query: select * from cmv_mat_view2
PREHOOK: type: QUERY
PREHOOK: Input: default@cmv_mat_view2
@@ -160,9 +235,11 @@ PREHOOK: query: show tblproperties cmv_mat_view5
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view5
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
key value
numFiles 1
+numRows 5
+rawDataSize 1605
totalSize 710
#### A masked pattern was here ####
PREHOOK: query: drop materialized view cmv_mat_view
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite.q.out
index 8bebab4..14e42c4 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite.q.out
@@ -52,8 +52,10 @@ PREHOOK: query: show tblproperties cmv_mat_view
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
numFiles 1
+numRows 2
+rawDataSize 408
totalSize 453
#### A masked pattern was here ####
PREHOOK: query: create materialized view if not exists cmv_mat_view2 enable rewrite
@@ -82,8 +84,10 @@ PREHOOK: query: show tblproperties cmv_mat_view2
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view2
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
numFiles 1
+numRows 2
+rawDataSize 232
totalSize 322
#### A masked pattern was here ####
PREHOOK: query: explain
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_2.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_2.q.out
index 83ab742..fb3416d 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_2.q.out
@@ -240,7 +240,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: default.cmv_mat_view_3
- Statistics: Num rows: 1 Data size: 456 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3 Data size: 1368 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (c > 20) (type: boolean)
Statistics: Num rows: 1 Data size: 456 Basic stats: COMPLETE Column stats: NONE
@@ -332,21 +332,21 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: default.cmv_mat_view_4
- Statistics: Num rows: 2 Data size: 680 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1700 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: b (type: varchar(256))
outputColumnNames: b
- Statistics: Num rows: 2 Data size: 680 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1700 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: b (type: varchar(256))
mode: hash
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 680 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1700 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: varchar(256))
sort order: +
Map-reduce partition columns: _col0 (type: varchar(256))
- Statistics: Num rows: 2 Data size: 680 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1700 Basic stats: COMPLETE Column stats: NONE
Execution mode: llap
LLAP IO: all inputs
Reducer 2
@@ -356,10 +356,10 @@ STAGE PLANS:
keys: KEY._col0 (type: varchar(256))
mode: mergepartial
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 340 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 680 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 340 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 680 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -441,96 +441,21 @@ where cmv_basetable_2.c > 10.10
group by cmv_basetable.a, cmv_basetable_2.c
POSTHOOK: type: QUERY
STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-0 depends on stages: Stage-1
+ Stage-0 is a root stage
STAGE PLANS:
- Stage: Stage-1
- Tez
-#### A masked pattern was here ####
- Edges:
- Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
- Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-#### A masked pattern was here ####
- Vertices:
- Map 1
- Map Operator Tree:
- TableScan
- alias: default.cmv_mat_view_4
- Statistics: Num rows: 159 Data size: 612 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: a (type: int)
- sort order: +
- Map-reduce partition columns: a (type: int)
- Statistics: Num rows: 159 Data size: 612 Basic stats: COMPLETE Column stats: NONE
- Execution mode: llap
- LLAP IO: all inputs
- Map 4
- Map Operator Tree:
- TableScan
- alias: cmv_basetable_2
- Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: a (type: int)
- sort order: +
- Map-reduce partition columns: a (type: int)
- Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: c (type: decimal(10,2))
- Execution mode: llap
- LLAP IO: no inputs
- Reducer 2
- Execution mode: llap
- Reduce Operator Tree:
- Merge Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 a (type: int)
- 1 a (type: int)
- outputColumnNames: _col0, _col5, _col7
- Statistics: Num rows: 174 Data size: 673 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: ((_col0 = _col5) and (_col7 > 10.1)) (type: boolean)
- Statistics: Num rows: 29 Data size: 112 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col0 (type: int), _col7 (type: decimal(10,2))
- outputColumnNames: _col0, _col7
- Statistics: Num rows: 29 Data size: 112 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- keys: _col0 (type: int), _col7 (type: decimal(10,2))
- mode: hash
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 29 Data size: 112 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int), _col1 (type: decimal(10,2))
- sort order: ++
- Map-reduce partition columns: _col0 (type: int), _col1 (type: decimal(10,2))
- Statistics: Num rows: 29 Data size: 112 Basic stats: COMPLETE Column stats: NONE
- Reducer 3
- Execution mode: llap
- Reduce Operator Tree:
- Group By Operator
- keys: KEY._col0 (type: int), KEY._col1 (type: decimal(10,2))
- mode: mergepartial
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 14 Data size: 54 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col0 (type: int)
- outputColumnNames: _col0
- Statistics: Num rows: 14 Data size: 54 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- Statistics: Num rows: 14 Data size: 54 Basic stats: COMPLETE Column stats: NONE
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
Stage: Stage-0
Fetch Operator
limit: -1
Processor Tree:
- ListSink
+ TableScan
+ alias: default.cmv_mat_view_5
+ Filter Operator
+ predicate: (c > 10.1) (type: boolean)
+ Select Operator
+ expressions: a (type: int)
+ outputColumnNames: _col0
+ ListSink
PREHOOK: query: select cmv_basetable.a
from cmv_basetable join cmv_basetable_2 on (cmv_basetable.a = cmv_basetable_2.a)
@@ -539,7 +464,7 @@ group by cmv_basetable.a, cmv_basetable_2.c
PREHOOK: type: QUERY
PREHOOK: Input: default@cmv_basetable
PREHOOK: Input: default@cmv_basetable_2
-PREHOOK: Input: default@cmv_mat_view_4
+PREHOOK: Input: default@cmv_mat_view_5
#### A masked pattern was here ####
POSTHOOK: query: select cmv_basetable.a
from cmv_basetable join cmv_basetable_2 on (cmv_basetable.a = cmv_basetable_2.a)
@@ -548,7 +473,7 @@ group by cmv_basetable.a, cmv_basetable_2.c
POSTHOOK: type: QUERY
POSTHOOK: Input: default@cmv_basetable
POSTHOOK: Input: default@cmv_basetable_2
-POSTHOOK: Input: default@cmv_mat_view_4
+POSTHOOK: Input: default@cmv_mat_view_5
#### A masked pattern was here ####
3
1
@@ -573,74 +498,44 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
- Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
+ Reducer 2 <- Map 1 (SIMPLE_EDGE)
#### A masked pattern was here ####
Vertices:
Map 1
Map Operator Tree:
TableScan
- alias: default.cmv_mat_view_4
- Statistics: Num rows: 159 Data size: 612 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: a (type: int)
- sort order: +
- Map-reduce partition columns: a (type: int)
- Statistics: Num rows: 159 Data size: 612 Basic stats: COMPLETE Column stats: NONE
+ alias: default.cmv_mat_view_5
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (c > 10.1) (type: boolean)
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: a (type: int)
+ outputColumnNames: a
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ keys: a (type: int)
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 116 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: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
Execution mode: llap
LLAP IO: all inputs
- Map 4
- Map Operator Tree:
- TableScan
- alias: cmv_basetable_2
- Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: a (type: int)
- sort order: +
- Map-reduce partition columns: a (type: int)
- Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: c (type: decimal(10,2))
- Execution mode: llap
- LLAP IO: no inputs
Reducer 2
Execution mode: llap
Reduce Operator Tree:
- Merge Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 a (type: int)
- 1 a (type: int)
- outputColumnNames: _col0, _col5, _col7
- Statistics: Num rows: 174 Data size: 673 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: ((_col0 = _col5) and (_col7 > 10.1)) (type: boolean)
- Statistics: Num rows: 29 Data size: 112 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col0 (type: int)
- outputColumnNames: _col0
- Statistics: Num rows: 29 Data size: 112 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- keys: _col0 (type: int)
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 29 Data size: 112 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: 29 Data size: 112 Basic stats: COMPLETE Column stats: NONE
- Reducer 3
- Execution mode: llap
- Reduce Operator Tree:
Group By Operator
keys: KEY._col0 (type: int)
mode: mergepartial
outputColumnNames: _col0
- Statistics: Num rows: 14 Data size: 54 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 14 Data size: 54 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -659,7 +554,7 @@ group by cmv_basetable.a
PREHOOK: type: QUERY
PREHOOK: Input: default@cmv_basetable
PREHOOK: Input: default@cmv_basetable_2
-PREHOOK: Input: default@cmv_mat_view_4
+PREHOOK: Input: default@cmv_mat_view_5
#### A masked pattern was here ####
POSTHOOK: query: select cmv_basetable.a
from cmv_basetable join cmv_basetable_2 on (cmv_basetable.a = cmv_basetable_2.a)
@@ -668,7 +563,7 @@ group by cmv_basetable.a
POSTHOOK: type: QUERY
POSTHOOK: Input: default@cmv_basetable
POSTHOOK: Input: default@cmv_basetable_2
-POSTHOOK: Input: default@cmv_mat_view_4
+POSTHOOK: Input: default@cmv_mat_view_5
#### A masked pattern was here ####
1
3
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_multi_db.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_multi_db.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_multi_db.q.out
index e135785..3c02c2b 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_multi_db.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_multi_db.q.out
@@ -76,8 +76,10 @@ PREHOOK: query: show tblproperties cmv_mat_view
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
numFiles 1
+numRows 2
+rawDataSize 408
totalSize 453
#### A masked pattern was here ####
PREHOOK: query: create materialized view if not exists cmv_mat_view2 enable rewrite
@@ -106,8 +108,10 @@ PREHOOK: query: show tblproperties cmv_mat_view2
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view2
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
numFiles 1
+numRows 2
+rawDataSize 232
totalSize 322
#### A masked pattern was here ####
PREHOOK: query: create database db3
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/test/results/clientpositive/llap/materialized_view_describe.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_describe.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_describe.q.out
index 2be1536..31eb917 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_describe.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_describe.q.out
@@ -64,10 +64,12 @@ Retention: 0
#### A masked pattern was here ####
Table Type: MATERIALIZED_VIEW
Table Parameters:
- COLUMN_STATS_ACCURATE {}
+ COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
comment this is the first view
key foo
numFiles 1
+ numRows 5
+ rawDataSize 580
totalSize 346
#### A masked pattern was here ####
@@ -88,10 +90,12 @@ PREHOOK: query: show tblproperties cmv_mat_view
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
comment this is the first view
key foo
numFiles 1
+numRows 5
+rawDataSize 580
totalSize 346
#### A masked pattern was here ####
PREHOOK: query: select a, c from cmv_mat_view
@@ -147,11 +151,13 @@ Retention: 0
#### A masked pattern was here ####
Table Type: MATERIALIZED_VIEW
Table Parameters:
- COLUMN_STATS_ACCURATE {}
+ COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
comment this is the second view
key alice
key2 bob
numFiles 1
+ numRows 5
+ rawDataSize 5
totalSize 10
#### A masked pattern was here ####
@@ -225,9 +231,11 @@ Retention: 0
#### A masked pattern was here ####
Table Type: MATERIALIZED_VIEW
Table Parameters:
- COLUMN_STATS_ACCURATE {}
+ COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
comment this is the third view
numFiles 1
+ numRows 5
+ rawDataSize 1025
totalSize 497
#### A masked pattern was here ####
@@ -312,9 +320,11 @@ Retention: 0
#### A masked pattern was here ####
Table Type: MATERIALIZED_VIEW
Table Parameters:
- COLUMN_STATS_ACCURATE {}
+ COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
comment this is the last view
numFiles 1
+ numRows 5
+ rawDataSize 5
totalSize 10
#### A masked pattern was here ####
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/test/results/clientpositive/materialized_view_create.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/materialized_view_create.q.out b/ql/src/test/results/clientpositive/materialized_view_create.q.out
index 9286183..5fd1535 100644
--- a/ql/src/test/results/clientpositive/materialized_view_create.q.out
+++ b/ql/src/test/results/clientpositive/materialized_view_create.q.out
@@ -25,6 +25,44 @@ POSTHOOK: type: CREATE_MATERIALIZED_VIEW
POSTHOOK: Input: default@cmv_basetable
POSTHOOK: Output: database:default
POSTHOOK: Output: default@cmv_mat_view
+PREHOOK: query: desc formatted cmv_mat_view
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@cmv_mat_view
+POSTHOOK: query: desc formatted cmv_mat_view
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@cmv_mat_view
+# col_name data_type comment
+a int
+b varchar(256)
+c decimal(10,2)
+
+# Detailed Table Information
+Database: default
+#### A masked pattern was here ####
+Retention: 0
+#### A masked pattern was here ####
+Table Type: MATERIALIZED_VIEW
+Table Parameters:
+ COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
+ numFiles 1
+ numRows 5
+ rawDataSize 1025
+ totalSize 497
+#### 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: []
+
+# View Information
+View Original Text: select a, b, c from cmv_basetable
+View Expanded Text: select `cmv_basetable`.`a`, `cmv_basetable`.`b`, `cmv_basetable`.`c` from `default`.`cmv_basetable`
+View Rewrite Enabled: No
PREHOOK: query: select * from cmv_mat_view
PREHOOK: type: QUERY
PREHOOK: Input: default@cmv_mat_view
@@ -48,6 +86,43 @@ POSTHOOK: type: CREATE_MATERIALIZED_VIEW
POSTHOOK: Input: default@cmv_basetable
POSTHOOK: Output: database:default
POSTHOOK: Output: default@cmv_mat_view2
+PREHOOK: query: desc formatted cmv_mat_view2
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@cmv_mat_view2
+POSTHOOK: query: desc formatted cmv_mat_view2
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@cmv_mat_view2
+# col_name data_type comment
+a int
+c decimal(10,2)
+
+# Detailed Table Information
+Database: default
+#### A masked pattern was here ####
+Retention: 0
+#### A masked pattern was here ####
+Table Type: MATERIALIZED_VIEW
+Table Parameters:
+ COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
+ numFiles 1
+ numRows 5
+ rawDataSize 580
+ totalSize 346
+#### 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: []
+
+# View Information
+View Original Text: select a, c from cmv_basetable
+View Expanded Text: select `cmv_basetable`.`a`, `cmv_basetable`.`c` from `default`.`cmv_basetable`
+View Rewrite Enabled: No
PREHOOK: query: select * from cmv_mat_view2
PREHOOK: type: QUERY
PREHOOK: Input: default@cmv_mat_view2
@@ -160,9 +235,11 @@ PREHOOK: query: show tblproperties cmv_mat_view5
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view5
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
key value
numFiles 1
+numRows 5
+rawDataSize 1605
totalSize 710
#### A masked pattern was here ####
PREHOOK: query: drop materialized view cmv_mat_view
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/test/results/clientpositive/materialized_view_create_rewrite.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/materialized_view_create_rewrite.q.out b/ql/src/test/results/clientpositive/materialized_view_create_rewrite.q.out
index aa3240c..6db9921 100644
--- a/ql/src/test/results/clientpositive/materialized_view_create_rewrite.q.out
+++ b/ql/src/test/results/clientpositive/materialized_view_create_rewrite.q.out
@@ -52,8 +52,10 @@ PREHOOK: query: show tblproperties cmv_mat_view
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
numFiles 1
+numRows 2
+rawDataSize 408
totalSize 453
#### A masked pattern was here ####
PREHOOK: query: create materialized view if not exists cmv_mat_view2 enable rewrite
@@ -82,8 +84,10 @@ PREHOOK: query: show tblproperties cmv_mat_view2
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view2
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
numFiles 1
+numRows 2
+rawDataSize 232
totalSize 322
#### A masked pattern was here ####
PREHOOK: query: explain
@@ -102,11 +106,11 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: default.cmv_mat_view2
- Statistics: Num rows: 2 Data size: 322 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: a (type: int), c (type: decimal(10,2))
outputColumnNames: _col0, _col1
- Statistics: Num rows: 2 Data size: 322 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
ListSink
PREHOOK: query: select a, c from cmv_basetable where a = 3
@@ -275,14 +279,14 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: default.cmv_mat_view2
- Statistics: Num rows: 2 Data size: 322 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: c (type: decimal(10,2))
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 322 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
sort order:
- Statistics: Num rows: 2 Data size: 322 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: decimal(10,2))
TableScan
alias: cmv_basetable
@@ -306,14 +310,14 @@ STAGE PLANS:
0
1
outputColumnNames: _col0, _col1
- Statistics: Num rows: 2 Data size: 356 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 266 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: 356 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 266 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 356 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 266 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/3df202f2/ql/src/test/results/clientpositive/materialized_view_create_rewrite_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/materialized_view_create_rewrite_2.q.out b/ql/src/test/results/clientpositive/materialized_view_create_rewrite_2.q.out
index c4bee9c..3d3e05d 100644
--- a/ql/src/test/results/clientpositive/materialized_view_create_rewrite_2.q.out
+++ b/ql/src/test/results/clientpositive/materialized_view_create_rewrite_2.q.out
@@ -214,37 +214,37 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: default.cmv_mat_view_3
- Statistics: Num rows: 1 Data size: 483 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3 Data size: 618 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (c > 20) (type: boolean)
- Statistics: Num rows: 1 Data size: 483 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: a (type: int), b (type: varchar(256))
outputColumnNames: a, b
- Statistics: Num rows: 1 Data size: 483 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: a (type: int), b (type: varchar(256))
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 483 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int), _col1 (type: varchar(256))
sort order: ++
Map-reduce partition columns: _col0 (type: int), _col1 (type: varchar(256))
- Statistics: Num rows: 1 Data size: 483 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
Reduce Operator Tree:
Group By Operator
keys: KEY._col0 (type: int), KEY._col1 (type: varchar(256))
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 483 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col1 (type: varchar(256))
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 483 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 483 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -296,30 +296,30 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: default.cmv_mat_view_4
- Statistics: Num rows: 1 Data size: 342 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 465 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: b (type: varchar(256))
outputColumnNames: b
- Statistics: Num rows: 1 Data size: 342 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 465 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: b (type: varchar(256))
mode: hash
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 342 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 465 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: varchar(256))
sort order: +
Map-reduce partition columns: _col0 (type: varchar(256))
- Statistics: Num rows: 1 Data size: 342 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 5 Data size: 465 Basic stats: COMPLETE Column stats: NONE
Reduce Operator Tree:
Group By Operator
keys: KEY._col0 (type: varchar(256))
mode: mergepartial
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 342 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 186 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 342 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 186 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -410,17 +410,17 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: default.cmv_mat_view_5
- Statistics: Num rows: 2 Data size: 325 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (c > 10.1) (type: boolean)
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: a (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -474,33 +474,33 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: default.cmv_mat_view_5
- Statistics: Num rows: 2 Data size: 325 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (c > 10.1) (type: boolean)
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: a (type: int)
outputColumnNames: a
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: a (type: int)
mode: hash
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 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: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
Reduce Operator Tree:
Group By Operator
keys: KEY._col0 (type: int)
mode: mergepartial
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 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/3df202f2/ql/src/test/results/clientpositive/materialized_view_create_rewrite_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/materialized_view_create_rewrite_3.q.out b/ql/src/test/results/clientpositive/materialized_view_create_rewrite_3.q.out
index 9fd70b6..f1cf95b 100644
--- a/ql/src/test/results/clientpositive/materialized_view_create_rewrite_3.q.out
+++ b/ql/src/test/results/clientpositive/materialized_view_create_rewrite_3.q.out
@@ -216,17 +216,17 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: default.cmv_mat_view
- Statistics: Num rows: 2 Data size: 325 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (c > 10.1) (type: boolean)
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: a (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -292,17 +292,17 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: default.cmv_mat_view
- Statistics: Num rows: 2 Data size: 325 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (c > 10.1) (type: boolean)
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: a (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 162 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 116 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/3df202f2/ql/src/test/results/clientpositive/materialized_view_create_rewrite_multi_db.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/materialized_view_create_rewrite_multi_db.q.out b/ql/src/test/results/clientpositive/materialized_view_create_rewrite_multi_db.q.out
index a6d00db..cc901b8 100644
--- a/ql/src/test/results/clientpositive/materialized_view_create_rewrite_multi_db.q.out
+++ b/ql/src/test/results/clientpositive/materialized_view_create_rewrite_multi_db.q.out
@@ -76,8 +76,10 @@ PREHOOK: query: show tblproperties cmv_mat_view
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
numFiles 1
+numRows 2
+rawDataSize 408
totalSize 453
#### A masked pattern was here ####
PREHOOK: query: create materialized view if not exists cmv_mat_view2 enable rewrite
@@ -106,8 +108,10 @@ PREHOOK: query: show tblproperties cmv_mat_view2
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view2
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
numFiles 1
+numRows 2
+rawDataSize 232
totalSize 322
#### A masked pattern was here ####
PREHOOK: query: create database db3
@@ -138,11 +142,11 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: db2.cmv_mat_view2
- Statistics: Num rows: 2 Data size: 322 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: a (type: int), c (type: decimal(10,2))
outputColumnNames: _col0, _col1
- Statistics: Num rows: 2 Data size: 322 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
ListSink
PREHOOK: query: select a, c from db1.cmv_basetable where a = 3
http://git-wip-us.apache.org/repos/asf/hive/blob/3df202f2/ql/src/test/results/clientpositive/materialized_view_describe.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/materialized_view_describe.q.out b/ql/src/test/results/clientpositive/materialized_view_describe.q.out
index 2be1536..31eb917 100644
--- a/ql/src/test/results/clientpositive/materialized_view_describe.q.out
+++ b/ql/src/test/results/clientpositive/materialized_view_describe.q.out
@@ -64,10 +64,12 @@ Retention: 0
#### A masked pattern was here ####
Table Type: MATERIALIZED_VIEW
Table Parameters:
- COLUMN_STATS_ACCURATE {}
+ COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
comment this is the first view
key foo
numFiles 1
+ numRows 5
+ rawDataSize 580
totalSize 346
#### A masked pattern was here ####
@@ -88,10 +90,12 @@ PREHOOK: query: show tblproperties cmv_mat_view
PREHOOK: type: SHOW_TBLPROPERTIES
POSTHOOK: query: show tblproperties cmv_mat_view
POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE {}
+COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
comment this is the first view
key foo
numFiles 1
+numRows 5
+rawDataSize 580
totalSize 346
#### A masked pattern was here ####
PREHOOK: query: select a, c from cmv_mat_view
@@ -147,11 +151,13 @@ Retention: 0
#### A masked pattern was here ####
Table Type: MATERIALIZED_VIEW
Table Parameters:
- COLUMN_STATS_ACCURATE {}
+ COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
comment this is the second view
key alice
key2 bob
numFiles 1
+ numRows 5
+ rawDataSize 5
totalSize 10
#### A masked pattern was here ####
@@ -225,9 +231,11 @@ Retention: 0
#### A masked pattern was here ####
Table Type: MATERIALIZED_VIEW
Table Parameters:
- COLUMN_STATS_ACCURATE {}
+ COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
comment this is the third view
numFiles 1
+ numRows 5
+ rawDataSize 1025
totalSize 497
#### A masked pattern was here ####
@@ -312,9 +320,11 @@ Retention: 0
#### A masked pattern was here ####
Table Type: MATERIALIZED_VIEW
Table Parameters:
- COLUMN_STATS_ACCURATE {}
+ COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}
comment this is the last view
numFiles 1
+ numRows 5
+ rawDataSize 5
totalSize 10
#### A masked pattern was here ####