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

Barna Zsombor Klara commented on HIVE-16559:
--------------------------------------------

I ran the same test as in the Jira description but with ORC as the file format 
and HIVE_SCHEMA_EVOLUTION set to false and ended up with:{{Error: 
java.io.IOException: java.lang.ClassCastException: 
org.apache.hadoop.io.IntWritable cannot be cast to org.apache.hadoop.io.Text 
(state=,code=0)}} when trying to select from the altered table. 
I don't think ORC supports this either.
But then again I don't really understand that check for ORC, how does setting 
HIVE_SCHEMA_EVOLUTION to false end up with a "supported" mode for schema 
evolution?

> Parquet schema evolution for partitioned tables may break if table and 
> partition serdes differ
> ----------------------------------------------------------------------------------------------
>
>                 Key: HIVE-16559
>                 URL: https://issues.apache.org/jira/browse/HIVE-16559
>             Project: Hive
>          Issue Type: Bug
>          Components: Serializers/Deserializers
>            Reporter: Barna Zsombor Klara
>            Assignee: Barna Zsombor Klara
>             Fix For: 3.0.0
>
>         Attachments: HIVE-16559.01.patch
>
>
> Parquet schema evolution should make it possible to have partitions/tables 
>  backed by files with different schemas. Hive should match the table columns 
> with file columns based on the column name if possible.
> However if the serde for a table is missing columns from the serde of a 
> partition Hive fails to match the columns together.
> Steps to reproduce:
> {code}
> CREATE TABLE myparquettable_parted
> (
>   name string,
>   favnumber int,
>   favcolor string,
>   age int,
>   favpet string
> )
> PARTITIONED BY (day string)
> STORED AS PARQUET;
> INSERT OVERWRITE TABLE myparquettable_parted
> PARTITION(day='2017-04-04')
> SELECT
>    'mary' as name,
>    5 AS favnumber,
>    'blue' AS favcolor,
>    35 AS age,
>    'dog' AS favpet;
> alter table myparquettable_parted
> REPLACE COLUMNS
> (
> favnumber int,
> age int
> );   <!--- No cascade option, so the partition will not be altered. 
> {code}
> {{SELECT * FROM myparquettable_parted where day='2017-04-04';}}
> will fail with:
> {{java.lang.UnsupportedOperationException: Cannot inspect 
> org.apache.hadoop.io.IntWritable}}
> Hive should either match the columns together or prevent the user from 
> dropping columns from the table.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to