[ https://issues.apache.org/jira/browse/HIVE-9371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ferdinand Xu updated HIVE-9371: ------------------------------- Attachment: HIVE-9371.1.patch > Execution error for Parquet table and GROUP BY involving CHAR data type > ----------------------------------------------------------------------- > > Key: HIVE-9371 > URL: https://issues.apache.org/jira/browse/HIVE-9371 > Project: Hive > Issue Type: Bug > Components: File Formats, Query Processor > Reporter: Matt McCline > Assignee: Ferdinand Xu > Priority: Critical > Attachments: HIVE-9371.1.patch, HIVE-9371.patch, HIVE-9371.patch > > > Query fails involving PARQUET table format, CHAR data type, and GROUP BY. > Probably also fails for VARCHAR, too. > {noformat} > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: > java.lang.ClassCastException: org.apache.hadoop.io.Text cannot be cast to > org.apache.hadoop.hive.serde2.io.HiveCharWritable > at > org.apache.hadoop.hive.ql.exec.GroupByOperator.processOp(GroupByOperator.java:814) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:815) > at > org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:84) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:815) > at > org.apache.hadoop.hive.ql.exec.TableScanOperator.processOp(TableScanOperator.java:95) > at > org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:157) > at > org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:493) > ... 10 more > Caused by: java.lang.ClassCastException: org.apache.hadoop.io.Text cannot be > cast to org.apache.hadoop.hive.serde2.io.HiveCharWritable > at > org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableHiveCharObjectInspector.copyObject(WritableHiveCharObjectInspector.java:104) > at > org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.copyToStandardObject(ObjectInspectorUtils.java:305) > at > org.apache.hadoop.hive.ql.exec.KeyWrapperFactory$ListKeyWrapper.deepCopyElements(KeyWrapperFactory.java:150) > at > org.apache.hadoop.hive.ql.exec.KeyWrapperFactory$ListKeyWrapper.deepCopyElements(KeyWrapperFactory.java:142) > at > org.apache.hadoop.hive.ql.exec.KeyWrapperFactory$ListKeyWrapper.copyKey(KeyWrapperFactory.java:119) > at > org.apache.hadoop.hive.ql.exec.GroupByOperator.processHashAggr(GroupByOperator.java:827) > at > org.apache.hadoop.hive.ql.exec.GroupByOperator.processKey(GroupByOperator.java:739) > at > org.apache.hadoop.hive.ql.exec.GroupByOperator.processOp(GroupByOperator.java:809) > ... 16 more > {noformat} > Here is a q file: > {noformat} > SET hive.vectorized.execution.enabled=false; > drop table char_2; > create table char_2 ( > key char(10), > value char(20) > ) stored as parquet; > insert overwrite table char_2 select * from src; > select value, sum(cast(key as int)), count(*) numrows > from src > group by value > order by value asc > limit 5; > explain select value, sum(cast(key as int)), count(*) numrows > from char_2 > group by value > order by value asc > limit 5; > -- should match the query from src > select value, sum(cast(key as int)), count(*) numrows > from char_2 > group by value > order by value asc > limit 5; > select value, sum(cast(key as int)), count(*) numrows > from src > group by value > order by value desc > limit 5; > explain select value, sum(cast(key as int)), count(*) numrows > from char_2 > group by value > order by value desc > limit 5; > -- should match the query from src > select value, sum(cast(key as int)), count(*) numrows > from char_2 > group by value > order by value desc > limit 5; > drop table char_2; > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)