You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Eric Lin (JIRA)" <ji...@apache.org> on 2016/01/06 12:20:39 UTC
[jira] [Updated] (HIVE-12788) Setting hive.optimize.union.remove to
TRUE will break UNION ALL with aggregate functions
[ https://issues.apache.org/jira/browse/HIVE-12788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Lin updated HIVE-12788:
----------------------------
Description:
See the test case below:
{code}
0: jdbc:hive2://localhost:10000/default> create table test (a int);
0: jdbc:hive2://localhost:10000/default> insert overwrite table test values (1);
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}
was:
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}
> 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> insert overwrite table test values (1);
> 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)