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)

Reply via email to