[
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