You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Edward Capriolo (JIRA)" <ji...@apache.org> on 2010/12/16 21:33:02 UTC

[jira] Resolved: (HIVE-154) Can't group by tinyints

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

Edward Capriolo resolved HIVE-154.
----------------------------------

    Resolution: Cannot Reproduce

Not exactly sure when and how but this works as of 0.6.0 (probably much before as well)
{noformat}
create table atest (anum tinyint); 
load data local inpath '/home/media6/tinytest.txt' into table atest;
select anum,count(1) from atest GROUP by (anum);
OK
2	1
4	1
5	1
7	2
dfs -cat /user/hive/warehouse/atest/*;
4
5
7
7
2
{noformat}

> Can't group by tinyints
> -----------------------
>
>                 Key: HIVE-154
>                 URL: https://issues.apache.org/jira/browse/HIVE-154
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>            Reporter: S. Alex Smith
>            Priority: Critical
>
> Attempting to group by tiny ints is considered okay by the CLI, but there's a run time error on the server side giving:
> java.lang.RuntimeException: org.apache.hadoop.hive.serde2.SerDeException: org.apache.hadoop.hive.serde2.dynamic_type.ParseException: Encountered "byte" at line 1, column 32.
> Was expecting one of:
>     "bool" ...
>     "i16" ...
>     "i32" ...
>     "i64" ...
>     "double" ...
>     "string" ...
>     "map" ...
>     "list" ...
>     "set" ...
>     "required" ...
>     "optional" ...
>     "skip" ...
>      ...
>      ...
>     "}" ...
>     
> 	at org.apache.hadoop.hive.ql.exec.ReduceSinkOperator.initialize(ReduceSinkOperator.java:108)
> 	at org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:190)
> 	at org.apache.hadoop.hive.ql.exec.FilterOperator.initialize(FilterOperator.java:49)
> 	at org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:190)
> 	at org.apache.hadoop.hive.ql.exec.SelectOperator.initialize(SelectOperator.java:48)
> 	at org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:190)
> 	at org.apache.hadoop.hive.ql.exec.TableScanOperator.initialize(TableScanOperator.java:36)
> 	at org.apache.hadoop.hive.ql.exec.MapOperator.initialize(MapOperator.java:166)
> 	at org.apache.hadoop.hive.ql.exec.ExecMapper.map(ExecMapper.java:57)
> 	at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:47)
> 	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:220)
> 	at org.apache.hadoop.mapred.TaskTracker$Child.main(TaskTracker.java:2139)
> Caused by: org.apache.hadoop.hive.serde2.SerDeException: org.apache.hadoop.hive.serde2.dynamic_type.ParseException: Encountered "byte" at line 1, column 32.
> This can be worked around by casting tinyints as ints.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.