[ 
https://issues.apache.org/jira/browse/HIVE-948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phabricator updated HIVE-948:
-----------------------------

    Attachment: HIVE-948.D8463.2.patch

navis updated the revision "HIVE-948 [jira] more query plan optimization rules".

  Addressed comments

Reviewers: ashutoshc, JIRA

REVISION DETAIL
  https://reviews.facebook.net/D8463

CHANGE SINCE LAST DIFF
  https://reviews.facebook.net/D8463?vs=27441&id=27603#toc

AFFECTED FILES
  ql/src/java/org/apache/hadoop/hive/ql/optimizer/CleanupProcessor.java
  ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java
  ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java
  ql/src/java/org/apache/hadoop/hive/ql/ppd/OpProcFactory.java
  ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicateTransitivePropagate.java
  ql/src/test/results/clientpositive/alias_casted_column.q.out
  ql/src/test/results/clientpositive/ambiguous_col.q.out
  ql/src/test/results/clientpositive/auto_join1.q.out
  ql/src/test/results/clientpositive/auto_join12.q.out
  ql/src/test/results/clientpositive/auto_join14_hadoop20.q.out
  ql/src/test/results/clientpositive/auto_join17.q.out
  ql/src/test/results/clientpositive/auto_join19.q.out
  ql/src/test/results/clientpositive/auto_join2.q.out
  ql/src/test/results/clientpositive/auto_join20.q.out
  ql/src/test/results/clientpositive/auto_join22.q.out
  ql/src/test/results/clientpositive/auto_join26.q.out
  ql/src/test/results/clientpositive/auto_join28.q.out
  ql/src/test/results/clientpositive/auto_join29.q.out
  ql/src/test/results/clientpositive/auto_join3.q.out
  ql/src/test/results/clientpositive/auto_join4.q.out
  ql/src/test/results/clientpositive/auto_join5.q.out
  ql/src/test/results/clientpositive/auto_join6.q.out
  ql/src/test/results/clientpositive/auto_join7.q.out
  ql/src/test/results/clientpositive/auto_join8.q.out
  ql/src/test/results/clientpositive/auto_join9.q.out
  ql/src/test/results/clientpositive/binarysortable_1.q.out
  ql/src/test/results/clientpositive/bucket_groupby.q.out
  ql/src/test/results/clientpositive/bucket_map_join_1.q.out
  ql/src/test/results/clientpositive/bucket_map_join_2.q.out
  ql/src/test/results/clientpositive/bucketcontext_1.q.out
  ql/src/test/results/clientpositive/bucketcontext_2.q.out
  ql/src/test/results/clientpositive/bucketcontext_3.q.out
  ql/src/test/results/clientpositive/bucketcontext_4.q.out
  ql/src/test/results/clientpositive/bucketcontext_5.q.out
  ql/src/test/results/clientpositive/bucketcontext_6.q.out
  ql/src/test/results/clientpositive/bucketcontext_7.q.out
  ql/src/test/results/clientpositive/bucketcontext_8.q.out
  ql/src/test/results/clientpositive/bucketmapjoin1.q.out
  ql/src/test/results/clientpositive/bucketmapjoin10.q.out
  ql/src/test/results/clientpositive/bucketmapjoin11.q.out
  ql/src/test/results/clientpositive/bucketmapjoin12.q.out
  ql/src/test/results/clientpositive/bucketmapjoin13.q.out
  ql/src/test/results/clientpositive/bucketmapjoin2.q.out
  ql/src/test/results/clientpositive/bucketmapjoin3.q.out
  ql/src/test/results/clientpositive/bucketmapjoin4.q.out
  ql/src/test/results/clientpositive/bucketmapjoin5.q.out
  ql/src/test/results/clientpositive/bucketmapjoin8.q.out
  ql/src/test/results/clientpositive/bucketmapjoin9.q.out
  ql/src/test/results/clientpositive/bucketmapjoin_negative.q.out
  ql/src/test/results/clientpositive/bucketmapjoin_negative2.q.out
  ql/src/test/results/clientpositive/bucketmapjoin_negative3.q.out
  ql/src/test/results/clientpositive/column_access_stats.q.out
  ql/src/test/results/clientpositive/create_view.q.out
  ql/src/test/results/clientpositive/ppd1.q.out
  ql/src/test/results/clientpositive/ppd2.q.out
  ql/src/test/results/clientpositive/ppd_clusterby.q.out
  ql/src/test/results/clientpositive/ppd_constant_expr.q.out
  ql/src/test/results/clientpositive/ppd_gby.q.out
  ql/src/test/results/clientpositive/ppd_gby2.q.out
  ql/src/test/results/clientpositive/ppd_gby_join.q.out
  ql/src/test/results/clientpositive/ppd_join.q.out
  ql/src/test/results/clientpositive/ppd_join2.q.out
  ql/src/test/results/clientpositive/ppd_join3.q.out
  ql/src/test/results/clientpositive/ppd_multi_insert.q.out
  ql/src/test/results/clientpositive/ppd_random.q.out
  ql/src/test/results/clientpositive/ppd_repeated_alias.q.out
  ql/src/test/results/clientpositive/ppd_udf_col.q.out
  ql/src/test/results/clientpositive/ppd_union.q.out
  ql/src/test/results/clientpositive/ppd_union_view.q.out

To: JIRA, ashutoshc, navis

                
> more query plan optimization rules 
> -----------------------------------
>
>                 Key: HIVE-948
>                 URL: https://issues.apache.org/jira/browse/HIVE-948
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Ning Zhang
>            Assignee: Navis
>         Attachments: HIVE-948.D8463.1.patch, HIVE-948.D8463.2.patch
>
>
> Many query plans are not optimal in that they contain redundant operators. 
> Some examples are unnecessary select operators (select followed by select, 
> select output being the same as input etc.). Even though these operators are 
> not very expensive, they could account for around 10% of CPU time in some 
> simple queries. It seems they are low-hanging fruits that we should pick 
> first. 
> BTW, it seems these optimization rules should be added at the last stage of 
> the physical optimization phase since some redundant operators are added to 
> facilitate physical plan generation. 

--
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