[ https://issues.apache.org/jira/browse/HIVE-18632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
shiva updated HIVE-18632: ------------------------- Component/s: Clients > TYPE CASTING ERROR: CONVERTING FORM INT TO STRING > ------------------------------------------------- > > Key: HIVE-18632 > URL: https://issues.apache.org/jira/browse/HIVE-18632 > Project: Hive > Issue Type: Bug > Components: Clients, Database/Schema > Affects Versions: 1.1.0 > Reporter: shiva > Priority: Critical > Labels: AVRO > > HI, > AVRO source file field data type have int but we want to load the data using > the string, > we have created the AVSC schema for that field has string. > getting error while doing the select * from table name; > 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 was sent by Atlassian JIRA (v7.6.3#76005)