hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phabricator (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-948) more query plan optimization rules
Date Tue, 12 Feb 2013 02:11:15 GMT

     [ 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

Mime
View raw message