You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Eric Lin (JIRA)" <ji...@apache.org> on 2016/01/06 12:19:39 UTC

[jira] [Created] (HIVE-12788) Setting hive.optimize.union.remove to TRUE will break UNION ALL with aggregate functions

Eric Lin created HIVE-12788:
-------------------------------

             Summary: Setting hive.optimize.union.remove to TRUE will break UNION ALL with aggregate functions
                 Key: HIVE-12788
                 URL: https://issues.apache.org/jira/browse/HIVE-12788
             Project: Hive
          Issue Type: Bug
          Components: Hive
    Affects Versions: 1.1.1
            Reporter: Eric Lin


See the test case below:

{code}
0: jdbc:hive2://localhost:10000/default> create table test (a int);

0: jdbc:hive2://localhost:10000/default> set hive.optimize.union.remove=true;
No rows affected (0.01 seconds)

0: jdbc:hive2://localhost:10000/default> set hive.mapred.supports.subdirectories=true;
No rows affected (0.007 seconds)

0: jdbc:hive2://localhost:10000/default> SELECT COUNT(1) FROM test UNION ALL SELECT COUNT(1) FROM test;
+----------+--+
| _u1._c0  |
+----------+--+
+----------+--+
{code}

Run the same query without setting hive.mapred.supports.subdirectories and hive.optimize.union.remove to true will give correct result:

{code}
0: jdbc:hive2://localhost:10000/default> SELECT COUNT(1) FROM test UNION ALL SELECT COUNT(1) FROM test;
+----------+--+
| _u1._c0  |
+----------+--+
| 1        |
| 1        |
+----------+--+
{code}

UNION ALL without COUNT function will work as expected:

{code}
0: jdbc:hive2://localhost:10000/default> select * from test UNION ALL SELECT * FROM test;
+--------+--+
| _u1.a  |
+--------+--+
| 1      |
| 1      |
+--------+--+
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)