diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java index 77b3541..97da82c 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java @@ -54,8 +54,11 @@ import java.io.IOException; import java.net.URI; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; +import java.util.Map.Entry; /** * Hive specific implementation of alter @@ -88,6 +91,9 @@ public void alterTable(RawStore msdb, Warehouse wh, String dbname, public void alterTable(RawStore msdb, Warehouse wh, String dbname, String name, Table newt, EnvironmentContext environmentContext, HMSHandler handler) throws InvalidOperationException, MetaException { + name = name.toLowerCase(); + dbname = dbname.toLowerCase(); + final boolean cascade = environmentContext != null && environmentContext.isSetProperties() && StatsSetupConst.TRUE.equals(environmentContext.getProperties().get( @@ -96,9 +102,11 @@ public void alterTable(RawStore msdb, Warehouse wh, String dbname, throw new InvalidOperationException("New table is invalid: " + newt); } - if (!MetaStoreUtils.validateName(newt.getTableName(), hiveConf)) { - throw new InvalidOperationException(newt.getTableName() - + " is not a valid object name"); + String newTblName = newt.getTableName().toLowerCase(); + String newDbName = newt.getDbName().toLowerCase(); + + if (!MetaStoreUtils.validateName(newTblName, hiveConf)) { + throw new InvalidOperationException(newTblName + " is not a valid object name"); } String validate = MetaStoreUtils.validateTblColumns(newt.getSd().getCols()); if (validate != null) { @@ -112,7 +120,6 @@ public void alterTable(RawStore msdb, Warehouse wh, String dbname, boolean success = false; boolean dataWasMoved = false; - boolean rename = false; Table oldt = null; List transactionalListeners = null; if (handler != null) { @@ -120,26 +127,30 @@ public void alterTable(RawStore msdb, Warehouse wh, String dbname, } try { - msdb.openTransaction(); - name = name.toLowerCase(); - dbname = dbname.toLowerCase(); + boolean rename = false; + boolean isPartitionedTable = false; + List parts = null; // check if table with the new name already exists - if (!newt.getTableName().equalsIgnoreCase(name) - || !newt.getDbName().equalsIgnoreCase(dbname)) { - if (msdb.getTable(newt.getDbName(), newt.getTableName()) != null) { - throw new InvalidOperationException("new table " + newt.getDbName() - + "." + newt.getTableName() + " already exists"); + if (!newTblName.equals(name) || !newDbName.equals(dbname)) { + if (msdb.getTable(newDbName, newTblName) != null) { + throw new InvalidOperationException("new table " + newDbName + + "." + newTblName + " already exists"); } rename = true; } + msdb.openTransaction(); // get old table oldt = msdb.getTable(dbname, name); if (oldt == null) { throw new InvalidOperationException("table " + dbname + "." + name + " doesn't exist"); } + if (oldt.getPartitionKeysSize() != 0) { + isPartitionedTable = true; + } + if (HiveConf.getBoolVar(hiveConf, HiveConf.ConfVars.METASTORE_DISALLOW_INCOMPATIBLE_COL_TYPE_CHANGES, false)) { @@ -149,32 +160,14 @@ public void alterTable(RawStore msdb, Warehouse wh, String dbname, oldt.getSd().getCols(), newt.getSd().getCols()); } - if (cascade) { - //Currently only column related changes can be cascaded in alter table - if(MetaStoreUtils.isCascadeNeededInAlterTable(oldt, newt)) { - List parts = msdb.getPartitions(dbname, name, -1); - for (Partition part : parts) { - List oldCols = part.getSd().getCols(); - part.getSd().setCols(newt.getSd().getCols()); - String oldPartName = Warehouse.makePartName(oldt.getPartitionKeys(), part.getValues()); - updatePartColumnStatsForAlterColumns(msdb, part, oldPartName, part.getValues(), oldCols, part); - msdb.alterPartition(dbname, name, part.getValues(), part); - } - } else { - LOG.warn("Alter table does not cascade changes to its partitions."); - } - } - //check that partition keys have not changed, except for virtual views //however, allow the partition comments to change boolean partKeysPartiallyEqual = checkPartialPartKeysEqual(oldt.getPartitionKeys(), newt.getPartitionKeys()); if(!oldt.getTableType().equals(TableType.VIRTUAL_VIEW.toString())){ - if (oldt.getPartitionKeys().size() != newt.getPartitionKeys().size() - || !partKeysPartiallyEqual) { - throw new InvalidOperationException( - "partition keys can not be changed."); + if (!partKeysPartiallyEqual) { + throw new InvalidOperationException("partition keys can not be changed."); } } @@ -205,9 +198,9 @@ public void alterTable(RawStore msdb, Warehouse wh, String dbname, srcFs = wh.getFs(srcPath); // get new location - Database db = msdb.getDatabase(newt.getDbName()); + Database db = msdb.getDatabase(newDbName); Path databasePath = constructRenamedPath(wh.getDatabasePath(db), srcPath); - destPath = new Path(databasePath, newt.getTableName().toLowerCase()); + destPath = new Path(databasePath, newTblName); destFs = wh.getFs(destPath); newt.getSd().setLocation(destPath.toString()); @@ -224,8 +217,7 @@ public void alterTable(RawStore msdb, Warehouse wh, String dbname, try { if (destFs.exists(destPath)) { throw new InvalidOperationException("New location for this table " - + newt.getDbName() + "." + newt.getTableName() - + " already exists : " + destPath); + + newDbName + "." + newTblName + " already exists : " + destPath); } // check that src exists and also checks permissions necessary, rename src to dest if (srcFs.exists(srcPath) && srcFs.rename(srcPath, destPath)) { @@ -237,38 +229,78 @@ public void alterTable(RawStore msdb, Warehouse wh, String dbname, " failed to move data due to: '" + getSimpleMessage(e) + "' See hive log file for details."); } + } + + if (isPartitionedTable) { String oldTblLocPath = srcPath.toUri().getPath(); - String newTblLocPath = destPath.toUri().getPath(); + String newTblLocPath = dataWasMoved ? destPath.toUri().getPath() : null; // also the location field in partition - List parts = msdb.getPartitions(dbname, name, -1); + parts = msdb.getPartitions(dbname, name, -1); + Map columnStatsNeedUpdated = new HashMap(); for (Partition part : parts) { String oldPartLoc = part.getSd().getLocation(); - if (oldPartLoc.contains(oldTblLocPath)) { + if (dataWasMoved && oldPartLoc.contains(oldTblLocPath)) { URI oldUri = new Path(oldPartLoc).toUri(); String newPath = oldUri.getPath().replace(oldTblLocPath, newTblLocPath); Path newPartLocPath = new Path(oldUri.getScheme(), oldUri.getAuthority(), newPath); part.getSd().setLocation(newPartLocPath.toString()); - String oldPartName = Warehouse.makePartName(oldt.getPartitionKeys(), part.getValues()); - try { - //existing partition column stats is no longer valid, remove them - msdb.deletePartitionColumnStatistics(dbname, name, oldPartName, part.getValues(), null); - } catch (InvalidInputException iie) { - throw new InvalidOperationException("Unable to update partition stats in table rename." + iie); - } - msdb.alterPartition(dbname, name, part.getValues(), part); } + part.setDbName(newDbName); + part.setTableName(newTblName); + ColumnStatistics colStats = updateOrGetPartitionColumnStats(msdb, dbname, name, + part.getValues(), part.getSd().getCols(), oldt, part); + if (colStats != null) { + columnStatsNeedUpdated.put(part, colStats); + } + } + msdb.alterTable(dbname, name, newt); + // alterPartition is only for changing the partition location in the table rename + if (dataWasMoved) { + for (Partition part : parts) { + msdb.alterPartition(newDbName, newTblName, part.getValues(), part); + } + } + + for (Entry partColStats : columnStatsNeedUpdated.entrySet()) { + ColumnStatistics newPartColStats = partColStats.getValue(); + newPartColStats.getStatsDesc().setDbName(newDbName); + newPartColStats.getStatsDesc().setTableName(newTblName); + msdb.updatePartitionColumnStatistics(newPartColStats, partColStats.getKey().getValues()); } + } else { + alterTableUpdateTableColumnStats(msdb, oldt, newt); } - } else if (MetaStoreUtils.requireCalStats(hiveConf, null, null, newt, environmentContext) && - (newt.getPartitionKeysSize() == 0)) { - Database db = msdb.getDatabase(newt.getDbName()); - // Update table stats. For partitioned table, we update stats in - // alterPartition() + } else { + // operations other than table rename + if (MetaStoreUtils.requireCalStats(hiveConf, null, null, newt, environmentContext) && + !isPartitionedTable) { + Database db = msdb.getDatabase(newDbName); + // Update table stats. For partitioned table, we update stats in alterPartition() MetaStoreUtils.updateTableStatsFast(db, newt, wh, false, true, environmentContext); + } + + if (cascade && isPartitionedTable) { + //Currently only column related changes can be cascaded in alter table + if(!MetaStoreUtils.areSameColumns(oldt.getSd().getCols(), newt.getSd().getCols())) { + parts = msdb.getPartitions(dbname, name, -1); + for (Partition part : parts) { + List oldCols = part.getSd().getCols(); + part.getSd().setCols(newt.getSd().getCols()); + ColumnStatistics colStats = updateOrGetPartitionColumnStats(msdb, dbname, name, + part.getValues(), oldCols, oldt, part); + assert(colStats == null); + msdb.alterPartition(dbname, name, part.getValues(), part); + } + msdb.alterTable(dbname, name, newt); + } else { + LOG.warn("Alter table does not cascade changes to its partitions."); + } + } else { + alterTableUpdateTableColumnStats(msdb, oldt, newt); + } } - alterTableUpdateTableColumnStats(msdb, oldt, newt); if (transactionalListeners != null && !transactionalListeners.isEmpty()) { MetaStoreListenerNotifier.notifyEvent(transactionalListeners, EventMessage.EventType.ALTER_TABLE, @@ -282,6 +314,11 @@ public void alterTable(RawStore msdb, Warehouse wh, String dbname, throw new InvalidOperationException( "Unable to change partition or table." + " Check metastore logs for detailed stack." + e.getMessage()); + } catch (InvalidInputException e) { + LOG.debug("Accessing Metastore failed due to invalid input ", e); + throw new InvalidOperationException( + "Unable to change partition or table." + + " Check metastore logs for detailed stack." + e.getMessage()); } catch (NoSuchObjectException e) { LOG.debug("Object not found in metastore ", e); throw new InvalidOperationException( @@ -379,7 +416,8 @@ public Partition alterPartition(final RawStore msdb, Warehouse wh, final String } } - updatePartColumnStats(msdb, dbname, name, new_part.getValues(), new_part); + updateOrGetPartitionColumnStats(msdb, dbname, name, new_part.getValues(), + oldPart.getSd().getCols(), tbl, new_part); msdb.alterPartition(dbname, name, new_part.getValues(), new_part); if (transactionalListeners != null && !transactionalListeners.isEmpty()) { MetaStoreListenerNotifier.notifyEvent(transactionalListeners, @@ -608,7 +646,9 @@ public Partition alterPartition(final RawStore msdb, Warehouse wh, final String MetaStoreUtils.updatePartitionStatsFast(tmpPart, wh, false, true, environmentContext); } } - updatePartColumnStats(msdb, dbname, name, oldTmpPart.getValues(), tmpPart); + + updateOrGetPartitionColumnStats(msdb, dbname, name, oldTmpPart.getValues(), + oldTmpPart.getSd().getCols(), tbl, tmpPart); } msdb.alterPartitions(dbname, name, partValsList, new_parts); @@ -678,91 +718,8 @@ private Path constructRenamedPath(Path defaultNewPath, Path currentPath) { defaultNewPath.toUri().getPath()); } - private void updatePartColumnStatsForAlterColumns(RawStore msdb, Partition oldPartition, - String oldPartName, List partVals, List oldCols, Partition newPart) - throws MetaException, InvalidObjectException { - String dbName = oldPartition.getDbName(); - String tableName = oldPartition.getTableName(); - try { - List oldPartNames = Lists.newArrayList(oldPartName); - List oldColNames = new ArrayList(oldCols.size()); - for (FieldSchema oldCol : oldCols) { - oldColNames.add(oldCol.getName()); - } - List newCols = newPart.getSd().getCols(); - List partsColStats = msdb.getPartitionColumnStatistics(dbName, tableName, - oldPartNames, oldColNames); - assert (partsColStats.size() <= 1); - for (ColumnStatistics partColStats : partsColStats) { //actually only at most one loop - List statsObjs = partColStats.getStatsObj(); - List deletedCols = new ArrayList(); - for (ColumnStatisticsObj statsObj : statsObjs) { - boolean found =false; - for (FieldSchema newCol : newCols) { - if (statsObj.getColName().equalsIgnoreCase(newCol.getName()) - && statsObj.getColType().equalsIgnoreCase(newCol.getType())) { - found = true; - break; - } - } - if (!found) { - msdb.deletePartitionColumnStatistics(dbName, tableName, oldPartName, partVals, - statsObj.getColName()); - deletedCols.add(statsObj.getColName()); - } - } - StatsSetupConst.removeColumnStatsState(newPart.getParameters(), deletedCols); - } - } catch (NoSuchObjectException nsoe) { - LOG.debug("Could not find db entry." + nsoe); - //ignore - } catch (InvalidInputException iie) { - throw new InvalidObjectException - ("Invalid input to update partition column stats in alter table change columns" + iie); - } - } - - private void updatePartColumnStats(RawStore msdb, String dbName, String tableName, - List partVals, Partition newPart) throws MetaException, InvalidObjectException { - dbName = HiveStringUtils.normalizeIdentifier(dbName); - tableName = HiveStringUtils.normalizeIdentifier(tableName); - String newDbName = HiveStringUtils.normalizeIdentifier(newPart.getDbName()); - String newTableName = HiveStringUtils.normalizeIdentifier(newPart.getTableName()); - - Table oldTable = msdb.getTable(dbName, tableName); - if (oldTable == null) { - return; - } - - try { - String oldPartName = Warehouse.makePartName(oldTable.getPartitionKeys(), partVals); - String newPartName = Warehouse.makePartName(oldTable.getPartitionKeys(), newPart.getValues()); - if (!dbName.equals(newDbName) || !tableName.equals(newTableName) - || !oldPartName.equals(newPartName)) { - msdb.deletePartitionColumnStatistics(dbName, tableName, oldPartName, partVals, null); - } else { - Partition oldPartition = msdb.getPartition(dbName, tableName, partVals); - if (oldPartition == null) { - return; - } - if (oldPartition.getSd() != null && newPart.getSd() != null) { - List oldCols = oldPartition.getSd().getCols(); - if (!MetaStoreUtils.columnsIncluded(oldCols, newPart.getSd().getCols())) { - updatePartColumnStatsForAlterColumns(msdb, oldPartition, oldPartName, partVals, oldCols, newPart); - } - } - } - } catch (NoSuchObjectException nsoe) { - LOG.debug("Could not find db entry." + nsoe); - //ignore - } catch (InvalidInputException iie) { - throw new InvalidObjectException("Invalid input to update partition column stats." + iie); - } - } - @VisibleForTesting - void alterTableUpdateTableColumnStats(RawStore msdb, - Table oldTable, Table newTable) + void alterTableUpdateTableColumnStats(RawStore msdb, Table oldTable, Table newTable) throws MetaException, InvalidObjectException { String dbName = oldTable.getDbName().toLowerCase(); String tableName = HiveStringUtils.normalizeIdentifier(oldTable.getTableName()); @@ -839,4 +796,64 @@ void alterTableUpdateTableColumnStats(RawStore msdb, throw new InvalidObjectException("Invalid inputs to update table column stats: " + e); } } + + + private ColumnStatistics updateOrGetPartitionColumnStats( + RawStore msdb, String dbname, String tblname, List partVals, + List oldCols, Table table, Partition part) + throws MetaException, InvalidObjectException { + ColumnStatistics newPartsColStats = null; + try { + List newCols = part.getSd().getCols(); + String oldPartName = Warehouse.makePartName(table.getPartitionKeys(), partVals); + String newPartName = Warehouse.makePartName(table.getPartitionKeys(), part.getValues()); + boolean rename = !part.getDbName().equals(dbname) || !part.getTableName().equals(tblname) + || !oldPartName.equals(newPartName); + List oldColNames = new ArrayList(oldCols.size()); + for (FieldSchema oldCol : oldCols) { + oldColNames.add(oldCol.getName()); + } + List oldPartNames = Lists.newArrayList(oldPartName); + List partsColStats = msdb.getPartitionColumnStatistics(dbname, tblname, + oldPartNames, oldColNames); + assert (partsColStats.size() <= 1); + for (ColumnStatistics partColStats : partsColStats) { //actually only at most one loop + List newStatsObjs = new ArrayList(); + List statsObjs = partColStats.getStatsObj(); + List deletedCols = new ArrayList(); + for (ColumnStatisticsObj statsObj : statsObjs) { + boolean found =false; + for (FieldSchema newCol : newCols) { + if (statsObj.getColName().equalsIgnoreCase(newCol.getName()) + && statsObj.getColType().equalsIgnoreCase(newCol.getType())) { + found = true; + break; + } + } + if (found) { + if (rename) { + msdb.deletePartitionColumnStatistics(dbname, tblname, partColStats.getStatsDesc().getPartName(), + partVals, statsObj.getColName()); + newStatsObjs.add(statsObj); + } + } else { + msdb.deletePartitionColumnStatistics(dbname, tblname, partColStats.getStatsDesc().getPartName(), + partVals, statsObj.getColName()); + deletedCols.add(statsObj.getColName()); + } + } + StatsSetupConst.removeColumnStatsState(part.getParameters(), deletedCols); + if (!newStatsObjs.isEmpty()) { + partColStats.setStatsObj(newStatsObjs); + newPartsColStats = partColStats; + } + } + } catch (NoSuchObjectException nsoe) { + // ignore this exception, actually this exception won't be thrown from getPartitionColumnStatistics + } catch (InvalidInputException iie) { + throw new InvalidObjectException("Invalid input to delete partition column stats." + iie); + } + + return newPartsColStats; + } } diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java b/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java index 1b701e0..d67e03f 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java @@ -637,14 +637,6 @@ static void throwExceptionIfIncompatibleColTypeChange( } } - static boolean isCascadeNeededInAlterTable(Table oldTable, Table newTable) { - //currently cascade only supports add/replace columns and - //changing column type/position/name/comments - List oldCols = oldTable.getSd().getCols(); - List newCols = newTable.getSd().getCols(); - return !areSameColumns(oldCols, newCols); - } - static boolean areSameColumns(List oldCols, List newCols) { if (oldCols.size() != newCols.size()) { return false; diff --git a/ql/src/test/queries/clientpositive/alter_table_column_stats.q b/ql/src/test/queries/clientpositive/alter_table_column_stats.q new file mode 100644 index 0000000..39dfb0c --- /dev/null +++ b/ql/src/test/queries/clientpositive/alter_table_column_stats.q @@ -0,0 +1,241 @@ +set hive.mapred.mode=nonstrict; + +set hive.metastore.try.direct.sql=true; + +drop database if exists statsdb1; +create database statsdb1; +drop database if exists statsdb2; +create database statsdb2; + +create table statsdb1.testtable0 (col1 int, col2 string, col3 string); +insert into statsdb1.testtable0 select key, value, 'val3' from src limit 10; + +create table statsdb1.testpart0 (col1 int, col2 string, col3 string) partitioned by (part string); +insert into statsdb1.testpart0 partition (part = 'part1') select key, value, 'val3' from src limit 10; +insert into statsdb1.testpart0 partition (part = 'part2') select key, value, 'val3' from src limit 20; + +use statsdb1; +-- test non-partitioned table +analyze table testtable0 compute statistics for columns; +describe formatted statsdb1.testtable0; +describe formatted statsdb1.testtable0 col1; +describe formatted statsdb1.testtable0 col2; +describe formatted statsdb1.testtable0 col3; + +-- rename non-partitioned table should not change its table and columns stats +alter table statsdb1.testtable0 rename to statsdb1.testtable1; +describe formatted statsdb1.testtable1; +describe formatted statsdb1.testtable1 col1; +describe formatted statsdb1.testtable1 col2; +describe formatted statsdb1.testtable1 col3; + +-- when replacing columns in a non-partitioned table, the table stats should not change, +-- but the stats of the changed columns are removed +alter table testtable1 replace columns (col1 int, col2 string, col4 string); +describe formatted statsdb1.testtable1; +describe formatted statsdb1.testtable1 col1; +describe formatted statsdb1.testtable1 col2; +describe formatted statsdb1.testtable1 col4; + +-- when changing the column type in a non-partitioned table, the table stats should not change, +-- but the stats of the type-changed columns are removed +alter table testtable1 change col1 col1 string; +describe formatted statsdb1.testtable1; +describe formatted statsdb1.testtable1 col1; +describe formatted statsdb1.testtable1 col2; +describe formatted statsdb1.testtable1 col4; + +-- rename the db of a non-partitoned table, the table and columns stats should not change +alter table statsdb1.testtable1 rename to statsdb2.testtable2; +describe formatted statsdb2.testtable2; +describe formatted statsdb2.testtable2 col1; +describe formatted statsdb2.testtable2 col2; +describe formatted statsdb2.testtable2 col4; + +-- test partitioned table +analyze table testpart0 compute statistics for columns; +describe formatted statsdb1.testpart0; +describe formatted statsdb1.testpart0 partition (part = 'part1'); +describe formatted statsdb1.testpart0 partition (part = 'part1') col1; +describe formatted statsdb1.testpart0 partition (part = 'part1') col2; +describe formatted statsdb1.testpart0 partition (part = 'part1') col3; +describe formatted statsdb1.testpart0 partition (part = 'part2'); +describe formatted statsdb1.testpart0 partition (part = 'part2') col1; +describe formatted statsdb1.testpart0 partition (part = 'part2') col2; +describe formatted statsdb1.testpart0 partition (part = 'part2') col3; + +-- rename a partitioned table should not change its table, partition, and column stats +alter table statsdb1.testpart0 rename to statsdb1.testpart1; +describe formatted statsdb1.testpart1; +describe formatted statsdb1.testpart1 partition (part = 'part1'); +describe formatted statsdb1.testpart1 partition (part = 'part1') col1; +describe formatted statsdb1.testpart1 partition (part = 'part1') col2; +describe formatted statsdb1.testpart1 partition (part = 'part1') col3; +describe formatted statsdb1.testpart1 partition (part = 'part2'); +describe formatted statsdb1.testpart1 partition (part = 'part2') col1; +describe formatted statsdb1.testpart1 partition (part = 'part2') col2; +describe formatted statsdb1.testpart1 partition (part = 'part2') col3; + +-- when cascade replacing columns in a partitioned table, the table and partition stats should not change, +-- but the stats of the changed columns are removed +alter table statsdb1.testpart1 replace columns (col1 int, col2 string, col4 string) cascade; +describe formatted statsdb1.testpart1; +describe formatted statsdb1.testpart1 partition (part = 'part1'); +describe formatted statsdb1.testpart1 partition (part = 'part1') col1; +describe formatted statsdb1.testpart1 partition (part = 'part1') col2; +describe formatted statsdb1.testpart1 partition (part = 'part1') col4; +describe formatted statsdb1.testpart1 partition (part = 'part2'); +describe formatted statsdb1.testpart1 partition (part = 'part2') col1; +describe formatted statsdb1.testpart1 partition (part = 'part2') col2; +describe formatted statsdb1.testpart1 partition (part = 'part2') col4; + +-- when cascade changing the column type in a partitioned table, the table and partition stats should not change, +-- but the stats of the type-changed columns are removed +alter table statsdb1.testpart1 change column col1 col1 string cascade; +describe formatted statsdb1.testpart1; +describe formatted statsdb1.testpart1 partition (part = 'part1'); +describe formatted statsdb1.testpart1 partition (part = 'part1') col1; +describe formatted statsdb1.testpart1 partition (part = 'part1') col2; +describe formatted statsdb1.testpart1 partition (part = 'part1') col4; +describe formatted statsdb1.testpart1 partition (part = 'part2'); +describe formatted statsdb1.testpart1 partition (part = 'part2') col1; +describe formatted statsdb1.testpart1 partition (part = 'part2') col2; +describe formatted statsdb1.testpart1 partition (part = 'part2') col4; + +-- change database of a partition should not change table, partition and columns stats +alter table statsdb1.testpart1 rename to statsdb2.testpart2; +describe formatted statsdb2.testpart2; +describe formatted statsdb2.testpart2 partition (part = 'part1') col1; +describe formatted statsdb2.testpart2 partition (part = 'part1') col2; +describe formatted statsdb2.testpart2 partition (part = 'part1') col4; +describe formatted statsdb2.testpart2 partition (part = 'part2') col1; +describe formatted statsdb2.testpart2 partition (part = 'part2') col2; +describe formatted statsdb2.testpart2 partition (part = 'part2') col4; + +use statsdb2; +drop table statsdb2.testpart2; +drop table statsdb2.testtable2; + +use default; +drop database statsdb1; +drop database statsdb2; + +set hive.metastore.try.direct.sql=false; + +drop database if exists statsdb1; +create database statsdb1; +drop database if exists statsdb2; +create database statsdb2; + +create table statsdb1.testtable0 (col1 int, col2 string, col3 string); +insert into statsdb1.testtable0 select key, value, 'val3' from src limit 10; + +create table statsdb1.testpart0 (col1 int, col2 string, col3 string) partitioned by (part string); +insert into statsdb1.testpart0 partition (part = 'part1') select key, value, 'val3' from src limit 10; +insert into statsdb1.testpart0 partition (part = 'part2') select key, value, 'val3' from src limit 20; + +use statsdb1; +-- test non-partitioned table +analyze table testtable0 compute statistics for columns; +describe formatted statsdb1.testtable0; +describe formatted statsdb1.testtable0 col1; +describe formatted statsdb1.testtable0 col2; +describe formatted statsdb1.testtable0 col3; + +-- rename non-partitioned table should not change its table and columns stats +alter table statsdb1.testtable0 rename to statsdb1.testtable1; +describe formatted statsdb1.testtable1; +describe formatted statsdb1.testtable1 col1; +describe formatted statsdb1.testtable1 col2; +describe formatted statsdb1.testtable1 col3; + +-- when replacing columns in a non-partitioned table, the table stats should not change, +-- but the stats of the changed columns are removed +alter table testtable1 replace columns (col1 int, col2 string, col4 string); +describe formatted statsdb1.testtable1; +describe formatted statsdb1.testtable1 col1; +describe formatted statsdb1.testtable1 col2; +describe formatted statsdb1.testtable1 col4; + +-- when changing the column type in a non-partitioned table, the table stats should not change, +-- but the stats of the type-changed columns are removed +alter table testtable1 change col1 col1 string; +describe formatted statsdb1.testtable1; +describe formatted statsdb1.testtable1 col1; +describe formatted statsdb1.testtable1 col2; +describe formatted statsdb1.testtable1 col4; + +-- rename the db of a non-partitoned table, the table and columns stats should not change +alter table statsdb1.testtable1 rename to statsdb2.testtable2; +describe formatted statsdb2.testtable2; +describe formatted statsdb2.testtable2 col1; +describe formatted statsdb2.testtable2 col2; +describe formatted statsdb2.testtable2 col4; + +-- test partitioned table +analyze table testpart0 compute statistics for columns; +describe formatted statsdb1.testpart0; +describe formatted statsdb1.testpart0 partition (part = 'part1'); +describe formatted statsdb1.testpart0 partition (part = 'part1') col1; +describe formatted statsdb1.testpart0 partition (part = 'part1') col2; +describe formatted statsdb1.testpart0 partition (part = 'part1') col3; +describe formatted statsdb1.testpart0 partition (part = 'part2'); +describe formatted statsdb1.testpart0 partition (part = 'part2') col1; +describe formatted statsdb1.testpart0 partition (part = 'part2') col2; +describe formatted statsdb1.testpart0 partition (part = 'part2') col3; + +-- rename a partitioned table should not change its table, partition, and column stats +alter table statsdb1.testpart0 rename to statsdb1.testpart1; +describe formatted statsdb1.testpart1; +describe formatted statsdb1.testpart1 partition (part = 'part1'); +describe formatted statsdb1.testpart1 partition (part = 'part1') col1; +describe formatted statsdb1.testpart1 partition (part = 'part1') col2; +describe formatted statsdb1.testpart1 partition (part = 'part1') col3; +describe formatted statsdb1.testpart1 partition (part = 'part2'); +describe formatted statsdb1.testpart1 partition (part = 'part2') col1; +describe formatted statsdb1.testpart1 partition (part = 'part2') col2; +describe formatted statsdb1.testpart1 partition (part = 'part2') col3; + +-- when cascade replacing columns in a partitioned table, the table and partition stats should not change, +-- but the stats of the changed columns are removed +alter table statsdb1.testpart1 replace columns (col1 int, col2 string, col4 string) cascade; +describe formatted statsdb1.testpart1; +describe formatted statsdb1.testpart1 partition (part = 'part1'); +describe formatted statsdb1.testpart1 partition (part = 'part1') col1; +describe formatted statsdb1.testpart1 partition (part = 'part1') col2; +describe formatted statsdb1.testpart1 partition (part = 'part1') col4; +describe formatted statsdb1.testpart1 partition (part = 'part2'); +describe formatted statsdb1.testpart1 partition (part = 'part2') col1; +describe formatted statsdb1.testpart1 partition (part = 'part2') col2; +describe formatted statsdb1.testpart1 partition (part = 'part2') col4; + +-- when cascade changing the column type in a partitioned table, the table and partition stats should not change, +-- but the stats of the type-changed columns are removed +alter table statsdb1.testpart1 change column col1 col1 string cascade; +describe formatted statsdb1.testpart1; +describe formatted statsdb1.testpart1 partition (part = 'part1'); +describe formatted statsdb1.testpart1 partition (part = 'part1') col1; +describe formatted statsdb1.testpart1 partition (part = 'part1') col2; +describe formatted statsdb1.testpart1 partition (part = 'part1') col4; +describe formatted statsdb1.testpart1 partition (part = 'part2'); +describe formatted statsdb1.testpart1 partition (part = 'part2') col1; +describe formatted statsdb1.testpart1 partition (part = 'part2') col2; +describe formatted statsdb1.testpart1 partition (part = 'part2') col4; + +-- change database of a partition should not change table, partition and columns stats +alter table statsdb1.testpart1 rename to statsdb2.testpart2; +describe formatted statsdb2.testpart2; +describe formatted statsdb2.testpart2 partition (part = 'part1') col1; +describe formatted statsdb2.testpart2 partition (part = 'part1') col2; +describe formatted statsdb2.testpart2 partition (part = 'part1') col4; +describe formatted statsdb2.testpart2 partition (part = 'part2') col1; +describe formatted statsdb2.testpart2 partition (part = 'part2') col2; +describe formatted statsdb2.testpart2 partition (part = 'part2') col4; + +use statsdb2; +drop table statsdb2.testpart2; +drop table statsdb2.testtable2; + +use default; +drop database statsdb1; +drop database statsdb2; diff --git a/ql/src/test/queries/clientpositive/alter_table_invalidate_column_stats.q b/ql/src/test/queries/clientpositive/alter_table_invalidate_column_stats.q deleted file mode 100644 index a478451..0000000 --- a/ql/src/test/queries/clientpositive/alter_table_invalidate_column_stats.q +++ /dev/null @@ -1,153 +0,0 @@ -set hive.mapred.mode=nonstrict; -set hive.metastore.try.direct.sql=true; - -drop database if exists statsdb1; -create database statsdb1; -drop database if exists statsdb2; -create database statsdb2; - -create table statsdb1.testtable1 (col1 int, col2 string, col3 string); -insert into statsdb1.testtable1 select key, value, 'val3' from src limit 10; - -create table statsdb1.testpart1 (col1 int, col2 string, col3 string) partitioned by (part string); -insert into statsdb1.testpart1 partition (part = 'part1') select key, value, 'val3' from src limit 10; -insert into statsdb1.testpart1 partition (part = 'part2') select key, value, 'val3' from src limit 20; - -use statsdb1; - -analyze table testtable1 compute statistics for columns; - -describe formatted statsdb1.testtable1 col1; -describe formatted statsdb1.testtable1 col2; -describe formatted statsdb1.testtable1 col3; - -alter table testtable1 replace columns (col1 int, col2 string, col4 string); -describe formatted statsdb1.testtable1 col1; -describe formatted statsdb1.testtable1 col2; -describe formatted statsdb1.testtable1 col4; - -alter table testtable1 change col1 col1 string; -describe formatted statsdb1.testtable1 col1; -describe formatted statsdb1.testtable1 col2; -describe formatted statsdb1.testtable1 col4; - -alter table statsdb1.testtable1 rename to statsdb2.testtable2; - - -analyze table testpart1 compute statistics for columns; - -describe formatted statsdb1.testpart1 partition (part = 'part1') col1; -describe formatted statsdb1.testpart1 partition (part = 'part1') col2; -describe formatted statsdb1.testpart1 partition (part = 'part1') col3; -describe formatted statsdb1.testpart1 partition (part = 'part2') col1; -describe formatted statsdb1.testpart1 partition (part = 'part2') col2; -describe formatted statsdb1.testpart1 partition (part = 'part2') col3; - -alter table statsdb1.testpart1 partition (part = 'part2') rename to partition (part = 'part3'); -describe formatted statsdb1.testpart1 partition (part = 'part1') col1; -describe formatted statsdb1.testpart1 partition (part = 'part1') col2; -describe formatted statsdb1.testpart1 partition (part = 'part1') col3; -describe formatted statsdb1.testpart1 partition (part = 'part3') col1; -describe formatted statsdb1.testpart1 partition (part = 'part3') col2; -describe formatted statsdb1.testpart1 partition (part = 'part3') col3; - -alter table statsdb1.testpart1 replace columns (col1 int, col2 string, col4 string) cascade; -describe formatted statsdb1.testpart1 partition (part = 'part1') col1; -describe formatted statsdb1.testpart1 partition (part = 'part1') col2; -describe formatted statsdb1.testpart1 partition (part = 'part1') col4; - -alter table statsdb1.testpart1 change column col1 col1 string; -set hive.exec.dynamic.partition = true; -alter table statsdb1.testpart1 partition (part) change column col1 col1 string; -describe formatted statsdb1.testpart1 partition (part = 'part1') col1; -describe formatted statsdb1.testpart1 partition (part = 'part1') col2; -describe formatted statsdb1.testpart1 partition (part = 'part1') col4; - -alter table statsdb1.testpart1 rename to statsdb2.testpart2; -use statsdb2; - -alter table statsdb2.testpart2 drop partition (part = 'part1'); -drop table statsdb2.testpart2; - -drop table statsdb2.testtable2; - -use default; -drop database statsdb1; -drop database statsdb2; - - -set hive.metastore.try.direct.sql=false; - -drop database if exists statsdb1; -create database statsdb1; -drop database if exists statsdb2; -create database statsdb2; - -create table statsdb1.testtable1 (col1 int, col2 string, col3 string); -insert into statsdb1.testtable1 select key, value, 'val3' from src limit 10; - -create table statsdb1.testpart1 (col1 int, col2 string, col3 string) partitioned by (part string); -insert into statsdb1.testpart1 partition (part = 'part1') select key, value, 'val3' from src limit 10; -insert into statsdb1.testpart1 partition (part = 'part2') select key, value, 'val3' from src limit 20; - -use statsdb1; - -analyze table testtable1 compute statistics for columns; - -describe formatted statsdb1.testtable1 col1; -describe formatted statsdb1.testtable1 col2; -describe formatted statsdb1.testtable1 col3; - -alter table testtable1 replace columns (col1 int, col2 string, col4 string); -describe formatted statsdb1.testtable1 col1; -describe formatted statsdb1.testtable1 col2; -describe formatted statsdb1.testtable1 col4; - -alter table testtable1 change col1 col1 string; -describe formatted statsdb1.testtable1 col1; -describe formatted statsdb1.testtable1 col2; -describe formatted statsdb1.testtable1 col4; - -alter table statsdb1.testtable1 rename to statsdb2.testtable2; - - -analyze table testpart1 compute statistics for columns; - -describe formatted statsdb1.testpart1 partition (part = 'part1') col1; -describe formatted statsdb1.testpart1 partition (part = 'part1') col2; -describe formatted statsdb1.testpart1 partition (part = 'part1') col3; -describe formatted statsdb1.testpart1 partition (part = 'part2') col1; -describe formatted statsdb1.testpart1 partition (part = 'part2') col2; -describe formatted statsdb1.testpart1 partition (part = 'part2') col3; - -alter table statsdb1.testpart1 partition (part = 'part2') rename to partition (part = 'part3'); -describe formatted statsdb1.testpart1 partition (part = 'part1') col1; -describe formatted statsdb1.testpart1 partition (part = 'part1') col2; -describe formatted statsdb1.testpart1 partition (part = 'part1') col3; -describe formatted statsdb1.testpart1 partition (part = 'part3') col1; -describe formatted statsdb1.testpart1 partition (part = 'part3') col2; -describe formatted statsdb1.testpart1 partition (part = 'part3') col3; - -alter table statsdb1.testpart1 replace columns (col1 int, col2 string, col4 string) cascade; -describe formatted statsdb1.testpart1 partition (part = 'part1') col1; -describe formatted statsdb1.testpart1 partition (part = 'part1') col2; -describe formatted statsdb1.testpart1 partition (part = 'part1') col4; - -alter table statsdb1.testpart1 change column col1 col1 string; -set hive.exec.dynamic.partition = true; -alter table statsdb1.testpart1 partition (part) change column col1 col1 string; -describe formatted statsdb1.testpart1 partition (part = 'part1') col1; -describe formatted statsdb1.testpart1 partition (part = 'part1') col2; -describe formatted statsdb1.testpart1 partition (part = 'part1') col4; - -alter table statsdb1.testpart1 rename to statsdb2.testpart2; -use statsdb2; - -alter table statsdb2.testpart2 drop partition (part = 'part1'); -drop table statsdb2.testpart2; - -drop table statsdb2.testtable2; - -use default; -drop database statsdb1; -drop database statsdb2; diff --git a/ql/src/test/results/clientpositive/alter_table_column_stats.q.out b/ql/src/test/results/clientpositive/alter_table_column_stats.q.out new file mode 100644 index 0000000..8739bfe --- /dev/null +++ b/ql/src/test/results/clientpositive/alter_table_column_stats.q.out @@ -0,0 +1,2706 @@ +PREHOOK: query: drop database if exists statsdb1 +PREHOOK: type: DROPDATABASE +POSTHOOK: query: drop database if exists statsdb1 +POSTHOOK: type: DROPDATABASE +PREHOOK: query: create database statsdb1 +PREHOOK: type: CREATEDATABASE +PREHOOK: Output: database:statsdb1 +POSTHOOK: query: create database statsdb1 +POSTHOOK: type: CREATEDATABASE +POSTHOOK: Output: database:statsdb1 +PREHOOK: query: drop database if exists statsdb2 +PREHOOK: type: DROPDATABASE +POSTHOOK: query: drop database if exists statsdb2 +POSTHOOK: type: DROPDATABASE +PREHOOK: query: create database statsdb2 +PREHOOK: type: CREATEDATABASE +PREHOOK: Output: database:statsdb2 +POSTHOOK: query: create database statsdb2 +POSTHOOK: type: CREATEDATABASE +POSTHOOK: Output: database:statsdb2 +PREHOOK: query: create table statsdb1.testtable0 (col1 int, col2 string, col3 string) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:statsdb1 +PREHOOK: Output: statsdb1@testtable0 +POSTHOOK: query: create table statsdb1.testtable0 (col1 int, col2 string, col3 string) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:statsdb1 +POSTHOOK: Output: statsdb1@testtable0 +PREHOOK: query: insert into statsdb1.testtable0 select key, value, 'val3' from src limit 10 +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: statsdb1@testtable0 +POSTHOOK: query: insert into statsdb1.testtable0 select key, value, 'val3' from src limit 10 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: statsdb1@testtable0 +POSTHOOK: Lineage: testtable0.col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: testtable0.col2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: testtable0.col3 SIMPLE [] +PREHOOK: query: create table statsdb1.testpart0 (col1 int, col2 string, col3 string) partitioned by (part string) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:statsdb1 +PREHOOK: Output: statsdb1@testpart0 +POSTHOOK: query: create table statsdb1.testpart0 (col1 int, col2 string, col3 string) partitioned by (part string) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:statsdb1 +POSTHOOK: Output: statsdb1@testpart0 +PREHOOK: query: insert into statsdb1.testpart0 partition (part = 'part1') select key, value, 'val3' from src limit 10 +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: statsdb1@testpart0@part=part1 +POSTHOOK: query: insert into statsdb1.testpart0 partition (part = 'part1') select key, value, 'val3' from src limit 10 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: statsdb1@testpart0@part=part1 +POSTHOOK: Lineage: testpart0 PARTITION(part=part1).col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: testpart0 PARTITION(part=part1).col2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: testpart0 PARTITION(part=part1).col3 SIMPLE [] +PREHOOK: query: insert into statsdb1.testpart0 partition (part = 'part2') select key, value, 'val3' from src limit 20 +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: statsdb1@testpart0@part=part2 +POSTHOOK: query: insert into statsdb1.testpart0 partition (part = 'part2') select key, value, 'val3' from src limit 20 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: statsdb1@testpart0@part=part2 +POSTHOOK: Lineage: testpart0 PARTITION(part=part2).col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: testpart0 PARTITION(part=part2).col2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: testpart0 PARTITION(part=part2).col3 SIMPLE [] +PREHOOK: query: use statsdb1 +PREHOOK: type: SWITCHDATABASE +PREHOOK: Input: database:statsdb1 +POSTHOOK: query: use statsdb1 +POSTHOOK: type: SWITCHDATABASE +POSTHOOK: Input: database:statsdb1 +PREHOOK: query: analyze table testtable0 compute statistics for columns +PREHOOK: type: QUERY +PREHOOK: Input: statsdb1@testtable0 +#### A masked pattern was here #### +POSTHOOK: query: analyze table testtable0 compute statistics for columns +POSTHOOK: type: QUERY +POSTHOOK: Input: statsdb1@testtable0 +#### A masked pattern was here #### +PREHOOK: query: describe formatted statsdb1.testtable0 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable0 +POSTHOOK: query: describe formatted statsdb1.testtable0 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable0 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testtable0 col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable0 +POSTHOOK: query: describe formatted statsdb1.testtable0 col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 8 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable0 col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable0 +POSTHOOK: query: describe formatted statsdb1.testtable0 col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable0 col3 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable0 +POSTHOOK: query: describe formatted statsdb1.testtable0 col3 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col3 string 0 1 4.0 4 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +PREHOOK: query: alter table statsdb1.testtable0 rename to statsdb1.testtable1 +PREHOOK: type: ALTERTABLE_RENAME +PREHOOK: Input: statsdb1@testtable0 +PREHOOK: Output: statsdb1@testtable0 +POSTHOOK: query: alter table statsdb1.testtable0 rename to statsdb1.testtable1 +POSTHOOK: type: ALTERTABLE_RENAME +POSTHOOK: Input: statsdb1@testtable0 +POSTHOOK: Output: statsdb1@testtable0 +POSTHOOK: Output: statsdb1@testtable1 +PREHOOK: query: describe formatted statsdb1.testtable1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +#### A masked pattern was here #### + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testtable1 col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 8 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable1 col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable1 col3 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col3 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col3 string 0 1 4.0 4 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +PREHOOK: query: alter table testtable1 replace columns (col1 int, col2 string, col4 string) +PREHOOK: type: ALTERTABLE_REPLACECOLS +PREHOOK: Input: statsdb1@testtable1 +PREHOOK: Output: statsdb1@testtable1 +POSTHOOK: query: alter table testtable1 replace columns (col1 int, col2 string, col4 string) +POSTHOOK: type: ALTERTABLE_REPLACECOLS +POSTHOOK: Input: statsdb1@testtable1 +POSTHOOK: Output: statsdb1@testtable1 +PREHOOK: query: describe formatted statsdb1.testtable1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type comment + +col1 int +col2 string +col4 string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\"}} +#### A masked pattern was here #### + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testtable1 col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 8 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable1 col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable1 col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col4 string from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\"}} +PREHOOK: query: alter table testtable1 change col1 col1 string +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: statsdb1@testtable1 +PREHOOK: Output: statsdb1@testtable1 +POSTHOOK: query: alter table testtable1 change col1 col1 string +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: statsdb1@testtable1 +POSTHOOK: Output: statsdb1@testtable1 +PREHOOK: query: describe formatted statsdb1.testtable1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type comment + +col1 string +col2 string +col4 string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +#### A masked pattern was here #### + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testtable1 col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 string from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable1 col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable1 col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col4 string from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +PREHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2 +PREHOOK: type: ALTERTABLE_RENAME +PREHOOK: Input: statsdb1@testtable1 +PREHOOK: Output: statsdb1@testtable1 +POSTHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2 +POSTHOOK: type: ALTERTABLE_RENAME +POSTHOOK: Input: statsdb1@testtable1 +POSTHOOK: Output: statsdb1@testtable1 +POSTHOOK: Output: statsdb2@testtable2 +PREHOOK: query: describe formatted statsdb2.testtable2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testtable2 +POSTHOOK: query: describe formatted statsdb2.testtable2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testtable2 +# col_name data_type comment + +col1 string +col2 string +col4 string + +# Detailed Table Information +Database: statsdb2 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +#### A masked pattern was here #### + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb2.testtable2 col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testtable2 +POSTHOOK: query: describe formatted statsdb2.testtable2 col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testtable2 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 string from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +PREHOOK: query: describe formatted statsdb2.testtable2 col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testtable2 +POSTHOOK: query: describe formatted statsdb2.testtable2 col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testtable2 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +PREHOOK: query: describe formatted statsdb2.testtable2 col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testtable2 +POSTHOOK: query: describe formatted statsdb2.testtable2 col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testtable2 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col4 string from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +PREHOOK: query: analyze table testpart0 compute statistics for columns +PREHOOK: type: QUERY +PREHOOK: Input: statsdb1@testpart0 +PREHOOK: Input: statsdb1@testpart0@part=part1 +PREHOOK: Input: statsdb1@testpart0@part=part2 +#### A masked pattern was here #### +POSTHOOK: query: analyze table testpart0 compute statistics for columns +POSTHOOK: type: QUERY +POSTHOOK: Input: statsdb1@testpart0 +POSTHOOK: Input: statsdb1@testpart0@part=part1 +POSTHOOK: Input: statsdb1@testpart0@part=part2 +#### A masked pattern was here #### +PREHOOK: query: describe formatted statsdb1.testpart0 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"} + numFiles 2 + numPartitions 2 + numRows 30 + rawDataSize 466 + totalSize 496 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part1] +Database: statsdb1 +Table: testpart0 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 8 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') col3 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') col3 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col3 string 0 1 4.0 4 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part2] +Database: statsdb1 +Table: testpart0 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} + numFiles 1 + numRows 20 + rawDataSize 312 + totalSize 332 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 18 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 18 6.8 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') col3 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') col3 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col3 string 0 1 4.0 4 from deserializer +PREHOOK: query: alter table statsdb1.testpart0 rename to statsdb1.testpart1 +PREHOOK: type: ALTERTABLE_RENAME +PREHOOK: Input: statsdb1@testpart0 +PREHOOK: Output: statsdb1@testpart0 +POSTHOOK: query: alter table statsdb1.testpart0 rename to statsdb1.testpart1 +POSTHOOK: type: ALTERTABLE_RENAME +POSTHOOK: Input: statsdb1@testpart0 +POSTHOOK: Output: statsdb1@testpart0 +POSTHOOK: Output: statsdb1@testpart1 +PREHOOK: query: describe formatted statsdb1.testpart1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"} +#### A masked pattern was here #### + numFiles 2 + numPartitions 2 + numRows 30 + rawDataSize 466 + totalSize 496 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part1] +Database: statsdb1 +Table: testpart1 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 8 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col3 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col3 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col3 string 0 1 4.0 4 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part2] +Database: statsdb1 +Table: testpart1 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} + numFiles 1 + numRows 20 + rawDataSize 312 + totalSize 332 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 18 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 18 6.8 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col3 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col3 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col3 string 0 1 4.0 4 from deserializer +PREHOOK: query: alter table statsdb1.testpart1 replace columns (col1 int, col2 string, col4 string) cascade +PREHOOK: type: ALTERTABLE_REPLACECOLS +PREHOOK: Input: statsdb1@testpart1 +PREHOOK: Output: statsdb1@testpart1 +PREHOOK: Output: statsdb1@testpart1@part=part1 +PREHOOK: Output: statsdb1@testpart1@part=part2 +POSTHOOK: query: alter table statsdb1.testpart1 replace columns (col1 int, col2 string, col4 string) cascade +POSTHOOK: type: ALTERTABLE_REPLACECOLS +POSTHOOK: Input: statsdb1@testpart1 +POSTHOOK: Output: statsdb1@testpart1 +POSTHOOK: Output: statsdb1@testpart1@part=part1 +POSTHOOK: Output: statsdb1@testpart1@part=part2 +PREHOOK: query: describe formatted statsdb1.testpart1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 int +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"} +#### A masked pattern was here #### + numFiles 2 + numPartitions 2 + numRows 30 + rawDataSize 466 + totalSize 496 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 int +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part1] +Database: statsdb1 +Table: testpart1 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\"}} + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 8 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col4 string from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 int +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part2] +Database: statsdb1 +Table: testpart1 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\"}} + numFiles 1 + numRows 20 + rawDataSize 312 + totalSize 332 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 18 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 18 6.8 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col4 string from deserializer +PREHOOK: query: alter table statsdb1.testpart1 change column col1 col1 string cascade +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: statsdb1@testpart1 +PREHOOK: Output: statsdb1@testpart1 +PREHOOK: Output: statsdb1@testpart1@part=part1 +PREHOOK: Output: statsdb1@testpart1@part=part2 +POSTHOOK: query: alter table statsdb1.testpart1 change column col1 col1 string cascade +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: statsdb1@testpart1 +POSTHOOK: Output: statsdb1@testpart1 +POSTHOOK: Output: statsdb1@testpart1@part=part1 +POSTHOOK: Output: statsdb1@testpart1@part=part2 +PREHOOK: query: describe formatted statsdb1.testpart1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 string +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"} +#### A masked pattern was here #### + numFiles 2 + numPartitions 2 + numRows 30 + rawDataSize 466 + totalSize 496 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 string +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part1] +Database: statsdb1 +Table: testpart1 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 string from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col4 string from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 string +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part2] +Database: statsdb1 +Table: testpart1 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} + numFiles 1 + numRows 20 + rawDataSize 312 + totalSize 332 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 string from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 18 6.8 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col4 string from deserializer +PREHOOK: query: alter table statsdb1.testpart1 rename to statsdb2.testpart2 +PREHOOK: type: ALTERTABLE_RENAME +PREHOOK: Input: statsdb1@testpart1 +PREHOOK: Output: statsdb1@testpart1 +POSTHOOK: query: alter table statsdb1.testpart1 rename to statsdb2.testpart2 +POSTHOOK: type: ALTERTABLE_RENAME +POSTHOOK: Input: statsdb1@testpart1 +POSTHOOK: Output: statsdb1@testpart1 +POSTHOOK: Output: statsdb2@testpart2 +PREHOOK: query: describe formatted statsdb2.testpart2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type comment + +col1 string +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Table Information +Database: statsdb2 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"} +#### A masked pattern was here #### + numFiles 2 + numPartitions 2 + numRows 30 + rawDataSize 466 + totalSize 496 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part1') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part1') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type comment + +col1 string from deserializer +PREHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part1') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part1') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +PREHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part1') col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part1') col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type comment + +col4 string from deserializer +PREHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part2') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part2') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type comment + +col1 string from deserializer +PREHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part2') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part2') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 18 6.8 7 from deserializer +PREHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part2') col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part2') col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type comment + +col4 string from deserializer +PREHOOK: query: use statsdb2 +PREHOOK: type: SWITCHDATABASE +PREHOOK: Input: database:statsdb2 +POSTHOOK: query: use statsdb2 +POSTHOOK: type: SWITCHDATABASE +POSTHOOK: Input: database:statsdb2 +PREHOOK: query: drop table statsdb2.testpart2 +PREHOOK: type: DROPTABLE +PREHOOK: Input: statsdb2@testpart2 +PREHOOK: Output: statsdb2@testpart2 +POSTHOOK: query: drop table statsdb2.testpart2 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: statsdb2@testpart2 +POSTHOOK: Output: statsdb2@testpart2 +PREHOOK: query: drop table statsdb2.testtable2 +PREHOOK: type: DROPTABLE +PREHOOK: Input: statsdb2@testtable2 +PREHOOK: Output: statsdb2@testtable2 +POSTHOOK: query: drop table statsdb2.testtable2 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: statsdb2@testtable2 +POSTHOOK: Output: statsdb2@testtable2 +PREHOOK: query: use default +PREHOOK: type: SWITCHDATABASE +PREHOOK: Input: database:default +POSTHOOK: query: use default +POSTHOOK: type: SWITCHDATABASE +POSTHOOK: Input: database:default +PREHOOK: query: drop database statsdb1 +PREHOOK: type: DROPDATABASE +PREHOOK: Input: database:statsdb1 +PREHOOK: Output: database:statsdb1 +POSTHOOK: query: drop database statsdb1 +POSTHOOK: type: DROPDATABASE +POSTHOOK: Input: database:statsdb1 +POSTHOOK: Output: database:statsdb1 +PREHOOK: query: drop database statsdb2 +PREHOOK: type: DROPDATABASE +PREHOOK: Input: database:statsdb2 +PREHOOK: Output: database:statsdb2 +POSTHOOK: query: drop database statsdb2 +POSTHOOK: type: DROPDATABASE +POSTHOOK: Input: database:statsdb2 +POSTHOOK: Output: database:statsdb2 +PREHOOK: query: drop database if exists statsdb1 +PREHOOK: type: DROPDATABASE +POSTHOOK: query: drop database if exists statsdb1 +POSTHOOK: type: DROPDATABASE +PREHOOK: query: create database statsdb1 +PREHOOK: type: CREATEDATABASE +PREHOOK: Output: database:statsdb1 +POSTHOOK: query: create database statsdb1 +POSTHOOK: type: CREATEDATABASE +POSTHOOK: Output: database:statsdb1 +PREHOOK: query: drop database if exists statsdb2 +PREHOOK: type: DROPDATABASE +POSTHOOK: query: drop database if exists statsdb2 +POSTHOOK: type: DROPDATABASE +PREHOOK: query: create database statsdb2 +PREHOOK: type: CREATEDATABASE +PREHOOK: Output: database:statsdb2 +POSTHOOK: query: create database statsdb2 +POSTHOOK: type: CREATEDATABASE +POSTHOOK: Output: database:statsdb2 +PREHOOK: query: create table statsdb1.testtable0 (col1 int, col2 string, col3 string) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:statsdb1 +PREHOOK: Output: statsdb1@testtable0 +POSTHOOK: query: create table statsdb1.testtable0 (col1 int, col2 string, col3 string) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:statsdb1 +POSTHOOK: Output: statsdb1@testtable0 +PREHOOK: query: insert into statsdb1.testtable0 select key, value, 'val3' from src limit 10 +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: statsdb1@testtable0 +POSTHOOK: query: insert into statsdb1.testtable0 select key, value, 'val3' from src limit 10 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: statsdb1@testtable0 +POSTHOOK: Lineage: testtable0.col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: testtable0.col2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: testtable0.col3 SIMPLE [] +PREHOOK: query: create table statsdb1.testpart0 (col1 int, col2 string, col3 string) partitioned by (part string) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:statsdb1 +PREHOOK: Output: statsdb1@testpart0 +POSTHOOK: query: create table statsdb1.testpart0 (col1 int, col2 string, col3 string) partitioned by (part string) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:statsdb1 +POSTHOOK: Output: statsdb1@testpart0 +PREHOOK: query: insert into statsdb1.testpart0 partition (part = 'part1') select key, value, 'val3' from src limit 10 +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: statsdb1@testpart0@part=part1 +POSTHOOK: query: insert into statsdb1.testpart0 partition (part = 'part1') select key, value, 'val3' from src limit 10 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: statsdb1@testpart0@part=part1 +POSTHOOK: Lineage: testpart0 PARTITION(part=part1).col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: testpart0 PARTITION(part=part1).col2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: testpart0 PARTITION(part=part1).col3 SIMPLE [] +PREHOOK: query: insert into statsdb1.testpart0 partition (part = 'part2') select key, value, 'val3' from src limit 20 +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: statsdb1@testpart0@part=part2 +POSTHOOK: query: insert into statsdb1.testpart0 partition (part = 'part2') select key, value, 'val3' from src limit 20 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: statsdb1@testpart0@part=part2 +POSTHOOK: Lineage: testpart0 PARTITION(part=part2).col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: testpart0 PARTITION(part=part2).col2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: testpart0 PARTITION(part=part2).col3 SIMPLE [] +PREHOOK: query: use statsdb1 +PREHOOK: type: SWITCHDATABASE +PREHOOK: Input: database:statsdb1 +POSTHOOK: query: use statsdb1 +POSTHOOK: type: SWITCHDATABASE +POSTHOOK: Input: database:statsdb1 +PREHOOK: query: analyze table testtable0 compute statistics for columns +PREHOOK: type: QUERY +PREHOOK: Input: statsdb1@testtable0 +#### A masked pattern was here #### +POSTHOOK: query: analyze table testtable0 compute statistics for columns +POSTHOOK: type: QUERY +POSTHOOK: Input: statsdb1@testtable0 +#### A masked pattern was here #### +PREHOOK: query: describe formatted statsdb1.testtable0 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable0 +POSTHOOK: query: describe formatted statsdb1.testtable0 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable0 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testtable0 col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable0 +POSTHOOK: query: describe formatted statsdb1.testtable0 col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 8 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable0 col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable0 +POSTHOOK: query: describe formatted statsdb1.testtable0 col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable0 col3 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable0 +POSTHOOK: query: describe formatted statsdb1.testtable0 col3 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col3 string 0 1 4.0 4 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +PREHOOK: query: alter table statsdb1.testtable0 rename to statsdb1.testtable1 +PREHOOK: type: ALTERTABLE_RENAME +PREHOOK: Input: statsdb1@testtable0 +PREHOOK: Output: statsdb1@testtable0 +POSTHOOK: query: alter table statsdb1.testtable0 rename to statsdb1.testtable1 +POSTHOOK: type: ALTERTABLE_RENAME +POSTHOOK: Input: statsdb1@testtable0 +POSTHOOK: Output: statsdb1@testtable0 +POSTHOOK: Output: statsdb1@testtable1 +PREHOOK: query: describe formatted statsdb1.testtable1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +#### A masked pattern was here #### + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testtable1 col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 8 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable1 col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable1 col3 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col3 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col3 string 0 1 4.0 4 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} +PREHOOK: query: alter table testtable1 replace columns (col1 int, col2 string, col4 string) +PREHOOK: type: ALTERTABLE_REPLACECOLS +PREHOOK: Input: statsdb1@testtable1 +PREHOOK: Output: statsdb1@testtable1 +POSTHOOK: query: alter table testtable1 replace columns (col1 int, col2 string, col4 string) +POSTHOOK: type: ALTERTABLE_REPLACECOLS +POSTHOOK: Input: statsdb1@testtable1 +POSTHOOK: Output: statsdb1@testtable1 +PREHOOK: query: describe formatted statsdb1.testtable1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type comment + +col1 int +col2 string +col4 string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\"}} +#### A masked pattern was here #### + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testtable1 col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 8 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable1 col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable1 col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col4 string from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\"}} +PREHOOK: query: alter table testtable1 change col1 col1 string +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: statsdb1@testtable1 +PREHOOK: Output: statsdb1@testtable1 +POSTHOOK: query: alter table testtable1 change col1 col1 string +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: statsdb1@testtable1 +POSTHOOK: Output: statsdb1@testtable1 +PREHOOK: query: describe formatted statsdb1.testtable1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type comment + +col1 string +col2 string +col4 string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +#### A masked pattern was here #### + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testtable1 col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 string from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable1 col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +PREHOOK: query: describe formatted statsdb1.testtable1 col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testtable1 +POSTHOOK: query: describe formatted statsdb1.testtable1 col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testtable1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col4 string from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +PREHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2 +PREHOOK: type: ALTERTABLE_RENAME +PREHOOK: Input: statsdb1@testtable1 +PREHOOK: Output: statsdb1@testtable1 +POSTHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2 +POSTHOOK: type: ALTERTABLE_RENAME +POSTHOOK: Input: statsdb1@testtable1 +POSTHOOK: Output: statsdb1@testtable1 +POSTHOOK: Output: statsdb2@testtable2 +PREHOOK: query: describe formatted statsdb2.testtable2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testtable2 +POSTHOOK: query: describe formatted statsdb2.testtable2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testtable2 +# col_name data_type comment + +col1 string +col2 string +col4 string + +# Detailed Table Information +Database: statsdb2 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +#### A masked pattern was here #### + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb2.testtable2 col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testtable2 +POSTHOOK: query: describe formatted statsdb2.testtable2 col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testtable2 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 string from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +PREHOOK: query: describe formatted statsdb2.testtable2 col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testtable2 +POSTHOOK: query: describe formatted statsdb2.testtable2 col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testtable2 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +PREHOOK: query: describe formatted statsdb2.testtable2 col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testtable2 +POSTHOOK: query: describe formatted statsdb2.testtable2 col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testtable2 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col4 string from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} +PREHOOK: query: analyze table testpart0 compute statistics for columns +PREHOOK: type: QUERY +PREHOOK: Input: statsdb1@testpart0 +PREHOOK: Input: statsdb1@testpart0@part=part1 +PREHOOK: Input: statsdb1@testpart0@part=part2 +#### A masked pattern was here #### +POSTHOOK: query: analyze table testpart0 compute statistics for columns +POSTHOOK: type: QUERY +POSTHOOK: Input: statsdb1@testpart0 +POSTHOOK: Input: statsdb1@testpart0@part=part1 +POSTHOOK: Input: statsdb1@testpart0@part=part2 +#### A masked pattern was here #### +PREHOOK: query: describe formatted statsdb1.testpart0 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"} + numFiles 2 + numPartitions 2 + numRows 30 + rawDataSize 466 + totalSize 496 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part1] +Database: statsdb1 +Table: testpart0 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 8 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') col3 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part1') col3 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col3 string 0 1 4.0 4 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part2] +Database: statsdb1 +Table: testpart0 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} + numFiles 1 + numRows 20 + rawDataSize 312 + totalSize 332 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 18 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 18 6.8 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') col3 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart0 +POSTHOOK: query: describe formatted statsdb1.testpart0 partition (part = 'part2') col3 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart0 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col3 string 0 1 4.0 4 from deserializer +PREHOOK: query: alter table statsdb1.testpart0 rename to statsdb1.testpart1 +PREHOOK: type: ALTERTABLE_RENAME +PREHOOK: Input: statsdb1@testpart0 +PREHOOK: Output: statsdb1@testpart0 +POSTHOOK: query: alter table statsdb1.testpart0 rename to statsdb1.testpart1 +POSTHOOK: type: ALTERTABLE_RENAME +POSTHOOK: Input: statsdb1@testpart0 +POSTHOOK: Output: statsdb1@testpart0 +POSTHOOK: Output: statsdb1@testpart1 +PREHOOK: query: describe formatted statsdb1.testpart1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"} +#### A masked pattern was here #### + numFiles 2 + numPartitions 2 + numRows 30 + rawDataSize 466 + totalSize 496 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part1] +Database: statsdb1 +Table: testpart1 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 8 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col3 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col3 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col3 string 0 1 4.0 4 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 int +col2 string +col3 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part2] +Database: statsdb1 +Table: testpart1 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\",\"col3\":\"true\"}} + numFiles 1 + numRows 20 + rawDataSize 312 + totalSize 332 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 18 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 18 6.8 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col3 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col3 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col3 string 0 1 4.0 4 from deserializer +PREHOOK: query: alter table statsdb1.testpart1 replace columns (col1 int, col2 string, col4 string) cascade +PREHOOK: type: ALTERTABLE_REPLACECOLS +PREHOOK: Input: statsdb1@testpart1 +PREHOOK: Output: statsdb1@testpart1 +PREHOOK: Output: statsdb1@testpart1@part=part1 +PREHOOK: Output: statsdb1@testpart1@part=part2 +POSTHOOK: query: alter table statsdb1.testpart1 replace columns (col1 int, col2 string, col4 string) cascade +POSTHOOK: type: ALTERTABLE_REPLACECOLS +POSTHOOK: Input: statsdb1@testpart1 +POSTHOOK: Output: statsdb1@testpart1 +POSTHOOK: Output: statsdb1@testpart1@part=part1 +POSTHOOK: Output: statsdb1@testpart1@part=part2 +PREHOOK: query: describe formatted statsdb1.testpart1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 int +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"} +#### A masked pattern was here #### + numFiles 2 + numPartitions 2 + numRows 30 + rawDataSize 466 + totalSize 496 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 int +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part1] +Database: statsdb1 +Table: testpart1 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\"}} + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 8 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col4 string from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 int +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part2] +Database: statsdb1 +Table: testpart1 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"true\",\"col2\":\"true\"}} + numFiles 1 + numRows 20 + rawDataSize 312 + totalSize 332 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col1 int 27 484 0 18 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 18 6.8 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col4 string from deserializer +PREHOOK: query: alter table statsdb1.testpart1 change column col1 col1 string cascade +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: statsdb1@testpart1 +PREHOOK: Output: statsdb1@testpart1 +PREHOOK: Output: statsdb1@testpart1@part=part1 +PREHOOK: Output: statsdb1@testpart1@part=part2 +POSTHOOK: query: alter table statsdb1.testpart1 change column col1 col1 string cascade +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: statsdb1@testpart1 +POSTHOOK: Output: statsdb1@testpart1 +POSTHOOK: Output: statsdb1@testpart1@part=part1 +POSTHOOK: Output: statsdb1@testpart1@part=part2 +PREHOOK: query: describe formatted statsdb1.testpart1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 string +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Table Information +Database: statsdb1 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"} +#### A masked pattern was here #### + numFiles 2 + numPartitions 2 + numRows 30 + rawDataSize 466 + totalSize 496 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 string +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part1] +Database: statsdb1 +Table: testpart1 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} + numFiles 1 + numRows 10 + rawDataSize 154 + totalSize 164 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 string from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col4 string from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 string +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Partition Information +Partition Value: [part2] +Database: statsdb1 +Table: testpart1 +#### A masked pattern was here #### +Partition Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"true\"}} + numFiles 1 + numRows 20 + rawDataSize 312 + totalSize 332 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col1 string from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 18 6.8 7 from deserializer +PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb1@testpart1 +POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb1@testpart1 +# col_name data_type comment + +col4 string from deserializer +PREHOOK: query: alter table statsdb1.testpart1 rename to statsdb2.testpart2 +PREHOOK: type: ALTERTABLE_RENAME +PREHOOK: Input: statsdb1@testpart1 +PREHOOK: Output: statsdb1@testpart1 +POSTHOOK: query: alter table statsdb1.testpart1 rename to statsdb2.testpart2 +POSTHOOK: type: ALTERTABLE_RENAME +POSTHOOK: Input: statsdb1@testpart1 +POSTHOOK: Output: statsdb1@testpart1 +POSTHOOK: Output: statsdb2@testpart2 +PREHOOK: query: describe formatted statsdb2.testpart2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type comment + +col1 string +col2 string +col4 string + +# Partition Information +# col_name data_type comment + +part string + +# Detailed Table Information +Database: statsdb2 +#### A masked pattern was here #### +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"} +#### A masked pattern was here #### + numFiles 2 + numPartitions 2 + numRows 30 + rawDataSize 466 + totalSize 496 +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part1') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part1') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type comment + +col1 string from deserializer +PREHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part1') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part1') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 12 6.7 7 from deserializer +PREHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part1') col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part1') col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type comment + +col4 string from deserializer +PREHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part2') col1 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part2') col1 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type comment + +col1 string from deserializer +PREHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part2') col2 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part2') col2 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment + +col2 string 0 18 6.8 7 from deserializer +PREHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part2') col4 +PREHOOK: type: DESCTABLE +PREHOOK: Input: statsdb2@testpart2 +POSTHOOK: query: describe formatted statsdb2.testpart2 partition (part = 'part2') col4 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: statsdb2@testpart2 +# col_name data_type comment + +col4 string from deserializer +PREHOOK: query: use statsdb2 +PREHOOK: type: SWITCHDATABASE +PREHOOK: Input: database:statsdb2 +POSTHOOK: query: use statsdb2 +POSTHOOK: type: SWITCHDATABASE +POSTHOOK: Input: database:statsdb2 +PREHOOK: query: drop table statsdb2.testpart2 +PREHOOK: type: DROPTABLE +PREHOOK: Input: statsdb2@testpart2 +PREHOOK: Output: statsdb2@testpart2 +POSTHOOK: query: drop table statsdb2.testpart2 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: statsdb2@testpart2 +POSTHOOK: Output: statsdb2@testpart2 +PREHOOK: query: drop table statsdb2.testtable2 +PREHOOK: type: DROPTABLE +PREHOOK: Input: statsdb2@testtable2 +PREHOOK: Output: statsdb2@testtable2 +POSTHOOK: query: drop table statsdb2.testtable2 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: statsdb2@testtable2 +POSTHOOK: Output: statsdb2@testtable2 +PREHOOK: query: use default +PREHOOK: type: SWITCHDATABASE +PREHOOK: Input: database:default +POSTHOOK: query: use default +POSTHOOK: type: SWITCHDATABASE +POSTHOOK: Input: database:default +PREHOOK: query: drop database statsdb1 +PREHOOK: type: DROPDATABASE +PREHOOK: Input: database:statsdb1 +PREHOOK: Output: database:statsdb1 +POSTHOOK: query: drop database statsdb1 +POSTHOOK: type: DROPDATABASE +POSTHOOK: Input: database:statsdb1 +POSTHOOK: Output: database:statsdb1 +PREHOOK: query: drop database statsdb2 +PREHOOK: type: DROPDATABASE +PREHOOK: Input: database:statsdb2 +PREHOOK: Output: database:statsdb2 +POSTHOOK: query: drop database statsdb2 +POSTHOOK: type: DROPDATABASE +POSTHOOK: Input: database:statsdb2 +POSTHOOK: Output: database:statsdb2 diff --git a/ql/src/test/results/clientpositive/alter_table_invalidate_column_stats.q.out b/ql/src/test/results/clientpositive/alter_table_invalidate_column_stats.q.out deleted file mode 100644 index 85d7dc4..0000000 --- a/ql/src/test/results/clientpositive/alter_table_invalidate_column_stats.q.out +++ /dev/null @@ -1,932 +0,0 @@ -PREHOOK: query: drop database if exists statsdb1 -PREHOOK: type: DROPDATABASE -POSTHOOK: query: drop database if exists statsdb1 -POSTHOOK: type: DROPDATABASE -PREHOOK: query: create database statsdb1 -PREHOOK: type: CREATEDATABASE -PREHOOK: Output: database:statsdb1 -POSTHOOK: query: create database statsdb1 -POSTHOOK: type: CREATEDATABASE -POSTHOOK: Output: database:statsdb1 -PREHOOK: query: drop database if exists statsdb2 -PREHOOK: type: DROPDATABASE -POSTHOOK: query: drop database if exists statsdb2 -POSTHOOK: type: DROPDATABASE -PREHOOK: query: create database statsdb2 -PREHOOK: type: CREATEDATABASE -PREHOOK: Output: database:statsdb2 -POSTHOOK: query: create database statsdb2 -POSTHOOK: type: CREATEDATABASE -POSTHOOK: Output: database:statsdb2 -PREHOOK: query: create table statsdb1.testtable1 (col1 int, col2 string, col3 string) -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:statsdb1 -PREHOOK: Output: statsdb1@testtable1 -POSTHOOK: query: create table statsdb1.testtable1 (col1 int, col2 string, col3 string) -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:statsdb1 -POSTHOOK: Output: statsdb1@testtable1 -PREHOOK: query: insert into statsdb1.testtable1 select key, value, 'val3' from src limit 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Output: statsdb1@testtable1 -POSTHOOK: query: insert into statsdb1.testtable1 select key, value, 'val3' from src limit 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Output: statsdb1@testtable1 -POSTHOOK: Lineage: testtable1.col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: testtable1.col2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -POSTHOOK: Lineage: testtable1.col3 SIMPLE [] -PREHOOK: query: create table statsdb1.testpart1 (col1 int, col2 string, col3 string) partitioned by (part string) -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:statsdb1 -PREHOOK: Output: statsdb1@testpart1 -POSTHOOK: query: create table statsdb1.testpart1 (col1 int, col2 string, col3 string) partitioned by (part string) -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:statsdb1 -POSTHOOK: Output: statsdb1@testpart1 -PREHOOK: query: insert into statsdb1.testpart1 partition (part = 'part1') select key, value, 'val3' from src limit 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Output: statsdb1@testpart1@part=part1 -POSTHOOK: query: insert into statsdb1.testpart1 partition (part = 'part1') select key, value, 'val3' from src limit 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Output: statsdb1@testpart1@part=part1 -POSTHOOK: Lineage: testpart1 PARTITION(part=part1).col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: testpart1 PARTITION(part=part1).col2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -POSTHOOK: Lineage: testpart1 PARTITION(part=part1).col3 SIMPLE [] -PREHOOK: query: insert into statsdb1.testpart1 partition (part = 'part2') select key, value, 'val3' from src limit 20 -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Output: statsdb1@testpart1@part=part2 -POSTHOOK: query: insert into statsdb1.testpart1 partition (part = 'part2') select key, value, 'val3' from src limit 20 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Output: statsdb1@testpart1@part=part2 -POSTHOOK: Lineage: testpart1 PARTITION(part=part2).col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: testpart1 PARTITION(part=part2).col2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -POSTHOOK: Lineage: testpart1 PARTITION(part=part2).col3 SIMPLE [] -PREHOOK: query: use statsdb1 -PREHOOK: type: SWITCHDATABASE -PREHOOK: Input: database:statsdb1 -POSTHOOK: query: use statsdb1 -POSTHOOK: type: SWITCHDATABASE -POSTHOOK: Input: database:statsdb1 -PREHOOK: query: analyze table testtable1 compute statistics for columns -PREHOOK: type: QUERY -PREHOOK: Input: statsdb1@testtable1 -#### A masked pattern was here #### -POSTHOOK: query: analyze table testtable1 compute statistics for columns -POSTHOOK: type: QUERY -POSTHOOK: Input: statsdb1@testtable1 -#### A masked pattern was here #### -PREHOOK: query: describe formatted statsdb1.testtable1 col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 int 27 484 0 8 from deserializer -PREHOOK: query: describe formatted statsdb1.testtable1 col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testtable1 col3 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col3 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col3 string 0 1 4.0 4 from deserializer -PREHOOK: query: alter table testtable1 replace columns (col1 int, col2 string, col4 string) -PREHOOK: type: ALTERTABLE_REPLACECOLS -PREHOOK: Input: statsdb1@testtable1 -PREHOOK: Output: statsdb1@testtable1 -POSTHOOK: query: alter table testtable1 replace columns (col1 int, col2 string, col4 string) -POSTHOOK: type: ALTERTABLE_REPLACECOLS -POSTHOOK: Input: statsdb1@testtable1 -POSTHOOK: Output: statsdb1@testtable1 -PREHOOK: query: describe formatted statsdb1.testtable1 col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 int 27 484 0 8 from deserializer -PREHOOK: query: describe formatted statsdb1.testtable1 col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testtable1 col4 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col4 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col4 string from deserializer -PREHOOK: query: alter table testtable1 change col1 col1 string -PREHOOK: type: ALTERTABLE_RENAMECOL -PREHOOK: Input: statsdb1@testtable1 -PREHOOK: Output: statsdb1@testtable1 -POSTHOOK: query: alter table testtable1 change col1 col1 string -POSTHOOK: type: ALTERTABLE_RENAMECOL -POSTHOOK: Input: statsdb1@testtable1 -POSTHOOK: Output: statsdb1@testtable1 -PREHOOK: query: describe formatted statsdb1.testtable1 col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 string from deserializer -PREHOOK: query: describe formatted statsdb1.testtable1 col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testtable1 col4 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col4 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col4 string from deserializer -PREHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2 -PREHOOK: type: ALTERTABLE_RENAME -PREHOOK: Input: statsdb1@testtable1 -PREHOOK: Output: statsdb1@testtable1 -POSTHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2 -POSTHOOK: type: ALTERTABLE_RENAME -POSTHOOK: Input: statsdb1@testtable1 -POSTHOOK: Output: statsdb1@testtable1 -POSTHOOK: Output: statsdb2@testtable2 -PREHOOK: query: analyze table testpart1 compute statistics for columns -PREHOOK: type: QUERY -PREHOOK: Input: statsdb1@testpart1 -PREHOOK: Input: statsdb1@testpart1@part=part1 -PREHOOK: Input: statsdb1@testpart1@part=part2 -#### A masked pattern was here #### -POSTHOOK: query: analyze table testpart1 compute statistics for columns -POSTHOOK: type: QUERY -POSTHOOK: Input: statsdb1@testpart1 -POSTHOOK: Input: statsdb1@testpart1@part=part1 -POSTHOOK: Input: statsdb1@testpart1@part=part2 -#### A masked pattern was here #### -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 int 27 484 0 8 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col3 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col3 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col3 string 0 1 4.0 4 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 int 27 484 0 18 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 18 6.8 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col3 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col3 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col3 string 0 1 4.0 4 from deserializer -PREHOOK: query: alter table statsdb1.testpart1 partition (part = 'part2') rename to partition (part = 'part3') -PREHOOK: type: ALTERTABLE_RENAMEPART -PREHOOK: Input: statsdb1@testpart1 -PREHOOK: Output: statsdb1@testpart1@part=part2 -POSTHOOK: query: alter table statsdb1.testpart1 partition (part = 'part2') rename to partition (part = 'part3') -POSTHOOK: type: ALTERTABLE_RENAMEPART -POSTHOOK: Input: statsdb1@testpart1 -POSTHOOK: Input: statsdb1@testpart1@part=part2 -POSTHOOK: Output: statsdb1@testpart1@part=part2 -POSTHOOK: Output: statsdb1@testpart1@part=part3 -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 int 27 484 0 8 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col3 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col3 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col3 string 0 1 4.0 4 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part3') col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part3') col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type comment - -col1 int from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part3') col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part3') col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type comment - -col2 string from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part3') col3 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part3') col3 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type comment - -col3 string from deserializer -PREHOOK: query: alter table statsdb1.testpart1 replace columns (col1 int, col2 string, col4 string) cascade -PREHOOK: type: ALTERTABLE_REPLACECOLS -PREHOOK: Input: statsdb1@testpart1 -PREHOOK: Output: statsdb1@testpart1 -PREHOOK: Output: statsdb1@testpart1@part=part1 -PREHOOK: Output: statsdb1@testpart1@part=part3 -POSTHOOK: query: alter table statsdb1.testpart1 replace columns (col1 int, col2 string, col4 string) cascade -POSTHOOK: type: ALTERTABLE_REPLACECOLS -POSTHOOK: Input: statsdb1@testpart1 -POSTHOOK: Output: statsdb1@testpart1 -POSTHOOK: Output: statsdb1@testpart1@part=part1 -POSTHOOK: Output: statsdb1@testpart1@part=part3 -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 int 27 484 0 8 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type comment - -col4 string from deserializer -PREHOOK: query: alter table statsdb1.testpart1 change column col1 col1 string -PREHOOK: type: ALTERTABLE_RENAMECOL -PREHOOK: Input: statsdb1@testpart1 -PREHOOK: Output: statsdb1@testpart1 -POSTHOOK: query: alter table statsdb1.testpart1 change column col1 col1 string -POSTHOOK: type: ALTERTABLE_RENAMECOL -POSTHOOK: Input: statsdb1@testpart1 -POSTHOOK: Output: statsdb1@testpart1 -PREHOOK: query: alter table statsdb1.testpart1 partition (part) change column col1 col1 string -PREHOOK: type: ALTERTABLE_RENAMECOL -PREHOOK: Input: statsdb1@testpart1 -PREHOOK: Output: statsdb1@testpart1@part=part1 -PREHOOK: Output: statsdb1@testpart1@part=part3 -POSTHOOK: query: alter table statsdb1.testpart1 partition (part) change column col1 col1 string -POSTHOOK: type: ALTERTABLE_RENAMECOL -POSTHOOK: Input: statsdb1@testpart1 -POSTHOOK: Input: statsdb1@testpart1@part=part1 -POSTHOOK: Input: statsdb1@testpart1@part=part3 -POSTHOOK: Output: statsdb1@testpart1@part=part1 -POSTHOOK: Output: statsdb1@testpart1@part=part3 -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type comment - -col1 string from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type comment - -col4 string from deserializer -PREHOOK: query: alter table statsdb1.testpart1 rename to statsdb2.testpart2 -PREHOOK: type: ALTERTABLE_RENAME -PREHOOK: Input: statsdb1@testpart1 -PREHOOK: Output: statsdb1@testpart1 -POSTHOOK: query: alter table statsdb1.testpart1 rename to statsdb2.testpart2 -POSTHOOK: type: ALTERTABLE_RENAME -POSTHOOK: Input: statsdb1@testpart1 -POSTHOOK: Output: statsdb1@testpart1 -POSTHOOK: Output: statsdb2@testpart2 -PREHOOK: query: use statsdb2 -PREHOOK: type: SWITCHDATABASE -PREHOOK: Input: database:statsdb2 -POSTHOOK: query: use statsdb2 -POSTHOOK: type: SWITCHDATABASE -POSTHOOK: Input: database:statsdb2 -PREHOOK: query: alter table statsdb2.testpart2 drop partition (part = 'part1') -PREHOOK: type: ALTERTABLE_DROPPARTS -PREHOOK: Input: statsdb2@testpart2 -PREHOOK: Output: statsdb2@testpart2@part=part1 -POSTHOOK: query: alter table statsdb2.testpart2 drop partition (part = 'part1') -POSTHOOK: type: ALTERTABLE_DROPPARTS -POSTHOOK: Input: statsdb2@testpart2 -POSTHOOK: Output: statsdb2@testpart2@part=part1 -PREHOOK: query: drop table statsdb2.testpart2 -PREHOOK: type: DROPTABLE -PREHOOK: Input: statsdb2@testpart2 -PREHOOK: Output: statsdb2@testpart2 -POSTHOOK: query: drop table statsdb2.testpart2 -POSTHOOK: type: DROPTABLE -POSTHOOK: Input: statsdb2@testpart2 -POSTHOOK: Output: statsdb2@testpart2 -PREHOOK: query: drop table statsdb2.testtable2 -PREHOOK: type: DROPTABLE -PREHOOK: Input: statsdb2@testtable2 -PREHOOK: Output: statsdb2@testtable2 -POSTHOOK: query: drop table statsdb2.testtable2 -POSTHOOK: type: DROPTABLE -POSTHOOK: Input: statsdb2@testtable2 -POSTHOOK: Output: statsdb2@testtable2 -PREHOOK: query: use default -PREHOOK: type: SWITCHDATABASE -PREHOOK: Input: database:default -POSTHOOK: query: use default -POSTHOOK: type: SWITCHDATABASE -POSTHOOK: Input: database:default -PREHOOK: query: drop database statsdb1 -PREHOOK: type: DROPDATABASE -PREHOOK: Input: database:statsdb1 -PREHOOK: Output: database:statsdb1 -POSTHOOK: query: drop database statsdb1 -POSTHOOK: type: DROPDATABASE -POSTHOOK: Input: database:statsdb1 -POSTHOOK: Output: database:statsdb1 -PREHOOK: query: drop database statsdb2 -PREHOOK: type: DROPDATABASE -PREHOOK: Input: database:statsdb2 -PREHOOK: Output: database:statsdb2 -POSTHOOK: query: drop database statsdb2 -POSTHOOK: type: DROPDATABASE -POSTHOOK: Input: database:statsdb2 -POSTHOOK: Output: database:statsdb2 -PREHOOK: query: drop database if exists statsdb1 -PREHOOK: type: DROPDATABASE -POSTHOOK: query: drop database if exists statsdb1 -POSTHOOK: type: DROPDATABASE -PREHOOK: query: create database statsdb1 -PREHOOK: type: CREATEDATABASE -PREHOOK: Output: database:statsdb1 -POSTHOOK: query: create database statsdb1 -POSTHOOK: type: CREATEDATABASE -POSTHOOK: Output: database:statsdb1 -PREHOOK: query: drop database if exists statsdb2 -PREHOOK: type: DROPDATABASE -POSTHOOK: query: drop database if exists statsdb2 -POSTHOOK: type: DROPDATABASE -PREHOOK: query: create database statsdb2 -PREHOOK: type: CREATEDATABASE -PREHOOK: Output: database:statsdb2 -POSTHOOK: query: create database statsdb2 -POSTHOOK: type: CREATEDATABASE -POSTHOOK: Output: database:statsdb2 -PREHOOK: query: create table statsdb1.testtable1 (col1 int, col2 string, col3 string) -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:statsdb1 -PREHOOK: Output: statsdb1@testtable1 -POSTHOOK: query: create table statsdb1.testtable1 (col1 int, col2 string, col3 string) -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:statsdb1 -POSTHOOK: Output: statsdb1@testtable1 -PREHOOK: query: insert into statsdb1.testtable1 select key, value, 'val3' from src limit 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Output: statsdb1@testtable1 -POSTHOOK: query: insert into statsdb1.testtable1 select key, value, 'val3' from src limit 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Output: statsdb1@testtable1 -POSTHOOK: Lineage: testtable1.col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: testtable1.col2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -POSTHOOK: Lineage: testtable1.col3 SIMPLE [] -PREHOOK: query: create table statsdb1.testpart1 (col1 int, col2 string, col3 string) partitioned by (part string) -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:statsdb1 -PREHOOK: Output: statsdb1@testpart1 -POSTHOOK: query: create table statsdb1.testpart1 (col1 int, col2 string, col3 string) partitioned by (part string) -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:statsdb1 -POSTHOOK: Output: statsdb1@testpart1 -PREHOOK: query: insert into statsdb1.testpart1 partition (part = 'part1') select key, value, 'val3' from src limit 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Output: statsdb1@testpart1@part=part1 -POSTHOOK: query: insert into statsdb1.testpart1 partition (part = 'part1') select key, value, 'val3' from src limit 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Output: statsdb1@testpart1@part=part1 -POSTHOOK: Lineage: testpart1 PARTITION(part=part1).col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: testpart1 PARTITION(part=part1).col2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -POSTHOOK: Lineage: testpart1 PARTITION(part=part1).col3 SIMPLE [] -PREHOOK: query: insert into statsdb1.testpart1 partition (part = 'part2') select key, value, 'val3' from src limit 20 -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Output: statsdb1@testpart1@part=part2 -POSTHOOK: query: insert into statsdb1.testpart1 partition (part = 'part2') select key, value, 'val3' from src limit 20 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Output: statsdb1@testpart1@part=part2 -POSTHOOK: Lineage: testpart1 PARTITION(part=part2).col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: testpart1 PARTITION(part=part2).col2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -POSTHOOK: Lineage: testpart1 PARTITION(part=part2).col3 SIMPLE [] -PREHOOK: query: use statsdb1 -PREHOOK: type: SWITCHDATABASE -PREHOOK: Input: database:statsdb1 -POSTHOOK: query: use statsdb1 -POSTHOOK: type: SWITCHDATABASE -POSTHOOK: Input: database:statsdb1 -PREHOOK: query: analyze table testtable1 compute statistics for columns -PREHOOK: type: QUERY -PREHOOK: Input: statsdb1@testtable1 -#### A masked pattern was here #### -POSTHOOK: query: analyze table testtable1 compute statistics for columns -POSTHOOK: type: QUERY -POSTHOOK: Input: statsdb1@testtable1 -#### A masked pattern was here #### -PREHOOK: query: describe formatted statsdb1.testtable1 col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 int 27 484 0 8 from deserializer -PREHOOK: query: describe formatted statsdb1.testtable1 col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testtable1 col3 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col3 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col3 string 0 1 4.0 4 from deserializer -PREHOOK: query: alter table testtable1 replace columns (col1 int, col2 string, col4 string) -PREHOOK: type: ALTERTABLE_REPLACECOLS -PREHOOK: Input: statsdb1@testtable1 -PREHOOK: Output: statsdb1@testtable1 -POSTHOOK: query: alter table testtable1 replace columns (col1 int, col2 string, col4 string) -POSTHOOK: type: ALTERTABLE_REPLACECOLS -POSTHOOK: Input: statsdb1@testtable1 -POSTHOOK: Output: statsdb1@testtable1 -PREHOOK: query: describe formatted statsdb1.testtable1 col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 int 27 484 0 8 from deserializer -PREHOOK: query: describe formatted statsdb1.testtable1 col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testtable1 col4 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col4 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col4 string from deserializer -PREHOOK: query: alter table testtable1 change col1 col1 string -PREHOOK: type: ALTERTABLE_RENAMECOL -PREHOOK: Input: statsdb1@testtable1 -PREHOOK: Output: statsdb1@testtable1 -POSTHOOK: query: alter table testtable1 change col1 col1 string -POSTHOOK: type: ALTERTABLE_RENAMECOL -POSTHOOK: Input: statsdb1@testtable1 -POSTHOOK: Output: statsdb1@testtable1 -PREHOOK: query: describe formatted statsdb1.testtable1 col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 string from deserializer -PREHOOK: query: describe formatted statsdb1.testtable1 col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testtable1 col4 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testtable1 -POSTHOOK: query: describe formatted statsdb1.testtable1 col4 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testtable1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col4 string from deserializer -PREHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2 -PREHOOK: type: ALTERTABLE_RENAME -PREHOOK: Input: statsdb1@testtable1 -PREHOOK: Output: statsdb1@testtable1 -POSTHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2 -POSTHOOK: type: ALTERTABLE_RENAME -POSTHOOK: Input: statsdb1@testtable1 -POSTHOOK: Output: statsdb1@testtable1 -POSTHOOK: Output: statsdb2@testtable2 -PREHOOK: query: analyze table testpart1 compute statistics for columns -PREHOOK: type: QUERY -PREHOOK: Input: statsdb1@testpart1 -PREHOOK: Input: statsdb1@testpart1@part=part1 -PREHOOK: Input: statsdb1@testpart1@part=part2 -#### A masked pattern was here #### -POSTHOOK: query: analyze table testpart1 compute statistics for columns -POSTHOOK: type: QUERY -POSTHOOK: Input: statsdb1@testpart1 -POSTHOOK: Input: statsdb1@testpart1@part=part1 -POSTHOOK: Input: statsdb1@testpart1@part=part2 -#### A masked pattern was here #### -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 int 27 484 0 8 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col3 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col3 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col3 string 0 1 4.0 4 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 int 27 484 0 18 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 18 6.8 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col3 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part2') col3 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col3 string 0 1 4.0 4 from deserializer -PREHOOK: query: alter table statsdb1.testpart1 partition (part = 'part2') rename to partition (part = 'part3') -PREHOOK: type: ALTERTABLE_RENAMEPART -PREHOOK: Input: statsdb1@testpart1 -PREHOOK: Output: statsdb1@testpart1@part=part2 -POSTHOOK: query: alter table statsdb1.testpart1 partition (part = 'part2') rename to partition (part = 'part3') -POSTHOOK: type: ALTERTABLE_RENAMEPART -POSTHOOK: Input: statsdb1@testpart1 -POSTHOOK: Input: statsdb1@testpart1@part=part2 -POSTHOOK: Output: statsdb1@testpart1@part=part2 -POSTHOOK: Output: statsdb1@testpart1@part=part3 -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 int 27 484 0 8 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col3 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col3 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col3 string 0 1 4.0 4 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part3') col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part3') col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type comment - -col1 int from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part3') col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part3') col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type comment - -col2 string from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part3') col3 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part3') col3 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type comment - -col3 string from deserializer -PREHOOK: query: alter table statsdb1.testpart1 replace columns (col1 int, col2 string, col4 string) cascade -PREHOOK: type: ALTERTABLE_REPLACECOLS -PREHOOK: Input: statsdb1@testpart1 -PREHOOK: Output: statsdb1@testpart1 -PREHOOK: Output: statsdb1@testpart1@part=part1 -PREHOOK: Output: statsdb1@testpart1@part=part3 -POSTHOOK: query: alter table statsdb1.testpart1 replace columns (col1 int, col2 string, col4 string) cascade -POSTHOOK: type: ALTERTABLE_REPLACECOLS -POSTHOOK: Input: statsdb1@testpart1 -POSTHOOK: Output: statsdb1@testpart1 -POSTHOOK: Output: statsdb1@testpart1@part=part1 -POSTHOOK: Output: statsdb1@testpart1@part=part3 -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col1 int 27 484 0 8 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type comment - -col4 string from deserializer -PREHOOK: query: alter table statsdb1.testpart1 change column col1 col1 string -PREHOOK: type: ALTERTABLE_RENAMECOL -PREHOOK: Input: statsdb1@testpart1 -PREHOOK: Output: statsdb1@testpart1 -POSTHOOK: query: alter table statsdb1.testpart1 change column col1 col1 string -POSTHOOK: type: ALTERTABLE_RENAMECOL -POSTHOOK: Input: statsdb1@testpart1 -POSTHOOK: Output: statsdb1@testpart1 -PREHOOK: query: alter table statsdb1.testpart1 partition (part) change column col1 col1 string -PREHOOK: type: ALTERTABLE_RENAMECOL -PREHOOK: Input: statsdb1@testpart1 -PREHOOK: Output: statsdb1@testpart1@part=part1 -PREHOOK: Output: statsdb1@testpart1@part=part3 -POSTHOOK: query: alter table statsdb1.testpart1 partition (part) change column col1 col1 string -POSTHOOK: type: ALTERTABLE_RENAMECOL -POSTHOOK: Input: statsdb1@testpart1 -POSTHOOK: Input: statsdb1@testpart1@part=part1 -POSTHOOK: Input: statsdb1@testpart1@part=part3 -POSTHOOK: Output: statsdb1@testpart1@part=part1 -POSTHOOK: Output: statsdb1@testpart1@part=part3 -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col1 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type comment - -col1 string from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col2 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type min max num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment - -col2 string 0 12 6.7 7 from deserializer -PREHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 -PREHOOK: type: DESCTABLE -PREHOOK: Input: statsdb1@testpart1 -POSTHOOK: query: describe formatted statsdb1.testpart1 partition (part = 'part1') col4 -POSTHOOK: type: DESCTABLE -POSTHOOK: Input: statsdb1@testpart1 -# col_name data_type comment - -col4 string from deserializer -PREHOOK: query: alter table statsdb1.testpart1 rename to statsdb2.testpart2 -PREHOOK: type: ALTERTABLE_RENAME -PREHOOK: Input: statsdb1@testpart1 -PREHOOK: Output: statsdb1@testpart1 -POSTHOOK: query: alter table statsdb1.testpart1 rename to statsdb2.testpart2 -POSTHOOK: type: ALTERTABLE_RENAME -POSTHOOK: Input: statsdb1@testpart1 -POSTHOOK: Output: statsdb1@testpart1 -POSTHOOK: Output: statsdb2@testpart2 -PREHOOK: query: use statsdb2 -PREHOOK: type: SWITCHDATABASE -PREHOOK: Input: database:statsdb2 -POSTHOOK: query: use statsdb2 -POSTHOOK: type: SWITCHDATABASE -POSTHOOK: Input: database:statsdb2 -PREHOOK: query: alter table statsdb2.testpart2 drop partition (part = 'part1') -PREHOOK: type: ALTERTABLE_DROPPARTS -PREHOOK: Input: statsdb2@testpart2 -PREHOOK: Output: statsdb2@testpart2@part=part1 -POSTHOOK: query: alter table statsdb2.testpart2 drop partition (part = 'part1') -POSTHOOK: type: ALTERTABLE_DROPPARTS -POSTHOOK: Input: statsdb2@testpart2 -POSTHOOK: Output: statsdb2@testpart2@part=part1 -PREHOOK: query: drop table statsdb2.testpart2 -PREHOOK: type: DROPTABLE -PREHOOK: Input: statsdb2@testpart2 -PREHOOK: Output: statsdb2@testpart2 -POSTHOOK: query: drop table statsdb2.testpart2 -POSTHOOK: type: DROPTABLE -POSTHOOK: Input: statsdb2@testpart2 -POSTHOOK: Output: statsdb2@testpart2 -PREHOOK: query: drop table statsdb2.testtable2 -PREHOOK: type: DROPTABLE -PREHOOK: Input: statsdb2@testtable2 -PREHOOK: Output: statsdb2@testtable2 -POSTHOOK: query: drop table statsdb2.testtable2 -POSTHOOK: type: DROPTABLE -POSTHOOK: Input: statsdb2@testtable2 -POSTHOOK: Output: statsdb2@testtable2 -PREHOOK: query: use default -PREHOOK: type: SWITCHDATABASE -PREHOOK: Input: database:default -POSTHOOK: query: use default -POSTHOOK: type: SWITCHDATABASE -POSTHOOK: Input: database:default -PREHOOK: query: drop database statsdb1 -PREHOOK: type: DROPDATABASE -PREHOOK: Input: database:statsdb1 -PREHOOK: Output: database:statsdb1 -POSTHOOK: query: drop database statsdb1 -POSTHOOK: type: DROPDATABASE -POSTHOOK: Input: database:statsdb1 -POSTHOOK: Output: database:statsdb1 -PREHOOK: query: drop database statsdb2 -PREHOOK: type: DROPDATABASE -PREHOOK: Input: database:statsdb2 -PREHOOK: Output: database:statsdb2 -POSTHOOK: query: drop database statsdb2 -POSTHOOK: type: DROPDATABASE -POSTHOOK: Input: database:statsdb2 -POSTHOOK: Output: database:statsdb2