You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Oleksiy Sayankin (JIRA)" <ji...@apache.org> on 2019/01/17 11:32:00 UTC

[jira] [Resolved] (HIVE-19295) Some multiple inserts do not work on MR engine

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

Oleksiy Sayankin resolved HIVE-19295.
-------------------------------------
    Resolution: Won't Fix

> Some multiple inserts do not work on MR engine
> ----------------------------------------------
>
>                 Key: HIVE-19295
>                 URL: https://issues.apache.org/jira/browse/HIVE-19295
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 2.3.3
>            Reporter: Oleksiy Sayankin
>            Assignee: Oleksiy Sayankin
>            Priority: Blocker
>
> *General Info*
> Hive version : 2.3.3
> {code}
> commit 3f7dde31aed44b5440563d3f9d8a8887beccf0be
> Author: Daniel Dai <da...@hortonworks.com>
> Date:   Wed Mar 28 16:46:29 2018 -0700
>     Preparing for 2.3.3 release
> {code}
> Hadoop version: 2.7.2.
> Engine
> {code}
> hive> set hive.execution.engine;
> hive.execution.engine=mr
> {code}
> *STEP 1. Create test data*
> {code}
> DROP TABLE IF EXISTS customer_target;
> DROP TABLE IF EXISTS customer_source;
> {code}
> {code}
> CREATE TABLE customer_target (id STRING, first_name STRING, last_name STRING, age INT); 
> {code}
> {code}
> insert into customer_target values ('001', 'John', 'Smith', 45), ('002', 'Michael', 'Watson', 27), ('003', 'Den', 'Brown', 33);
> SELECT id, first_name, last_name, age  FROM customer_target;
> {code}
> {code}
> +------+-------------+------------+------+
> |  id  | first_name  | last_name  | age  |
> +------+-------------+------------+------+
> | 002  | Michael     | Watson     | 27   |
> | 001  | John        | Smith      | 45   |
> | 003  | Den         | Brown      | 33   |
> +------+-------------+------------+------+
> {code}
> {code}
> CREATE TABLE customer_source (id STRING, first_name STRING, last_name STRING, age INT);
> insert into customer_source values ('001', 'Dorothi', 'Hogward', 77), ('007', 'Alex', 'Bowee', 1), ('088', 'Robert', 'Dowson', 25);
> SELECT id, first_name, last_name, age  FROM customer_source;
> {code}
> {code}
> +------+-------------+------------+------+
> |  id  | first_name  | last_name  | age  |
> +------+-------------+------------+------+
> | 088  | Robert      | Dowson     | 25   |
> | 001  | Dorothi     | Hogward    | 77   |
> | 007  | Alex        | Bowee      | 1    |
> +------+-------------+------------+------+
> {code}
> *STEP 2. Do multiple insert*
> {code}
> FROM
>   `default`.`customer_target` `trg`
>   RIGHT OUTER JOIN
>   `default`.`customer_source` `src`
>   ON `src`.`id` = `trg`.`id`
> INSERT INTO `default`.`customer_target`    -- update clause
>  select  `trg`.`id`, `src`.`first_name`, `src`.`last_name`, `trg`.`age`
>    WHERE `src`.`id` = `trg`.`id`
>  sort by `trg`.id 
> INSERT INTO `default`.`customer_target`    -- insert clause
>   select `src`.`id`, `src`.`first_name`, `src`.`last_name`, `src`.`age`
>    WHERE `trg`.`id` IS NULL   
> {code}
> *ACTUAL RESULT*
> {code}
> 2018-04-25T05:31:50,407 ERROR [e502bb46-e832-4156-860f-aba875bbb10b main] ql.Driver: FAILED: SemanticException [Error 10087]: The same output cannot be present multiple times:  customer_target
> org.apache.hadoop.hive.ql.parse.SemanticException: The same output cannot be present multiple times:  customer_target
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genFileSinkPlan(SemanticAnalyzer.java:6899)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPostGroupByBodyPlan(SemanticAnalyzer.java:9772)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genBodyPlan(SemanticAnalyzer.java:9644)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:10549)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:10427)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genOPTree(SemanticAnalyzer.java:11125)
>         at org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.java:481)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:11138)
>         at org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:286)
>         at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:258)
>         at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:512)
>         at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1317)
>         at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1457)
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1237)
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1227)
>         at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:233)
>         at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:184)
>         at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403)
>         at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:821)
>         at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:759)
>         at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:686)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
>         at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)