Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-5319

Executing SELECT on an AVRO table fails after executing ALTER to modify type of an existing column

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 0.11.0
    • None
    • None
    • Linux Ubuntu

    Description

      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

      Attachments

        Activity

          People

            Unassigned Unassigned
            neha_tomar Neha Tomar
            Votes:
            2 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: