cloud-fan commented on code in PR #42194:
URL: https://github.com/apache/spark/pull/42194#discussion_r1305073226
##########
sql/catalyst/src/main/scala/org/apache/spark/sql/internal/SQLConf.scala:
##########
@@ -1500,6 +1500,16 @@ object SQLConf {
.booleanConf
.createWithDefault(false)
+ val V2_BUCKETING_SHUFFLE_ENABLED =
+ buildConf("spark.sql.sources.v2.bucketing.shuffle.enabled")
+ .doc("During a storage-partitioned join, whether to allow to shuffle
only one side." +
+ "When only one side is KeyGroupedPartitioning, if the conditions are
met, spark will " +
+ "only shuffle the other side. This optimization will reduce the amount
of data that " +
Review Comment:
shall we make the algorithm smarter? If the other side is large, doing a
`KeyGroupedPartitioning` may lead to skew and it's still better to shuffle both
sides with hash partitioning.
Let's think of an extreme case: one side reports `KeyGroupedPartitioning`
with only one partition, with this optimization, we end up with doing the join
using a single thread.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]