You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by Ch Wan <xm...@gmail.com> on 2014/08/21 08:27:37 UTC
Hive Runtime Error: Unable to deserialize reduce input key from...
Hi, I have two hive (0.13) tables with the following create syntax:
CREATE TABLE `src`(
> `a` string,
> `b` int,
> `c` int,
> `p` string
> );
CREATE TABLE `tgt`(
> `a` string,
> `b` int,
> `c` int
> )PARTITIONED BY (`p` string);
And the table src contains only one row :
hive> select * from src;
> OK
> www -123 8831 month_city
>
When I run the SQL:
INSERT into TABLE `tgt` partition (p) SELECT 'all', b, sum(c), p FROM `src`
> group by b, p;
>
I will got the this error:
Diagnostic Messages for this Task:
> Error: java.lang.RuntimeException:
> org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error:
> Unable to deserialize reduce input key from
> x1x109x111x110x116x104x95x99x105x116x121x0x1x97x108x108x0x1x127x255x255x133x255
> with properties {columns=reducesinkkey0,reducesinkkey1,reducesinkkey2,
> serialization.lib=org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe,
> serialization.sort.order=+++, columns.types=string,int,string}
> at
> org.apache.hadoop.hive.ql.exec.mr.ExecReducer.reduce(ExecReducer.java:283)
> at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:462)
> at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:408)
> at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:162)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
> at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:157)
> Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime
> Error: Unable to deserialize reduce input key from
> x1x109x111x110x116x104x95x99x105x116x121x0x1x97x108x108x0x1x127x255x255x133x255
> with properties {columns=reducesinkkey0,reducesinkkey1,reducesinkkey2,
> serialization.lib=org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe,
> serialization.sort.order=+++, columns.types=string,int,string}
> at
> org.apache.hadoop.hive.ql.exec.mr.ExecReducer.reduce(ExecReducer.java:222)
> ... 7 more
> Caused by: org.apache.hadoop.hive.serde2.SerDeException:
> java.io.EOFException
> at
> org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe.deserialize(BinarySortableSerDe.java:189)
> at
> org.apache.hadoop.hive.ql.exec.mr.ExecReducer.reduce(ExecReducer.java:220)
> ... 7 more
> Caused by: java.io.EOFException
> at
> org.apache.hadoop.hive.serde2.binarysortable.InputByteBuffer.read(InputByteBuffer.java:54)
> at
> org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe.deserializeText(BinarySortableSerDe.java:550)
> at
> org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe.deserialize(BinarySortableSerDe.java:285)
> at
> org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe.deserialize(BinarySortableSerDe.java:185)
> ... 8 more
>
FAILED: Execution Error, return code 2 from
> org.apache.hadoop.hive.ql.exec.mr.MapRedTask
But if i create table and run query with hive0.11, everything is OK.
Could somebody help me to figure out what goes wrong?