Repository: hive
Updated Branches:
  refs/heads/master 9d5d737db -> 8e2f1830a


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/8e2f1830
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/8e2f1830
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/8e2f1830

Branch: refs/heads/master
Commit: 8e2f1830a9156dcdd4563bfad53513d786038518
Parents: 9d5d737
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:34:10 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/8e2f1830/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/8e2f1830/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/8e2f1830/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                   

Reply via email to