Ganesha Shreedhara created HIVE-21660:
-----------------------------------------
Summary: Wrong result when union all and later view with explode
is used
Key: HIVE-21660
URL: https://issues.apache.org/jira/browse/HIVE-21660
Project: Hive
Issue Type: Bug
Affects Versions: 3.1.1
Reporter: Ganesha Shreedhara
There is a data loss when the data is inserted to a partitioned table using
union all and lateral view with explode.
*Steps to reproduce:*
{code:java}
create table t1 (id int, dt string);
insert into t1 values (2, '2019-04-01');
create table t3( id int, dates array<string>);
insert into t2 select 1 as id, array('2019-01-01','2019-01-02','2019-01-03') as
dates;
create table dst (id int) partitioned by (dt string);
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.dynamic.partition=true;
insert overwrite table dst partition (dt)
select t.id, t.dt from (
select id, dt from t1
union all
select id, dts as dt from t2 tt2 lateral view explode(tt2.dates) dd as dts ) t;
select * from dst_hdfs;
{code}
*Actual Result:*
{code:java}
+--------------+--------------+
| 2 | 2019-04-01 |
+--------------+--------------+{code}
*Expected Result* (Run only the select part from the above insert query)*:*
{code:java}
+-------+------------+
| 2 | 2019-04-01 |
| 1 | 2019-01-01 |
| 1 | 2019-01-02 |
| 1 | 2019-01-03 |
+-------+------------+{code}
Data retrieved using union all and lateral view with explode from second table
is missing.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)