Matt McCline created HIVE-9371:
----------------------------------
Summary: 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
Priority: Critical
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)