JoshRosen opened a new pull request #24693: [SPARK-27829][SQL] In 
Dataset.joinWith inner joins, don't nest data before shuffling
URL: https://github.com/apache/spark/pull/24693
 
 
   ## What changes were proposed in this pull request?
   
   In order to support outer joins with null top-level objects, SPARK-15441 
modified Dataset.joinWith to project both inputs into single-column structs 
prior to the join.
   
   For inner joins, however, this step is unnecessary and actually harms 
performance: performing the nesting before the join increases the shuffled data 
size. As an optimization for inner joins only, we can move this nesting to 
occur after the join (effectively switching back to the pre- SPARK-15441 
behavior; see #13425).
   
   ## How was this patch tested?
   
   Existing tests, which I strengthened to also make assertions about the join 
result's nullability (since this guards against a bug I almost introduced 
during prototyping).

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

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

Reply via email to