XiDuo You created SPARK-60674:
---------------------------------

             Summary: Convert a sort merge join to a shuffled hash join through 
a GroupPartitionsExec
                 Key: SPARK-60674
                 URL: https://issues.apache.org/jira/browse/SPARK-60674
             Project: Spark
          Issue Type: Improvement
          Components: SQL
    Affects Versions: 5.0.0
            Reporter: XiDuo You


ConvertSortMergeJoinToShuffledHashJoin reaches a join side's shuffle stage only 
through the join's own sort. A GroupPartitionsExec that the co-partitioned 
alignment keeps over that stage (a partially clustered pairing keeps its nodes, 
and a side of such a pairing can be a keyed shuffle stage) stops the traversal, 
so a sort merge join that could be a shuffled hash join keeps its child sorts 
even though the build side fits a local hash map.

The rule now looks through GroupPartitionsExec as well, and folds the shuffle's 
per-partition bytes the way its grouping regroups them: an output partition 
holds every child partition in its group, so the build-size bound is the 
largest group sum rather than the largest child partition. Nodes that coalesce, 
pad, prune, reduce or replicate keep their own reported partitioning and are 
handled unchanged by the rest of the rule; only the bound they imply changes.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to