[
https://issues.apache.org/jira/browse/HIVE-16907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16050173#comment-16050173
]
Nemon Lou commented on HIVE-16907:
----------------------------------
Refer to this method :
https://github.com/apache/hive/blob/release-2.0.0/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java#L322
tdb.t1 is treated as a table name.
--> 'tdb.tdb.t1' is putted in insertIntoTables of QBParseInfo
--> QBParseInfo.isInsertIntoTable('tdb.t1') returns false
-->LoadTableDesc.setReplace(!qb.getParseInfo().isInsertIntoTable(dest_tab.getDbName(),
dest_tab.getTableName())) setting replace to true.
> "INSERT INTO" overwrite old data when destination table encapsulated by
> backquote
> ------------------------------------------------------------------------------------
>
> Key: HIVE-16907
> URL: https://issues.apache.org/jira/browse/HIVE-16907
> Project: Hive
> Issue Type: Bug
> Components: Parser
> Affects Versions: 1.1.0, 2.1.1
> Reporter: Nemon Lou
>
> A way to reproduce:
> {noformat}
> create database tdb;
> use tdb;
> create table t1(id int);
> create table t2(id int);
> explain insert into `tdb.t1` select * from t2;
> {noformat}
> {noformat}
> +---------------------------------------------------------------------------------------------------------------------------------------------------+
> |
> Explain |
> +---------------------------------------------------------------------------------------------------------------------------------------------------+
> | STAGE DEPENDENCIES:
> |
> | Stage-1 is a root stage
> |
> | Stage-6 depends on stages: Stage-1 , consists of Stage-3, Stage-2,
> Stage-4 |
> | Stage-3
> |
> | Stage-0 depends on stages: Stage-3, Stage-2, Stage-5
> |
> | Stage-2
> |
> | Stage-4
> |
> | Stage-5 depends on stages: Stage-4
> |
> |
> |
> | STAGE PLANS:
> |
> | Stage: Stage-1
> |
> | Map Reduce
> |
> | Map Operator Tree:
> |
> | TableScan
> |
> | alias: t2
> |
> | Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
> stats: NONE |
> | Select Operator
> |
> | expressions: id (type: int)
> |
> | outputColumnNames: _col0
> |
> | Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
> stats: NONE |
> | File Output Operator
> |
> | compressed: false
> |
> | Statistics: Num rows: 0 Data size: 0 Basic stats: NONE
> Column stats: NONE |
> | table:
> |
> | input format:
> org.apache.hadoop.hive.ql.io.RCFileInputFormat
> |
> | output format:
> org.apache.hadoop.hive.ql.io.RCFileOutputFormat
> |
> | serde:
> org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe
> |
> | name: tdb.t1
> |
> |
> |
> | Stage: Stage-6
> |
> | Conditional Operator
> |
> |
> |
> | Stage: Stage-3
> |
> | Move Operator
> |
> | files:
> |
> | hdfs directory: true
> |
> | destination:
> hdfs://hacluster/user/hive/warehouse/tdb.db/t1/.hive-staging_hive_2017-06-15_15-52-34_017_849305017872068583-1/-ext-10000
> |
> |
> |
> | Stage: Stage-0
> |
> | Move Operator
> |
> | tables:
> |
> | replace: true
> |
> | table:
> |
> | input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat
> |
> | output format:
> org.apache.hadoop.hive.ql.io.RCFileOutputFormat
> |
> | serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe
> |
> | name: tdb.t1
> |
> |
> |
> | Stage: Stage-2
> |
> | Merge File Operator
> |
> | Map Operator Tree:
> |
> | RCFile Merge Operator
> |
> | merge level: block
> |
> | input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat
> |
> |
> |
> | Stage: Stage-4
> |
> | Merge File Operator
> |
> | Map Operator Tree:
> |
> | RCFile Merge Operator
> |
> | merge level: block
> |
> | input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat
> |
> |
> |
> | Stage: Stage-5
> |
> | Move Operator
> |
> | files:
> |
> | hdfs directory: true
> |
> | destination:
> hdfs://hacluster/user/hive/warehouse/tdb.db/t1/.hive-staging_hive_2017-06-15_15-52-34_017_849305017872068583-1/-ext-10000
> |
> |
> |
> +---------------------------------------------------------------------------------------------------------------------------------------------------+
> {noformat}
> Note that 'replace: true' in move operator
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)