hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yongzhi Chen (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-12795) Vectorized execution causes ClassCastException
Date Fri, 08 Jan 2016 15:13:39 GMT

     [ https://issues.apache.org/jira/browse/HIVE-12795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Yongzhi Chen updated HIVE-12795:
--------------------------------
    Attachment: HIVE-12795.2.patch

> Vectorized execution causes ClassCastException
> ----------------------------------------------
>
>                 Key: HIVE-12795
>                 URL: https://issues.apache.org/jira/browse/HIVE-12795
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 1.1.0
>            Reporter: Yongzhi Chen
>            Assignee: Yongzhi Chen
>         Attachments: HIVE-12795.1.patch, HIVE-12795.2.patch
>
>
> In some hive versions, when
> set hive.auto.convert.join=false;
> set hive.vectorized.execution.enabled = true;
> Some join queries fail with ClassCastException:
> The stack:
> {noformat}
> Caused by: java.lang.ClassCastException: org.apache.hadoop.hive.serde2.lazy.objectinspector.primitive.LazyStringObjectInspector
cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.primitive.SettableStringObjectInspector
> at org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpressionWriterFactory.genVectorExpressionWritable(VectorExpressionWriterFactory.java:419)
> at org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpressionWriterFactory.processVectorInspector(VectorExpressionWriterFactory.java:1102)
> at org.apache.hadoop.hive.ql.exec.vector.VectorReduceSinkOperator.initializeOp(VectorReduceSinkOperator.java:55)
> at org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:385)
> at org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:469)
> at org.apache.hadoop.hive.ql.exec.Operator.initializeChildren(Operator.java:425)
> at org.apache.hadoop.hive.ql.exec.TableScanOperator.initializeOp(TableScanOperator.java:193)
> at org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:385)
> at org.apache.hadoop.hive.ql.exec.MapOperator.initializeOp(MapOperator.java:431)
> at org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:385)
> at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.configure(ExecMapper.java:126)
> ... 22 more
> {noformat}
> It can not be reproduced in hive 2.0 and 1.3 because of different code path. 
> Reproduce:
> {noformat}
> CREATE TABLE test1
>  (
>    id string)
>    PARTITIONED BY (
>   cr_year bigint,
>   cr_month bigint)
>  ROW FORMAT SERDE
>   'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe'
> STORED AS INPUTFORMAT
>   'org.apache.hadoop.hive.ql.io.RCFileInputFormat'
> OUTPUTFORMAT
>   'org.apache.hadoop.hive.ql.io.RCFileOutputFormat'
> TBLPROPERTIES (
>   'serialization.null.format'='' );
>   
>   CREATE TABLE test2(
>     id string
>   )
>    PARTITIONED BY (
>   cr_year bigint,
>   cr_month bigint)
> ROW FORMAT SERDE
>   'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe'
> STORED AS INPUTFORMAT
>   'org.apache.hadoop.hive.ql.io.RCFileInputFormat'
> OUTPUTFORMAT
>   'org.apache.hadoop.hive.ql.io.RCFileOutputFormat'
> TBLPROPERTIES (
>   'serialization.null.format'=''
>  );
> set hive.auto.convert.join=false;
> set hive.vectorized.execution.enabled = true;
>  SELECT cr.id1 ,
> cr.id2 
> FROM
> (SELECT t1.id id1,
>  t2.id id2
>  from
>  (select * from test1 ) t1
>  left outer join test2  t2
>  on t1.id=t2.id) cr;
> {noformat}



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

Mime
View raw message