[ https://issues.apache.org/jira/browse/HIVE-16998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16102221#comment-16102221 ]
Sahil Takiar commented on HIVE-16998: ------------------------------------- Overall, the approach LGTM, just a few more comments: * I think we should reverse the hierarchy of the configs ** If {{hive.spark.dynamic.partition.pruning.map.join.only}} is true and {{hive.spark.dynamic.partition.pruning}} is false, then DPP is only enabled for map-joins ** If {{hive.spark.dynamic.partition.pruning}} is true DPP is enabled for shuffle joins and map-joins, the value of {{hive.spark.dynamic.partition.pruning.map.join.only}} is ignored ** The advantage is that if a user wants to enable DPP just for map-joins, there is only one config to set; if they want to enable it for both shuffle-joins and map-joins, there is also only one config to set * Can you update the javadocs for {{SparkRemoveDynamicPruning}}, it no longer just removes DPP based on estimated output size * {{Stage: Stage-0 - Fetch Operator}} isn't actually a Spark job, its the {{FetchOperator}} that is run by HS2 * There is a line in the qfile that says {{-- checking without partition pruning enabled}} even though dpp is enabled > Add config to enable HoS DPP only for map-joins > ----------------------------------------------- > > Key: HIVE-16998 > URL: https://issues.apache.org/jira/browse/HIVE-16998 > Project: Hive > Issue Type: Sub-task > Components: Logical Optimizer, Spark > Reporter: Sahil Takiar > Assignee: Janaki Lahorani > Attachments: HIVE16998.1.patch, HIVE16998.2.patch > > > HoS DPP will split a given operator tree in two under the following > conditions: it has detected that the query can benefit from DPP, and the > filter is not a map-join (see SplitOpTreeForDPP). > This can hurt performance if the the non-partitioned side of the join > involves a complex operator tree - e.g. the query {{select count(*) from > srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all > select min(srcpart.ds) from srcpart)}} will require running the subquery > twice, once in each Spark job. > Queries with map-joins don't get split into two operator trees and thus don't > suffer from this drawback. Thus, it would be nice to have a config key that > just enables DPP on HoS for map-joins. -- This message was sent by Atlassian JIRA (v6.4.14#64029)