Aleksey Vovchenko created HIVE-16118:
----------------------------------------
Summary: Some queries with multiple inserts fail in Hive-1.2 and
work in Hive-0.13
Key: HIVE-16118
URL: https://issues.apache.org/jira/browse/HIVE-16118
Project: Hive
Issue Type: Bug
Components: Hive
Affects Versions: 2.1.1, 2.1.0, 1.2.0
Reporter: Aleksey Vovchenko
STEPS TO REPRODUCE:
1. Create tables and insert data into it:
CREATE TABLE `table1` (`id` INT, `date` TIMESTAMP);
CREATE TABLE `table2` (`id` INT, `date` TIMESTAMP);
CREATE TABLE `table3` (`id` INT, `date` TIMESTAMP);
CREATE TABLE `table4` (`id` INT, `date` TIMESTAMP);
INSERT OVERWRITE TABLE `table1` VALUES (1,'2006-03-30 19:42:06'),(2,'2014-05-11
09:39:11'),(3,'2010-09-01 04:42:17'),(4,'2012-01-04 19:56:20'),(5,'2011-02-12
03:03:42');
INSERT OVERWRITE TABLE `table2` VALUES (1,'2006-03-30 19:42:06'),(2,'2014-05-11
09:39:11'),(3,'2010-09-01 04:42:17'),(4,'2012-01-04 19:56:20'),(5,'2011-02-12
03:03:42');
2. Run the query with multiple inserts:
FROM `table1` AS `t1`
LEFT OUTER JOIN `table2` AS `t2`
ON `t1`.`id` = `t2`.`id`
INSERT OVERWRITE TABLE `table3`
SELECT `t1`.`id`, `t1`.`date`
WHERE STRING(`t1`.`date`) <=
STRING(from_unixtime(unix_timestamp(),'yyyy-MM-dd'))
INSERT OVERWRITE TABLE `table4`
SELECT `t1`.`id`, `t1`.`date`
WHERE `t1`.`id` <= INT(IF(`t2`.`id` IS NULL,0,`t2`.`id`));
ACTUAL RESULT:
The query failed with such exception:
2017-02-22 11:00:03,904 ERROR [Thread-14]: exec.Task
(SessionState.java:printError(963)) -
Task with the most failures(4):
-----
Task ID:
task_1487688226052_0091_m_000000
-----
Diagnostic Messages for this Task:
Error: java.lang.RuntimeException:
org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while
processing row {"id":1,"date":"2006-03-30 19:42:06"}
at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:172)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:458)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:348)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
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:1595)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error
while processing row {"id":1,"date":"2006-03-30 19:42:06"}
at
org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:546)
at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:163)
... 8 more
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unexpected
exception: org.apache.hadoop.hive.serde2.SerDeException: Error: expecting 2 but
asking for field 2
data=[Ljava.lang.Object;@39836856
tableType=struct<id:int,date:timestamp>
dataType=struct<_col0:int,_col1:timestamp,_col5:int>
at
org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:426)
at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:838)
at
org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:97)
at
org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:165)
at
org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:536)
... 9 more
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException:
org.apache.hadoop.hive.serde2.SerDeException: Error: expecting 2 but asking for
field 2
data=[Ljava.lang.Object;@39836856
tableType=struct<id:int,date:timestamp>
dataType=struct<_col0:int,_col1:timestamp,_col5:int>
at
org.apache.hadoop.hive.ql.exec.FileSinkOperator.process(FileSinkOperator.java:789)
at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:838)
at
org.apache.hadoop.hive.ql.exec.FilterOperator.process(FilterOperator.java:122)
at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:838)
at
org.apache.hadoop.hive.ql.exec.CommonJoinOperator.internalForward(CommonJoinOperator.java:644)
at
org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genAllOneUniqueJoinObject(CommonJoinOperator.java:676)
at
org.apache.hadoop.hive.ql.exec.CommonJoinOperator.checkAndGenObject(CommonJoinOperator.java:754)
at
org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:414)
... 13 more
Caused by: org.apache.hadoop.hive.serde2.SerDeException: Error: expecting 2 but
asking for field 2
data=[Ljava.lang.Object;@39836856
tableType=struct<id:int,date:timestamp>
dataType=struct<_col0:int,_col1:timestamp,_col5:int>
at
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.doSerialize(LazySimpleSerDe.java:239)
at
org.apache.hadoop.hive.serde2.AbstractEncodingAwareSerDe.serialize(AbstractEncodingAwareSerDe.java:50)
at
org.apache.hadoop.hive.ql.exec.FileSinkOperator.process(FileSinkOperator.java:720)
... 20 more
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)