[ 
https://issues.apache.org/jira/browse/HIVE-3276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13487852#comment-13487852
 ] 

Hudson commented on HIVE-3276:
------------------------------

Integrated in Hive-trunk-h0.21 #1767 (See 
[https://builds.apache.org/job/Hive-trunk-h0.21/1767/])
    HIVE-3276. optimize union sub-queries. (njain via kevinwilfong) (Revision 
1403928)

     Result = FAILURE
kevinwilfong : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1403928
Files : 
* /hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
* /hive/trunk/conf/hive-default.xml.template
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FilterOperator.java
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/SelectOperator.java
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
* 
/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMRFileSink1.java
* 
/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMRProcContext.java
* 
/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/unionproc/UnionProcContext.java
* 
/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/unionproc/UnionProcFactory.java
* 
/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/unionproc/UnionProcessor.java
* 
/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ConditionalResolverMergeFiles.java
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/SelectDesc.java
* /hive/trunk/ql/src/test/queries/clientpositive/skewjoin_union_remove_1.q
* /hive/trunk/ql/src/test/queries/clientpositive/skewjoin_union_remove_2.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_1.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_10.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_11.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_12.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_13.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_14.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_15.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_16.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_17.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_18.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_19.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_2.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_20.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_21.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_22.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_23.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_24.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_3.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_4.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_5.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_6.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_7.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_8.q
* /hive/trunk/ql/src/test/queries/clientpositive/union_remove_9.q
* /hive/trunk/ql/src/test/results/clientpositive/skewjoin_union_remove_1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/skewjoin_union_remove_2.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_10.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_11.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_12.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_13.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_14.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_15.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_16.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_17.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_18.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_19.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_2.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_20.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_21.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_22.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_23.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_24.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_3.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_4.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_5.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_6.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_7.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_8.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union_remove_9.q.out

                
> optimize union sub-queries
> --------------------------
>
>                 Key: HIVE-3276
>                 URL: https://issues.apache.org/jira/browse/HIVE-3276
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 0.10.0
>            Reporter: Namit Jain
>            Assignee: Namit Jain
>             Fix For: 0.10.0
>
>         Attachments: hive.3276.10.patch, hive.3276.11.patch, 
> hive.3276.12.patch, hive.3276.13.patch, hive.3276.14.patch, 
> HIVE-3276.1.patch, hive.3276.2.patch, hive.3276.3.patch, hive.3276.4.patch, 
> hive.3276.5.patch, hive.3276.6.patch, hive.3276.7.patch, hive.3276.8.patch, 
> hive.3276.9.patch
>
>
> It might be a good idea to optimize simple union queries containing 
> map-reduce jobs in at least one of the sub-qeuries.
> For eg:
> a query like:
> insert overwrite table T1 partition P1
> select * from 
> (
>   subq1
>     union all
>   subq2
> ) u;
> today creates 3 map-reduce jobs, one for subq1, another for subq2 and 
> the final one for the union. 
> It might be a good idea to optimize this. Instead of creating the union 
> task, it might be simpler to create a move task (or something like a move
> task), where the outputs of the two sub-queries will be moved to the final 
> directory. This can easily extend to more than 2 sub-queries in the union.
> This is very useful if there is a select * followed by filesink after the
> union. This can be independently useful, and also be used to optimize the
> skewed joins https://cwiki.apache.org/Hive/skewed-join-optimization.html.
> If there is a select, filter between the union and the filesink, the select
> and the filter can be moved before the union, and the follow-up job can
> still be removed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to