Prasanth Jayachandran created HIVE-10591:
--------------------------------------------

             Summary: Support integer type promotion in ORC
                 Key: HIVE-10591
                 URL: https://issues.apache.org/jira/browse/HIVE-10591
             Project: Hive
          Issue Type: New Feature
    Affects Versions: 1.3.0
            Reporter: Prasanth Jayachandran
            Assignee: Prasanth Jayachandran


ORC currently does not support schema-on-read. If we alter an ORC table with 
'int' type to 'bigint' and if we query the altered table ClassCastException 
will be thrown as the schema on read from table descriptor will expect 
LongWritable whereas ORC will return IntWritable based on file schema stored 
within ORC file. OrcSerde currently doesn't do any type conversions or type 
promotions for performance reasons in inner loop. Since smallints, ints and 
bigints are stored in the same way in ORC, it will be possible be allow such 
type promotions without hurting performance. Following type promotions can be 
supported without any casting
smallint -> int
smallint -> bigint
int -> bigint

Tinyint promotion is not possible without casting as tinyints are stored using 
RLE byte writer whereas smallints, ints and bigints are stored using RLE 
integer writer.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to