You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by sz...@apache.org on 2015/01/28 03:49:20 UTC

svn commit: r1655213 - in /hive/trunk: data/files/grad.avsc ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java ql/src/test/queries/clientpositive/compustat_avro.q ql/src/test/results/clientpositive/compustat_avro.q.out

Author: szehon
Date: Wed Jan 28 02:49:20 2015
New Revision: 1655213

URL: http://svn.apache.org/r1655213
Log:
HIVE-6308 : COLUMNS_V2 Metastore table not populated for tables created without an explicit column list. (Yongzhi Chen via Szehon)

Added:
    hive/trunk/data/files/grad.avsc
    hive/trunk/ql/src/test/queries/clientpositive/compustat_avro.q
    hive/trunk/ql/src/test/results/clientpositive/compustat_avro.q.out
Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java

Added: hive/trunk/data/files/grad.avsc
URL: http://svn.apache.org/viewvc/hive/trunk/data/files/grad.avsc?rev=1655213&view=auto
==============================================================================
--- hive/trunk/data/files/grad.avsc (added)
+++ hive/trunk/data/files/grad.avsc Wed Jan 28 02:49:20 2015
@@ -0,0 +1,12 @@
+{"namespace": "devmode", 
+"type": "record", 
+"name": "gradinfo", 
+"fields": [ 
+{"name": "col1", "type": "string"}, 
+{"name": "col2", "type": "string"}, 
+{"name": "col3", "type": "double"}, 
+{"name": "col4", "type": "string"}, 
+{"name": "col5", "type": "string"}, 
+{"name": "col6", "type": "int"} 
+] 
+}  

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java?rev=1655213&r1=1655212&r2=1655213&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java Wed Jan 28 02:49:20 2015
@@ -657,7 +657,7 @@ public class Hive {
       if (tbl.getDbName() == null || "".equals(tbl.getDbName().trim())) {
         tbl.setDbName(SessionState.get().getCurrentDatabase());
       }
-      if (tbl.getCols().size() == 0) {
+      if (tbl.getCols().size() == 0 || tbl.getSd().getColsSize() == 0) {
         tbl.setFields(MetaStoreUtils.getFieldsFromDeserializer(tbl.getTableName(),
             tbl.getDeserializer()));
       }

Added: hive/trunk/ql/src/test/queries/clientpositive/compustat_avro.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/compustat_avro.q?rev=1655213&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/compustat_avro.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/compustat_avro.q Wed Jan 28 02:49:20 2015
@@ -0,0 +1,15 @@
+drop table if exists testAvro;
+create table testAvro
+   ROW FORMAT SERDE                                                                      
+     'org.apache.hadoop.hive.serde2.avro.AvroSerDe'                                      
+   STORED AS INPUTFORMAT                                                                 
+     'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'                        
+   OUTPUTFORMAT                                                                          
+     'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
+   TBLPROPERTIES ('avro.schema.url'='file://${system:hive.root}data/files/grad.avsc');
+
+describe formatted testAvro.col1;
+
+analyze table testAvro compute statistics for columns col1,col3;
+
+describe formatted testAvro.col1;

Added: hive/trunk/ql/src/test/results/clientpositive/compustat_avro.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/compustat_avro.q.out?rev=1655213&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/compustat_avro.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/compustat_avro.q.out Wed Jan 28 02:49:20 2015
@@ -0,0 +1,52 @@
+PREHOOK: query: drop table if exists testAvro
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists testAvro
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table testAvro
+   ROW FORMAT SERDE                                                                      
+     'org.apache.hadoop.hive.serde2.avro.AvroSerDe'                                      
+   STORED AS INPUTFORMAT                                                                 
+     'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'                        
+   OUTPUTFORMAT                                                                          
+     'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@testAvro
+POSTHOOK: query: create table testAvro
+   ROW FORMAT SERDE                                                                      
+     'org.apache.hadoop.hive.serde2.avro.AvroSerDe'                                      
+   STORED AS INPUTFORMAT                                                                 
+     'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'                        
+   OUTPUTFORMAT                                                                          
+     'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@testAvro
+PREHOOK: query: describe formatted testAvro.col1
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@testavro
+POSTHOOK: query: describe formatted testAvro.col1
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@testavro
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+col1                	string              	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: analyze table testAvro compute statistics for columns col1,col3
+PREHOOK: type: QUERY
+PREHOOK: Input: default@testavro
+#### A masked pattern was here ####
+POSTHOOK: query: analyze table testAvro compute statistics for columns col1,col3
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@testavro
+#### A masked pattern was here ####
+PREHOOK: query: describe formatted testAvro.col1
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@testavro
+POSTHOOK: query: describe formatted testAvro.col1
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@testavro
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+col1                	string              	                    	                    	0                   	0                   	0.0                 	0                   	                    	                    	from deserializer