Github user tdas commented on a diff in the pull request:
https://github.com/apache/spark/pull/19467#discussion_r144402006
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/physical/partitioning.scala
---
@@ -243,8 +246,9 @@ case class HashPartitioning(expressions:
Seq[Expression], numPartitions: Int)
override def satisfies(required: Distribution): Boolean = required match
{
case UnspecifiedDistribution => true
- case ClusteredDistribution(requiredClustering) =>
- expressions.forall(x =>
requiredClustering.exists(_.semanticEquals(x)))
+ case ClusteredDistribution(requiredClustering, desiredPartitions) =>
+ expressions.forall(x =>
requiredClustering.exists(_.semanticEquals(x))) &&
+ desiredPartitions.forall(_ == numPartitions) // if
desiredPartition = true, returns true
--- End diff --
// if desiredPartition**s** is **None**, return true
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]