Repository: hive Updated Branches: refs/heads/branch-2 45c53aced -> 044d42942
HIVE-14807: analyze table compute statistics fails due to presence of Infinity value in double column (Pengcheng Xiong, reviewed by Ashutosh Chauhan) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/044d4294 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/044d4294 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/044d4294 Branch: refs/heads/branch-2 Commit: 044d42942054a5242e6788d1a42bedccc93b12ba Parents: 45c53ac Author: Pengcheng Xiong <pxi...@hortonworks.com> Authored: Thu Apr 20 10:34:10 2017 -0700 Committer: Pengcheng Xiong <pxi...@hortonworks.com> Committed: Thu Apr 20 10:35:04 2017 -0700 ---------------------------------------------------------------------- .../hadoop/hive/ql/exec/ColumnStatsTask.java | 25 +- .../clientpositive/columnstats_infinity.q | 44 +++ .../clientpositive/columnstats_infinity.q.out | 295 +++++++++++++++++++ 3 files changed, 359 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/044d4294/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnStatsTask.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnStatsTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnStatsTask.java index a899964..cb16fb7 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnStatsTask.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnStatsTask.java @@ -110,8 +110,12 @@ public class ColumnStatsTask extends Task<ColumnStatsWork> implements Serializab } } + @SuppressWarnings("serial") + class UnsupportedDoubleException extends Exception { + } + private void unpackDoubleStats(ObjectInspector oi, Object o, String fName, - ColumnStatisticsObj statsObj) { + ColumnStatisticsObj statsObj) throws UnsupportedDoubleException { if (fName.equals("countnulls")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getDoubleStats().setNumNulls(v); @@ -120,9 +124,15 @@ public class ColumnStatsTask extends Task<ColumnStatsWork> implements Serializab statsObj.getStatsData().getDoubleStats().setNumDVs(v); } else if (fName.equals("max")) { double d = ((DoubleObjectInspector) oi).get(o); + if (Double.isInfinite(d) || Double.isNaN(d)) { + throw new UnsupportedDoubleException(); + } statsObj.getStatsData().getDoubleStats().setHighValue(d); } else if (fName.equals("min")) { double d = ((DoubleObjectInspector) oi).get(o); + if (Double.isInfinite(d) || Double.isNaN(d)) { + throw new UnsupportedDoubleException(); + } statsObj.getStatsData().getDoubleStats().setLowValue(d); } else if (fName.equals("ndvbitvector")) { PrimitiveObjectInspector poi = (PrimitiveObjectInspector) oi; @@ -234,7 +244,7 @@ public class ColumnStatsTask extends Task<ColumnStatsWork> implements Serializab } private void unpackPrimitiveObject (ObjectInspector oi, Object o, String fieldName, - ColumnStatisticsObj statsObj) { + ColumnStatisticsObj statsObj) throws UnsupportedDoubleException { if (o == null) { return; } @@ -294,7 +304,7 @@ public class ColumnStatsTask extends Task<ColumnStatsWork> implements Serializab } private void unpackStructObject(ObjectInspector oi, Object o, String fName, - ColumnStatisticsObj cStatsObj) { + ColumnStatisticsObj cStatsObj) throws UnsupportedDoubleException { if (oi.getCategory() != ObjectInspector.Category.STRUCT) { throw new RuntimeException("Invalid object datatype : " + oi.getCategory().toString()); } @@ -351,8 +361,13 @@ public class ColumnStatsTask extends Task<ColumnStatsWork> implements Serializab ColumnStatisticsObj statsObj = new ColumnStatisticsObj(); statsObj.setColName(colName.get(i)); statsObj.setColType(colType.get(i)); - unpackStructObject(foi, f, fieldName, statsObj); - statsObjs.add(statsObj); + try { + unpackStructObject(foi, f, fieldName, statsObj); + statsObjs.add(statsObj); + } catch (UnsupportedDoubleException e) { + // due to infinity or nan. + LOG.info("Because " + colName.get(i) + " is infinite or NaN, we skip stats."); + } } if (!isTblLevel) { http://git-wip-us.apache.org/repos/asf/hive/blob/044d4294/ql/src/test/queries/clientpositive/columnstats_infinity.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/columnstats_infinity.q b/ql/src/test/queries/clientpositive/columnstats_infinity.q new file mode 100644 index 0000000..c99a1cb --- /dev/null +++ b/ql/src/test/queries/clientpositive/columnstats_infinity.q @@ -0,0 +1,44 @@ +set hive.stats.column.autogather=false; + +CREATE TABLE schema_evolution_data(insert_num int, boolean1 boolean, tinyint1 tinyint, smallint1 smallint, int1 int, bigint1 bigint, decimal1 decimal(38,18), float1 float, double1 double, string1 string, string2 string, date1 date, timestamp1 timestamp, boolean_str string, tinyint_str string, smallint_str string, int_str string, bigint_str string, decimal_str string, float_str string, double_str string, date_str string, timestamp_str string, filler string) +row format delimited fields terminated by '|' stored as textfile; +load data local inpath '../../data/files/schema_evolution/schema_evolution_data.txt' overwrite into table schema_evolution_data; + +CREATE TABLE table_change_numeric_group_string_group_floating_string_group(insert_num int, + c1 decimal(38,18), c2 float, c3 double, + c4 decimal(38,18), c5 float, c6 double, c7 decimal(38,18), c8 float, c9 double, + c10 decimal(38,18), c11 float, c12 double, c13 decimal(38,18), c14 float, c15 double, + b STRING); + +insert into table table_change_numeric_group_string_group_floating_string_group SELECT insert_num, + decimal1, float1, double1, + decimal1, float1, double1, decimal1, float1, double1, + decimal1, float1, double1, decimal1, float1, double1, + 'original' FROM schema_evolution_data; + +desc formatted table_change_numeric_group_string_group_floating_string_group; + +analyze table table_change_numeric_group_string_group_floating_string_group compute statistics for columns; + +desc formatted table_change_numeric_group_string_group_floating_string_group; + +select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,b from table_change_numeric_group_string_group_floating_string_group; + +set hive.stats.column.autogather=true; + +drop table table_change_numeric_group_string_group_floating_string_group; + +CREATE TABLE table_change_numeric_group_string_group_floating_string_group(insert_num int, + c1 decimal(38,18), c2 float, c3 double, + c4 decimal(38,18), c5 float, c6 double, c7 decimal(38,18), c8 float, c9 double, + c10 decimal(38,18), c11 float, c12 double, c13 decimal(38,18), c14 float, c15 double, + b STRING); + +insert into table table_change_numeric_group_string_group_floating_string_group SELECT insert_num, + decimal1, float1, double1, + decimal1, float1, double1, decimal1, float1, double1, + decimal1, float1, double1, decimal1, float1, double1, + 'original' FROM schema_evolution_data; + +desc formatted table_change_numeric_group_string_group_floating_string_group; + http://git-wip-us.apache.org/repos/asf/hive/blob/044d4294/ql/src/test/results/clientpositive/columnstats_infinity.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/columnstats_infinity.q.out b/ql/src/test/results/clientpositive/columnstats_infinity.q.out new file mode 100644 index 0000000..23ca486 --- /dev/null +++ b/ql/src/test/results/clientpositive/columnstats_infinity.q.out @@ -0,0 +1,295 @@ +PREHOOK: query: CREATE TABLE schema_evolution_data(insert_num int, boolean1 boolean, tinyint1 tinyint, smallint1 smallint, int1 int, bigint1 bigint, decimal1 decimal(38,18), float1 float, double1 double, string1 string, string2 string, date1 date, timestamp1 timestamp, boolean_str string, tinyint_str string, smallint_str string, int_str string, bigint_str string, decimal_str string, float_str string, double_str string, date_str string, timestamp_str string, filler string) +row format delimited fields terminated by '|' stored as textfile +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@schema_evolution_data +POSTHOOK: query: CREATE TABLE schema_evolution_data(insert_num int, boolean1 boolean, tinyint1 tinyint, smallint1 smallint, int1 int, bigint1 bigint, decimal1 decimal(38,18), float1 float, double1 double, string1 string, string2 string, date1 date, timestamp1 timestamp, boolean_str string, tinyint_str string, smallint_str string, int_str string, bigint_str string, decimal_str string, float_str string, double_str string, date_str string, timestamp_str string, filler string) +row format delimited fields terminated by '|' stored as textfile +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@schema_evolution_data +PREHOOK: query: load data local inpath '../../data/files/schema_evolution/schema_evolution_data.txt' overwrite into table schema_evolution_data +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@schema_evolution_data +POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/schema_evolution_data.txt' overwrite into table schema_evolution_data +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@schema_evolution_data +PREHOOK: query: CREATE TABLE table_change_numeric_group_string_group_floating_string_group(insert_num int, + c1 decimal(38,18), c2 float, c3 double, + c4 decimal(38,18), c5 float, c6 double, c7 decimal(38,18), c8 float, c9 double, + c10 decimal(38,18), c11 float, c12 double, c13 decimal(38,18), c14 float, c15 double, + b STRING) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group +POSTHOOK: query: CREATE TABLE table_change_numeric_group_string_group_floating_string_group(insert_num int, + c1 decimal(38,18), c2 float, c3 double, + c4 decimal(38,18), c5 float, c6 double, c7 decimal(38,18), c8 float, c9 double, + c10 decimal(38,18), c11 float, c12 double, c13 decimal(38,18), c14 float, c15 double, + b STRING) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group +PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_string_group SELECT insert_num, + decimal1, float1, double1, + decimal1, float1, double1, decimal1, float1, double1, + decimal1, float1, double1, decimal1, float1, double1, + 'original' FROM schema_evolution_data +PREHOOK: type: QUERY +PREHOOK: Input: default@schema_evolution_data +PREHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group +POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_string_group SELECT insert_num, + decimal1, float1, double1, + decimal1, float1, double1, decimal1, float1, double1, + decimal1, float1, double1, decimal1, float1, double1, + 'original' FROM schema_evolution_data +POSTHOOK: type: QUERY +POSTHOOK: Input: default@schema_evolution_data +POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.b SIMPLE [] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c1 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:decimal1, type:decimal(38,18), comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c10 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:decimal1, type:decimal(38,18), comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c11 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:float1, type:float, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c12 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:double1, type:double, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c13 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:decimal1, type:decimal(38,18), comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c14 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:float1, type:float, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c15 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:double1, type:double, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c2 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:float1, type:float, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c3 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:double1, type:double, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c4 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:decimal1, type:decimal(38,18), comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c5 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:float1, type:float, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c6 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:double1, type:double, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c7 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:decimal1, type:decimal(38,18), comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c8 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:float1, type:float, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c9 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:double1, type:double, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.insert_num SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:insert_num, type:int, comment:null), ] +PREHOOK: query: desc formatted table_change_numeric_group_string_group_floating_string_group +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group +POSTHOOK: query: desc formatted table_change_numeric_group_string_group_floating_string_group +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group +# col_name data_type comment + +insert_num int +c1 decimal(38,18) +c2 float +c3 double +c4 decimal(38,18) +c5 float +c6 double +c7 decimal(38,18) +c8 float +c9 double +c10 decimal(38,18) +c11 float +c12 double +c13 decimal(38,18) +c14 float +c15 double +b string + +# Detailed Table Information +Database: default +#### 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 1 + numRows 5 + rawDataSize 1250 + totalSize 1255 +#### 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: analyze table table_change_numeric_group_string_group_floating_string_group compute statistics for columns +PREHOOK: type: QUERY +PREHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group +#### A masked pattern was here #### +POSTHOOK: query: analyze table table_change_numeric_group_string_group_floating_string_group compute statistics for columns +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group +#### A masked pattern was here #### +PREHOOK: query: desc formatted table_change_numeric_group_string_group_floating_string_group +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group +POSTHOOK: query: desc formatted table_change_numeric_group_string_group_floating_string_group +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group +# col_name data_type comment + +insert_num int +c1 decimal(38,18) +c2 float +c3 double +c4 decimal(38,18) +c5 float +c6 double +c7 decimal(38,18) +c8 float +c9 double +c10 decimal(38,18) +c11 float +c12 double +c13 decimal(38,18) +c14 float +c15 double +b string + +# Detailed Table Information +Database: default +#### 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\":{\"b\":\"true\",\"c1\":\"true\",\"c10\":\"true\",\"c12\":\"true\",\"c13\":\"true\",\"c15\":\"true\",\"c3\":\"true\",\"c4\":\"true\",\"c6\":\"true\",\"c7\":\"true\",\"c9\":\"true\",\"insert_num\":\"true\"}} + numFiles 1 + numRows 5 + rawDataSize 1250 + totalSize 1255 +#### 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: select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,b from table_change_numeric_group_string_group_floating_string_group +PREHOOK: type: QUERY +PREHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group +#### A masked pattern was here #### +POSTHOOK: query: select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,b from table_change_numeric_group_string_group_floating_string_group +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group +#### A masked pattern was here #### +101 99999999999999999999.999999999999999999 Infinity 1.7976931348623157E308 99999999999999999999.999999999999999999 Infinity 1.7976931348623157E308 99999999999999999999.999999999999999999 Infinity 1.7976931348623157E308 99999999999999999999.999999999999999999 Infinity 1.7976931348623157E308 99999999999999999999.999999999999999999 Infinity 1.7976931348623157E308 original +102 -99999999999999999999.999999999999999999 -Infinity -1.7976931348623157E308 -99999999999999999999.999999999999999999 -Infinity -1.7976931348623157E308 -99999999999999999999.999999999999999999 -Infinity -1.7976931348623157E308 -99999999999999999999.999999999999999999 -Infinity -1.7976931348623157E308 -99999999999999999999.999999999999999999 -Infinity -1.7976931348623157E308 original +103 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL original +104 66475.561431000000000000 -100.35978 30.774 66475.561431000000000000 -100.35978 30.774 66475.561431000000000000 -100.35978 30.774 66475.561431000000000000 -100.35978 30.774 66475.561431000000000000 -100.35978 30.774 original +105 9250340.750000000000000000 NULL 46114.28 9250340.750000000000000000 NULL 46114.28 9250340.750000000000000000 NULL 46114.28 9250340.750000000000000000 NULL 46114.28 9250340.750000000000000000 NULL 46114.28 original +PREHOOK: query: drop table table_change_numeric_group_string_group_floating_string_group +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group +PREHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group +POSTHOOK: query: drop table table_change_numeric_group_string_group_floating_string_group +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group +POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group +PREHOOK: query: CREATE TABLE table_change_numeric_group_string_group_floating_string_group(insert_num int, + c1 decimal(38,18), c2 float, c3 double, + c4 decimal(38,18), c5 float, c6 double, c7 decimal(38,18), c8 float, c9 double, + c10 decimal(38,18), c11 float, c12 double, c13 decimal(38,18), c14 float, c15 double, + b STRING) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group +POSTHOOK: query: CREATE TABLE table_change_numeric_group_string_group_floating_string_group(insert_num int, + c1 decimal(38,18), c2 float, c3 double, + c4 decimal(38,18), c5 float, c6 double, c7 decimal(38,18), c8 float, c9 double, + c10 decimal(38,18), c11 float, c12 double, c13 decimal(38,18), c14 float, c15 double, + b STRING) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group +PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_string_group SELECT insert_num, + decimal1, float1, double1, + decimal1, float1, double1, decimal1, float1, double1, + decimal1, float1, double1, decimal1, float1, double1, + 'original' FROM schema_evolution_data +PREHOOK: type: QUERY +PREHOOK: Input: default@schema_evolution_data +PREHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group +POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_string_group SELECT insert_num, + decimal1, float1, double1, + decimal1, float1, double1, decimal1, float1, double1, + decimal1, float1, double1, decimal1, float1, double1, + 'original' FROM schema_evolution_data +POSTHOOK: type: QUERY +POSTHOOK: Input: default@schema_evolution_data +POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.b SIMPLE [] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c1 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:decimal1, type:decimal(38,18), comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c10 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:decimal1, type:decimal(38,18), comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c11 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:float1, type:float, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c12 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:double1, type:double, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c13 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:decimal1, type:decimal(38,18), comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c14 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:float1, type:float, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c15 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:double1, type:double, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c2 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:float1, type:float, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c3 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:double1, type:double, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c4 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:decimal1, type:decimal(38,18), comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c5 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:float1, type:float, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c6 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:double1, type:double, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c7 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:decimal1, type:decimal(38,18), comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c8 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:float1, type:float, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c9 SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:double1, type:double, comment:null), ] +POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.insert_num SIMPLE [(schema_evolution_data)schema_evolution_data.FieldSchema(name:insert_num, type:int, comment:null), ] +PREHOOK: query: desc formatted table_change_numeric_group_string_group_floating_string_group +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group +POSTHOOK: query: desc formatted table_change_numeric_group_string_group_floating_string_group +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group +# col_name data_type comment + +insert_num int +c1 decimal(38,18) +c2 float +c3 double +c4 decimal(38,18) +c5 float +c6 double +c7 decimal(38,18) +c8 float +c9 double +c10 decimal(38,18) +c11 float +c12 double +c13 decimal(38,18) +c14 float +c15 double +b string + +# Detailed Table Information +Database: default +#### 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\":{\"b\":\"true\",\"c1\":\"true\",\"c10\":\"true\",\"c12\":\"true\",\"c13\":\"true\",\"c15\":\"true\",\"c3\":\"true\",\"c4\":\"true\",\"c6\":\"true\",\"c7\":\"true\",\"c9\":\"true\",\"insert_num\":\"true\"}} + numFiles 1 + numRows 5 + rawDataSize 1250 + totalSize 1255 +#### 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