hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Neha Tomar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-5319) Executing SELECT on an AVRO table fails after executing ALTER to modify type of an existing column
Date Thu, 19 Sep 2013 10:35:51 GMT

    [ https://issues.apache.org/jira/browse/HIVE-5319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13771780#comment-13771780
] 

Neha Tomar commented on HIVE-5319:
----------------------------------

Pasting the exception trace below.

Failed with exception java.io.IOException:org.apache.avro.AvroTypeException: Found "long",
expecting "int"
13/09/19 16:03:46 ERROR CliDriver: Failed with exception java.io.IOException:org.apache.avro.AvroTypeException:
Found "long", expecting "int"
java.io.IOException: org.apache.avro.AvroTypeException: Found "long", expecting "int"
	at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:544)
	at org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:488)
	at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:136)
	at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1412)
	at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:271)
	at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)
	at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:413)
	at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:756)
	at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:611)
	at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Caused by: org.apache.avro.AvroTypeException: Found "long", expecting "int"
	at org.apache.avro.io.ResolvingDecoder.doAction(ResolvingDecoder.java:231)
	at org.apache.avro.io.parsing.Parser.advance(Parser.java:88)
	at org.apache.avro.io.ValidatingDecoder.readInt(ValidatingDecoder.java:82)
	at org.apache.avro.generic.GenericDatumReader.readInt(GenericDatumReader.java:341)
	at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:146)
	at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:166)
	at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:138)
	at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:129)
	at org.apache.avro.file.DataFileStream.next(DataFileStream.java:233)
	at org.apache.avro.file.DataFileStream.next(DataFileStream.java:220)
	at org.apache.hadoop.hive.ql.io.avro.AvroGenericRecordReader.next(AvroGenericRecordReader.java:140)
	at org.apache.hadoop.hive.ql.io.avro.AvroGenericRecordReader.next(AvroGenericRecordReader.java:49)
	at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:514)
	... 13 more

                
> 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
>              Labels: avro
>
> 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

Mime
View raw message