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