Github user yhuai commented on a diff in the pull request:
https://github.com/apache/spark/pull/7773#discussion_r35836003
--- Diff:
sql/core/src/main/scala/org/apache/spark/sql/execution/joins/ShuffledHashOuterJoin.scala
---
@@ -44,6 +44,13 @@ case class ShuffledHashOuterJoin(
override def requiredChildDistribution: Seq[Distribution] =
ClusteredDistribution(leftKeys) :: ClusteredDistribution(rightKeys) ::
Nil
+ override def outputPartitioning: Partitioning = joinType match {
+ case LeftOuter | RightOuter | FullOuter =>
+ PartitioningCollection(Seq(left.outputPartitioning,
right.outputPartitioning))
+ case x =>
+ throw new IllegalArgumentException(s"HashOuterJoin should not take
$x as the JoinType")
+ }
+
--- End diff --
I will remove this change for now. Once we have the nullSafe concept, we
can better describe how the result of this join operator is partitioned. For
example, right now, it is not safe to say that the output of this operator is
partitioned by the `rightKeys` when we have a left outer join (because rows
with null keys are not clustered).
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]