You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Neha Tomar (JIRA)" <ji...@apache.org> on 2013/09/19 12:33:51 UTC

[jira] [Created] (HIVE-5319) Executing SELECT on an AVRO table fails after executing ALTER to modify type of an existing column

Neha Tomar created HIVE-5319:
--------------------------------

             Summary: Executing SELECT on an AVRO table fails after executing ALTER to modify type of an existing column
                 Key: HIVE-5319
                 URL: https://issues.apache.org/jira/browse/HIVE-5319
             Project: Hive
          Issue Type: Bug
    Affects Versions: 0.11.0
         Environment: Linux Ubuntu
            Reporter: Neha Tomar


1 >> Created a table in Hive with AVRO data.
	CREATE EXTERNAL TABLE tweets (username string, tweet string, timestamp bigint)
    COMMENT 'A table backed by Avro data with the Avro schema stored in HDFS'
    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'
    LOCATION '/home/neha/test_data/avro_create_data'
    TBLPROPERTIES ('avro.schema.literal'='{"namespace":"com.miguno.avro","name":"Tweet","type":"record","fields":[ {"name" : "username","type" : "string","doc" : "Name of the user account on Twitter.com"},{"name" : "tweet","type":"string","doc" : "The content of the Twitter message"}, {"name" : "timestamp", "type" : "long", "doc" : "Unix epoch time in seconds"}]}');

2 >> Altered type of a column (to a compatible type) using ALTER TABLE. In this example, altered type for column "timestamp" from "long" to "int".

	ALTER TABLE tweets SET TBLPROPERTIES ('avro.schema.literal'='{"namespace":"com.miguno.avro","name":"Tweet","type":"record","fields":[ {"name" : "username","type" : "string","doc" : "Name of the user account on Twitter.com"},{"name" : "tweet","type":"string","doc" : "The content of the Twitter message"}, {"name" : "timestamp", "type" : "int", "doc" : "Unix epoch time in seconds"}]}');

3 >> Now, a select query on this table fails with following error.

hive> select * from tweets;
OK
Failed with exception java.io.IOException:org.apache.avro.AvroTypeException: Found "long", expecting "int"
Time taken: 4.514 seconds







--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira