diff --git itests/src/test/resources/testconfiguration.properties itests/src/test/resources/testconfiguration.properties index eb7bcabe60..49acc01bb0 100644 --- itests/src/test/resources/testconfiguration.properties +++ itests/src/test/resources/testconfiguration.properties @@ -1023,7 +1023,8 @@ beeline.positive.include=create_merge_compressed.q,\ smb_mapjoin_3.q,\ smb_mapjoin_7.q,\ select_dummy_source.q,\ - udf_unix_timestamp.q + udf_unix_timestamp.q, \ + desc_table_test.q minimr.query.negative.files=cluster_tasklog_retrieval.q,\ file_with_header_footer_negative.q,\ diff --git ql/src/java/org/apache/hadoop/hive/ql/ddl/table/info/DescTableDesc.java ql/src/java/org/apache/hadoop/hive/ql/ddl/table/info/DescTableDesc.java index 3f0c699eb7..4080a8969e 100644 --- ql/src/java/org/apache/hadoop/hive/ql/ddl/table/info/DescTableDesc.java +++ ql/src/java/org/apache/hadoop/hive/ql/ddl/table/info/DescTableDesc.java @@ -33,13 +33,12 @@ public class DescTableDesc implements DDLDesc, Serializable { private static final long serialVersionUID = 1L; - private static final String SCHEMA = "col_name,data_type,comment#string:string:string"; - private static final String COL_STATS_SCHEMA = "col_name,data_type,min,max,num_nulls," + - "distinct_count,avg_col_len,max_col_len,num_trues,num_falses,bitVector,comment" + - "#string:string:string:string:string:string:string:string:string:string:string:string"; - public static String getSchema(boolean colStats) { - return colStats ? COL_STATS_SCHEMA : SCHEMA; - } + public static final String SCHEMA = "col_name,data_type,comment#string:string:string"; + public static final String COLUMN_STATISTICS_SCHEMA = "column_property,value#string:string"; + public static final String[] COLUMN_STATISTICS_HEADERS = new String[] { + "col_name", "data_type", "min", "max", "num_nulls", "distinct_count", "avg_col_len", "max_col_len", "num_trues", + "num_falses", "bit_vector", "comment" + }; private final String resFile; private final String tableName; diff --git ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/JsonMetaDataFormatter.java ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/JsonMetaDataFormatter.java index 78578dbc60..0b66b93a75 100644 --- ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/JsonMetaDataFormatter.java +++ ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/JsonMetaDataFormatter.java @@ -35,11 +35,13 @@ import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.metastore.TableType; +import org.apache.hadoop.hive.metastore.api.ColumnStatisticsData; import org.apache.hadoop.hive.metastore.api.ColumnStatisticsObj; import org.apache.hadoop.hive.metastore.api.FieldSchema; import org.apache.hadoop.hive.metastore.api.PrincipalType; @@ -188,7 +190,7 @@ public void describeTable(DataOutputStream out, String colPath, String tableName List cols, boolean isFormatted, boolean isExt, boolean isOutputPadded, List colStats) throws HiveException { MapBuilder builder = MapBuilder.create(); - builder.put("columns", makeColsUnformatted(cols)); + builder.put("columns", createColumnsInfo(cols, colStats)); if (isExt) { if (part != null) { @@ -223,20 +225,123 @@ public void describeTable(DataOutputStream out, String colPath, String tableName asJson(out, builder.build()); } - private List> makeColsUnformatted(List cols) { + private List> createColumnsInfo(List columns, + List columnStatisticsList) { ArrayList> res = new ArrayList>(); - for (FieldSchema col : cols) { - res.add(makeOneColUnformatted(col)); + for (FieldSchema column : columns) { + ColumnStatisticsData statistics = getStatistics(column, columnStatisticsList); + res.add(createColumnInfo(column, statistics)); } return res; } - private Map makeOneColUnformatted(FieldSchema col) { - return MapBuilder.create() - .put("name", col.getName()) - .put("type", col.getType()) - .put("comment", col.getComment()) + private ColumnStatisticsData getStatistics(FieldSchema column, List columnStatisticsList) { + for (ColumnStatisticsObj columnStatistics : columnStatisticsList) { + if (column.getName().equals(columnStatistics.getColName())) { + return columnStatistics.getStatsData(); + } + } + + return null; + } + + private Map createColumnInfo(FieldSchema column, ColumnStatisticsData statistics) { + Map result = MapBuilder.create() + .put("name", column.getName()) + .put("type", column.getType()) + .put("comment", column.getComment()) .build(); + + if (statistics != null) { + if (statistics.isSetBinaryStats()) { + if (statistics.getBinaryStats().isSetNumNulls()) { + result.put("numNulls", statistics.getBinaryStats().getNumNulls()); + } + if (statistics.getBinaryStats().isSetAvgColLen()) { + result.put("avgColLen", statistics.getBinaryStats().getAvgColLen()); + } + if (statistics.getBinaryStats().isSetMaxColLen()) { + result.put("maxColLen", statistics.getBinaryStats().getMaxColLen()); + } + } else if (statistics.isSetStringStats()) { + if (statistics.getStringStats().isSetNumNulls()) { + result.put("numNulls", statistics.getStringStats().getNumNulls()); + } + if (statistics.getStringStats().isSetNumDVs()) { + result.put("distinctCount", statistics.getStringStats().getNumDVs()); + } + if (statistics.getStringStats().isSetAvgColLen()) { + result.put("avgColLen", statistics.getStringStats().getAvgColLen()); + } + if (statistics.getStringStats().isSetMaxColLen()) { + result.put("maxColLen", statistics.getStringStats().getMaxColLen()); + } + } else if (statistics.isSetBooleanStats()) { + if (statistics.getBooleanStats().isSetNumNulls()) { + result.put("numNulls", statistics.getBooleanStats().getNumNulls()); + } + if (statistics.getBooleanStats().isSetNumTrues()) { + result.put("numTrues", statistics.getBooleanStats().getNumTrues()); + } + if (statistics.getBooleanStats().isSetNumFalses()) { + result.put("numFalses", statistics.getBooleanStats().getNumFalses()); + } + } else if (statistics.isSetDecimalStats()) { + if (statistics.getDecimalStats().isSetLowValue()) { + result.put("min", MetaDataFormatUtils.convertToString(statistics.getDecimalStats().getLowValue())); + } + if (statistics.getDecimalStats().isSetHighValue()) { + result.put("max", MetaDataFormatUtils.convertToString(statistics.getDecimalStats().getHighValue())); + } + if (statistics.getDecimalStats().isSetNumNulls()) { + result.put("numNulls", statistics.getDecimalStats().getNumNulls()); + } + if (statistics.getDecimalStats().isSetNumDVs()) { + result.put("distinctCount", statistics.getDecimalStats().getNumDVs()); + } + } else if (statistics.isSetDoubleStats()) { + if (statistics.getDoubleStats().isSetLowValue()) { + result.put("min", statistics.getDoubleStats().getLowValue()); + } + if (statistics.getDoubleStats().isSetHighValue()) { + result.put("max", statistics.getDoubleStats().getHighValue()); + } + if (statistics.getDoubleStats().isSetNumNulls()) { + result.put("numNulls", statistics.getDoubleStats().getNumNulls()); + } + if (statistics.getDoubleStats().isSetNumDVs()) { + result.put("distinctCount", statistics.getDoubleStats().getNumDVs()); + } + } else if (statistics.isSetLongStats()) { + if (statistics.getLongStats().isSetLowValue()) { + result.put("min", statistics.getLongStats().getLowValue()); + } + if (statistics.getLongStats().isSetHighValue()) { + result.put("max", statistics.getLongStats().getHighValue()); + } + if (statistics.getLongStats().isSetNumNulls()) { + result.put("numNulls", statistics.getLongStats().getNumNulls()); + } + if (statistics.getLongStats().isSetNumDVs()) { + result.put("distinctCount", statistics.getLongStats().getNumDVs()); + } + } else if (statistics.isSetDateStats()) { + if (statistics.getDateStats().isSetLowValue()) { + result.put("min", MetaDataFormatUtils.convertToString(statistics.getDateStats().getLowValue())); + } + if (statistics.getDateStats().isSetHighValue()) { + result.put("max", MetaDataFormatUtils.convertToString(statistics.getDateStats().getHighValue())); + } + if (statistics.getDateStats().isSetNumNulls()) { + result.put("numNulls", statistics.getDateStats().getNumNulls()); + } + if (statistics.getDateStats().isSetNumDVs()) { + result.put("distinctCount", statistics.getDateStats().getNumDVs()); + } + } + } + + return result; } @Override @@ -291,11 +396,11 @@ public void showTableStatus(DataOutputStream out, Hive db, HiveConf conf, builder.put("location", tblLoc); builder.put("inputFormat", inputFormattCls); builder.put("outputFormat", outputFormattCls); - builder.put("columns", makeColsUnformatted(tbl.getCols())); + builder.put("columns", createColumnsInfo(tbl.getCols(), new ArrayList())); builder.put("partitioned", tbl.isPartitioned()); if (tbl.isPartitioned()) { - builder.put("partitionColumns", makeColsUnformatted(tbl.getPartCols())); + builder.put("partitionColumns", createColumnsInfo(tbl.getPartCols(), new ArrayList())); } if(tbl.getTableType() != TableType.VIRTUAL_VIEW) { //tbl.getPath() is null for views diff --git ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java index a1ec52fa89..0586ccba77 100644 --- ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java +++ ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java @@ -90,7 +90,7 @@ private MetaDataFormatUtils() { } - private static String convertToString(Decimal val) { + public static String convertToString(Decimal val) { if (val == null) { return ""; } @@ -103,7 +103,7 @@ private static String convertToString(Decimal val) { } } - private static String convertToString(org.apache.hadoop.hive.metastore.api.Date val) { + public static String convertToString(org.apache.hadoop.hive.metastore.api.Date val) { if (val == null) { return ""; } diff --git ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/TextMetaDataFormatter.java ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/TextMetaDataFormatter.java index b4cf0bfcbb..fc8d5d1f0d 100644 --- ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/TextMetaDataFormatter.java +++ ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/TextMetaDataFormatter.java @@ -202,7 +202,7 @@ public void showMaterializedViews(DataOutputStream out, List materialized } @Override - public void describeTable(DataOutputStream outStream, String colPath, String tableName, Table tbl, Partition part, + public void describeTable(DataOutputStream outStream, String colPath, String tableName, Table tbl, Partition part, List cols, boolean isFormatted, boolean isExt, boolean isOutputPadded, List colStats) throws HiveException { try { @@ -212,11 +212,8 @@ public void describeTable(DataOutputStream outStream, String colPath, String ta boolean isColStatsAvailable = CollectionUtils.isNotEmpty(colStats); TextMetaDataTable mdt = new TextMetaDataTable(); - if (isFormatted && !isColStatsAvailable) { - output = "# "; - } - if (isFormatted) { - mdt.addRow(DescTableDesc.getSchema(isColStatsAvailable).split("#")[0].split(",")); + if (isColStatsAvailable) { + mdt.addRow(DescTableDesc.COLUMN_STATISTICS_HEADERS); } for (FieldSchema col : cols) { mdt.addRow(MetaDataFormatUtils.extractColumnValues(col, isColStatsAvailable, @@ -231,7 +228,7 @@ public void describeTable(DataOutputStream outStream, String colPath, String ta if ((partCols != null) && !partCols.isEmpty() && showPartColsSeparately) { mdt = new TextMetaDataTable(); output += MetaDataFormatUtils.LINE_DELIM + "# Partition Information" + MetaDataFormatUtils.LINE_DELIM + "# "; - mdt.addRow(DescTableDesc.getSchema(false).split("#")[0].split(",")); + mdt.addRow(DescTableDesc.SCHEMA.split("#")[0].split(",")); for (FieldSchema col : partCols) { mdt.addRow(MetaDataFormatUtils.extractColumnValues(col)); } diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java index 2a1c50283f..c622258ab4 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java @@ -2261,7 +2261,10 @@ public QueryState getQueryState() { * * @param schema string */ - protected FetchTask createFetchTask(String schema) { + protected FetchTask createFetchTask(String tableSchema) { + String schema = "json".equals(conf.get(HiveConf.ConfVars.HIVE_DDL_OUTPUT_FORMAT.varname, "text")) ? + "json#string" : tableSchema; + Properties prop = new Properties(); // Sets delimiter to tab (ascii 9) prop.setProperty(serdeConstants.SERIALIZATION_FORMAT, Integer.toString(Utilities.tabCode)); diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java index 1865d77000..3d920cd896 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java @@ -1682,7 +1682,7 @@ private void analyzeDescribeTable(ASTNode ast) throws SemanticException { DescTableDesc descTblDesc = new DescTableDesc(ctx.getResFile(), tableName, partSpec, colPath, isExt, isFormatted); Task ddlTask = TaskFactory.get(new DDLWork(getInputs(), getOutputs(), descTblDesc)); rootTasks.add(ddlTask); - String schema = DescTableDesc.getSchema(showColStats); + String schema = showColStats ? DescTableDesc.COLUMN_STATISTICS_SCHEMA : DescTableDesc.SCHEMA; setFetchTask(createFetchTask(schema)); LOG.info("analyzeDescribeTable done"); } diff --git ql/src/test/queries/clientpositive/desc_table_test.q ql/src/test/queries/clientpositive/desc_table_test.q new file mode 100644 index 0000000000..8dc7d0c845 --- /dev/null +++ ql/src/test/queries/clientpositive/desc_table_test.q @@ -0,0 +1,82 @@ +--! qt:dataset:src1 +CREATE TABLE datatype_stats_n0( + t TINYINT, + s SMALLINT, + i INT, + b BIGINT, + f FLOAT, + d DOUBLE, + dem DECIMAL, --default decimal (10,0) + ts TIMESTAMP, + dt DATE, + str STRING, + v VARCHAR(12), + c CHAR(5), + bl BOOLEAN, + bin BINARY); + +INSERT INTO datatype_stats_n0 values(1, 2, 44, 455, 45454.3, 454.6564, 2354, '2012-01-01 01:02:02', '2011-12-31', 'update_statisticr', 'statr', 'hivd', 'false', 'bin'); +INSERT INTO datatype_stats_n0 values(2, 3, 45, 456, 45454.4, 454.6565, 2355, '2012-01-01 01:02:03', '2012-01-01', 'update_statistics', 'stats', 'hive', 'true', 'bin'); +INSERT INTO datatype_stats_n0 values(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +DESC FORMATTED datatype_stats_n0 s; +DESC FORMATTED datatype_stats_n0 i; +DESC FORMATTED datatype_stats_n0 b; +DESC FORMATTED datatype_stats_n0 f; +DESC FORMATTED datatype_stats_n0 d; +DESC FORMATTED datatype_stats_n0 dem; +DESC FORMATTED datatype_stats_n0 ts; +DESC FORMATTED datatype_stats_n0 dt; +DESC FORMATTED datatype_stats_n0 str; +DESC FORMATTED datatype_stats_n0 v; +DESC FORMATTED datatype_stats_n0 c; +DESC FORMATTED datatype_stats_n0 bl; +DESC FORMATTED datatype_stats_n0 bin; +DESC FORMATTED datatype_stats_n0 t; +DESC FORMATTED datatype_stats_n0; +DESC datatype_stats_n0 s; +DESC datatype_stats_n0 i; +DESC datatype_stats_n0 b; +DESC datatype_stats_n0 f; +DESC datatype_stats_n0 d; +DESC datatype_stats_n0 dem; +DESC datatype_stats_n0 ts; +DESC datatype_stats_n0 dt; +DESC datatype_stats_n0 str; +DESC datatype_stats_n0 v; +DESC datatype_stats_n0 c; +DESC datatype_stats_n0 bl; +DESC datatype_stats_n0 bin; +DESC datatype_stats_n0; + +SET hive.ddl.output.format=json; + +DESC FORMATTED datatype_stats_n0 s; +DESC FORMATTED datatype_stats_n0 i; +DESC FORMATTED datatype_stats_n0 b; +DESC FORMATTED datatype_stats_n0 f; +DESC FORMATTED datatype_stats_n0 d; +DESC FORMATTED datatype_stats_n0 dem; +DESC FORMATTED datatype_stats_n0 ts; +DESC FORMATTED datatype_stats_n0 dt; +DESC FORMATTED datatype_stats_n0 str; +DESC FORMATTED datatype_stats_n0 v; +DESC FORMATTED datatype_stats_n0 c; +DESC FORMATTED datatype_stats_n0 bl; +DESC FORMATTED datatype_stats_n0 bin; +DESC FORMATTED datatype_stats_n0 t; +DESC FORMATTED datatype_stats_n0; +DESC datatype_stats_n0 s; +DESC datatype_stats_n0 i; +DESC datatype_stats_n0 b; +DESC datatype_stats_n0 f; +DESC datatype_stats_n0 d; +DESC datatype_stats_n0 dem; +DESC datatype_stats_n0 ts; +DESC datatype_stats_n0 dt; +DESC datatype_stats_n0 str; +DESC datatype_stats_n0 v; +DESC datatype_stats_n0 c; +DESC datatype_stats_n0 bl; +DESC datatype_stats_n0 bin; +DESC datatype_stats_n0; diff --git ql/src/test/results/clientpositive/beeline/desc_table_test.q.out ql/src/test/results/clientpositive/beeline/desc_table_test.q.out new file mode 100644 index 0000000000..76b2f72a48 --- /dev/null +++ ql/src/test/results/clientpositive/beeline/desc_table_test.q.out @@ -0,0 +1,742 @@ +PREHOOK: query: CREATE TABLE datatype_stats_n0( + t TINYINT, + s SMALLINT, + i INT, + b BIGINT, + f FLOAT, + d DOUBLE, + dem DECIMAL, + ts TIMESTAMP, + dt DATE, + str STRING, + v VARCHAR(12), + c CHAR(5), + bl BOOLEAN, + bin BINARY) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@datatype_stats_n0 +POSTHOOK: query: CREATE TABLE datatype_stats_n0( + t TINYINT, + s SMALLINT, + i INT, + b BIGINT, + f FLOAT, + d DOUBLE, + dem DECIMAL, + ts TIMESTAMP, + dt DATE, + str STRING, + v VARCHAR(12), + c CHAR(5), + bl BOOLEAN, + bin BINARY) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@datatype_stats_n0 +PREHOOK: query: INSERT INTO datatype_stats_n0 values(1, 2, 44, 455, 45454.3, 454.6564, 2354, '2012-01-01 01:02:02', '2011-12-31', 'update_statisticr', 'statr', 'hivd', 'false', 'bin') +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +PREHOOK: Output: default@datatype_stats_n0 +POSTHOOK: query: INSERT INTO datatype_stats_n0 values(1, 2, 44, 455, 45454.3, 454.6564, 2354, '2012-01-01 01:02:02', '2011-12-31', 'update_statisticr', 'statr', 'hivd', 'false', 'bin') +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +POSTHOOK: Output: default@datatype_stats_n0 +POSTHOOK: Lineage: datatype_stats_n0.b SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.bin SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.bl SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.c SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.d SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.dem SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.dt SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.f SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.i SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.s SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.str SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.t SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.ts SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.v SCRIPT [] +PREHOOK: query: INSERT INTO datatype_stats_n0 values(2, 3, 45, 456, 45454.4, 454.6565, 2355, '2012-01-01 01:02:03', '2012-01-01', 'update_statistics', 'stats', 'hive', 'true', 'bin') +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +PREHOOK: Output: default@datatype_stats_n0 +POSTHOOK: query: INSERT INTO datatype_stats_n0 values(2, 3, 45, 456, 45454.4, 454.6565, 2355, '2012-01-01 01:02:03', '2012-01-01', 'update_statistics', 'stats', 'hive', 'true', 'bin') +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +POSTHOOK: Output: default@datatype_stats_n0 +POSTHOOK: Lineage: datatype_stats_n0.b SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.bin SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.bl SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.c SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.d SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.dem SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.dt SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.f SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.i SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.s SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.str SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.t SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.ts SCRIPT [] +POSTHOOK: Lineage: datatype_stats_n0.v SCRIPT [] +PREHOOK: query: INSERT INTO datatype_stats_n0 values(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +PREHOOK: Output: default@datatype_stats_n0 +POSTHOOK: query: INSERT INTO datatype_stats_n0 values(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +POSTHOOK: Output: default@datatype_stats_n0 +POSTHOOK: Lineage: datatype_stats_n0.b EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.bin EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.bl EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.c EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.d EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.dem EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.dt EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.f EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.i EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.s EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.str EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.t EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.ts EXPRESSION [] +POSTHOOK: Lineage: datatype_stats_n0.v EXPRESSION [] +PREHOOK: query: DESC FORMATTED datatype_stats_n0 s +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 s +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name s +data_type smallint +min 2 +max 3 +num_nulls 1 +distinct_count 2 +avg_col_len +max_col_len +num_trues +num_falses +bit_vector HL +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 i +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 i +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name i +data_type int +min 44 +max 45 +num_nulls 1 +distinct_count 2 +avg_col_len +max_col_len +num_trues +num_falses +bit_vector HL +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 b +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 b +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name b +data_type bigint +min 455 +max 456 +num_nulls 1 +distinct_count 2 +avg_col_len +max_col_len +num_trues +num_falses +bit_vector HL +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 f +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 f +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name f +data_type float +min 45454.3984375 +max 45454.3984375 +num_nulls 1 +distinct_count 2 +avg_col_len +max_col_len +num_trues +num_falses +bit_vector HL +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 d +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 d +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name d +data_type double +min 454.6565 +max 454.6565 +num_nulls 1 +distinct_count 2 +avg_col_len +max_col_len +num_trues +num_falses +bit_vector HL +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 dem +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 dem +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name dem +data_type decimal(10,0) +min 2354 +max 2355 +num_nulls 1 +distinct_count 2 +avg_col_len +max_col_len +num_trues +num_falses +bit_vector HL +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 ts +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 ts +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name ts +data_type timestamp +min 1325379722 +max 1325379723 +num_nulls 1 +distinct_count 2 +avg_col_len +max_col_len +num_trues +num_falses +bit_vector HL +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 dt +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 dt +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name dt +data_type date +min 2011-12-31 +max 2012-01-01 +num_nulls 1 +distinct_count 2 +avg_col_len +max_col_len +num_trues +num_falses +bit_vector HL +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 str +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 str +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name str +data_type string +min +max +num_nulls 1 +distinct_count 2 +avg_col_len 17.0 +max_col_len 17 +num_trues +num_falses +bit_vector HL +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 v +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 v +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name v +data_type varchar(12) +min +max +num_nulls 1 +distinct_count 2 +avg_col_len 5.0 +max_col_len 5 +num_trues +num_falses +bit_vector HL +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 c +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 c +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name c +data_type char(5) +min +max +num_nulls 1 +distinct_count 2 +avg_col_len 4.0 +max_col_len 4 +num_trues +num_falses +bit_vector HL +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 bl +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 bl +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name bl +data_type boolean +min +max +num_nulls 1 +distinct_count +avg_col_len +max_col_len +num_trues 1 +num_falses 1 +bit_vector +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 bin +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 bin +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name bin +data_type binary +min +max +num_nulls 1 +distinct_count +avg_col_len 3.0 +max_col_len 3 +num_trues +num_falses +bit_vector +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 t +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 t +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +col_name t +data_type tinyint +min 1 +max 2 +num_nulls 1 +distinct_count 2 +avg_col_len +max_col_len +num_trues +num_falses +bit_vector HL +comment from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +t tinyint +s smallint +i int +b bigint +f float +d double +dem decimal(10,0) +ts timestamp +dt date +str string +v varchar(12) +c char(5) +bl boolean +bin binary + NULL NULL +# Detailed Table Information NULL NULL +Database: test_db_desc_table_test NULL +#### A masked pattern was here #### +LastAccessTime: UNKNOWN NULL +Retention: 0 NULL +#### A masked pattern was here #### +Table Type: MANAGED_TABLE NULL +Table Parameters: NULL NULL + COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} + bucketing_version 2 + numFiles 3 + numRows 3 + rawDataSize 248 + totalSize 251 +#### A masked pattern was here #### + NULL NULL +# Storage Information NULL NULL +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe NULL +InputFormat: org.apache.hadoop.mapred.TextInputFormat NULL +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat NULL +Compressed: No NULL +Num Buckets: -1 NULL +Bucket Columns: [] NULL +Sort Columns: [] NULL +Storage Desc Params: NULL NULL + serialization.format 1 +PREHOOK: query: DESC datatype_stats_n0 s +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 s +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +s smallint from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 i +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 i +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +i int from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 b +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 b +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +b bigint from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 f +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 f +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +f float from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 d +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 d +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +d double from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 dem +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 dem +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +dem decimal(10,0) from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 ts +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 ts +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +ts timestamp from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 dt +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 dt +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +dt date from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 str +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 str +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +str string from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 v +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 v +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +v varchar(12) from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 c +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 c +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +c char(5) from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 bl +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 bl +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +bl boolean from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 bin +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 bin +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +bin binary from deserializer +COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bin\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}} NULL +PREHOOK: query: DESC datatype_stats_n0 +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +t tinyint +s smallint +i int +b bigint +f float +d double +dem decimal(10,0) +ts timestamp +dt date +str string +v varchar(12) +c char(5) +bl boolean +bin binary +PREHOOK: query: DESC FORMATTED datatype_stats_n0 s +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 s +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"s","type":"smallint","comment":"from deserializer","min":2,"max":3,"numNulls":1,"distinctCount":2}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 i +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 i +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"i","type":"int","comment":"from deserializer","min":44,"max":45,"numNulls":1,"distinctCount":2}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 b +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 b +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"b","type":"bigint","comment":"from deserializer","min":455,"max":456,"numNulls":1,"distinctCount":2}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 f +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 f +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"f","type":"float","comment":"from deserializer","min":45454.3984375,"max":45454.3984375,"numNulls":1,"distinctCount":2}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 d +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 d +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"d","type":"double","comment":"from deserializer","min":454.6565,"max":454.6565,"numNulls":1,"distinctCount":2}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 dem +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 dem +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"dem","type":"decimal(10,0)","comment":"from deserializer","min":"2354","max":"2355","numNulls":1,"distinctCount":2}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 ts +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 ts +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"ts","type":"timestamp","comment":"from deserializer","min":1325379722,"max":1325379723,"numNulls":1,"distinctCount":2}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 dt +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 dt +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"dt","type":"date","comment":"from deserializer","min":"2011-12-31","max":"2012-01-01","numNulls":1,"distinctCount":2}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 str +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 str +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"str","type":"string","comment":"from deserializer","numNulls":1,"distinctCount":2,"avgColLen":17.0,"maxColLen":17}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 v +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 v +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"v","type":"varchar(12)","comment":"from deserializer","numNulls":1,"distinctCount":2,"avgColLen":5.0,"maxColLen":5}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 c +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 c +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"c","type":"char(5)","comment":"from deserializer","numNulls":1,"distinctCount":2,"avgColLen":4.0,"maxColLen":4}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 bl +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 bl +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"bl","type":"boolean","comment":"from deserializer","numNulls":1,"numTrues":1,"numFalses":1}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 bin +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 bin +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"bin","type":"binary","comment":"from deserializer","numNulls":1,"avgColLen":3.0,"maxColLen":3}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 t +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 t +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"t","type":"tinyint","comment":"from deserializer","min":1,"max":2,"numNulls":1,"distinctCount":2}]} +PREHOOK: query: DESC FORMATTED datatype_stats_n0 +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC FORMATTED datatype_stats_n0 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"t","type":"tinyint"},{"name":"s","type":"smallint"},{"name":"i","type":"int"},{"name":"b","type":"bigint"},{"name":"f","type":"float"},{"name":"d","type":"double"},{"name":"dem","type":"decimal(10,0)"},{"name":"ts","type":"timestamp"},{"name":"dt","type":"date"},{"name":"str","type":"string"},{"name":"v","type":"varchar(12)"},{"name":"c","type":"char(5)"},{"name":"bl","type":"boolean"},{"name":"bin","type":"binary"}]} +PREHOOK: query: DESC datatype_stats_n0 s +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 s +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"s","type":"smallint","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 i +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 i +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"i","type":"int","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 b +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 b +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"b","type":"bigint","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 f +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 f +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"f","type":"float","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 d +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 d +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"d","type":"double","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 dem +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 dem +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"dem","type":"decimal(10,0)","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 ts +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 ts +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"ts","type":"timestamp","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 dt +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 dt +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"dt","type":"date","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 str +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 str +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"str","type":"string","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 v +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 v +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"v","type":"varchar(12)","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 c +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 c +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"c","type":"char(5)","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 bl +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 bl +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"bl","type":"boolean","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 bin +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 bin +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"bin","type":"binary","comment":"from deserializer"}]} +PREHOOK: query: DESC datatype_stats_n0 +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@datatype_stats_n0 +POSTHOOK: query: DESC datatype_stats_n0 +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@datatype_stats_n0 +{"columns":[{"name":"t","type":"tinyint"},{"name":"s","type":"smallint"},{"name":"i","type":"int"},{"name":"b","type":"bigint"},{"name":"f","type":"float"},{"name":"d","type":"double"},{"name":"dem","type":"decimal(10,0)"},{"name":"ts","type":"timestamp"},{"name":"dt","type":"date"},{"name":"str","type":"string"},{"name":"v","type":"varchar(12)"},{"name":"c","type":"char(5)"},{"name":"bl","type":"boolean"},{"name":"bin","type":"binary"}]}