Hook directly to Scala API
Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/0b494f7d Tree: http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/0b494f7d Diff: http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/0b494f7d Branch: refs/heads/master Commit: 0b494f7db47cf1de35aaed046f21bbb3592c3d97 Parents: e85af50 Author: Binh Nguyen <[email protected]> Authored: Tue Dec 10 11:17:52 2013 -0800 Committer: Binh Nguyen <[email protected]> Committed: Tue Dec 10 11:17:52 2013 -0800 ---------------------------------------------------------------------- .../scala/org/apache/spark/api/java/JavaPairRDD.scala | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/0b494f7d/core/src/main/scala/org/apache/spark/api/java/JavaPairRDD.scala ---------------------------------------------------------------------- diff --git a/core/src/main/scala/org/apache/spark/api/java/JavaPairRDD.scala b/core/src/main/scala/org/apache/spark/api/java/JavaPairRDD.scala index 2d2b384..d0ca289 100644 --- a/core/src/main/scala/org/apache/spark/api/java/JavaPairRDD.scala +++ b/core/src/main/scala/org/apache/spark/api/java/JavaPairRDD.scala @@ -584,9 +584,11 @@ class JavaPairRDD[K, V](val rdd: RDD[(K, V)])(implicit val kManifest: ClassManif * order of the keys). */ def sortByKey(comp: Comparator[K], ascending: Boolean): JavaPairRDD[K, V] = { - // numPartitions should never be negative in practice so we can use -1 here to indicate that - // we want to use implementation's default value. - sortByKey(comp, ascending, -1) + class KeyOrdering(val a: K) extends Ordered[K] { + override def compare(b: K) = comp.compare(a, b) + } + implicit def toOrdered(x: K): Ordered[K] = new KeyOrdering(x) + fromRDD(new OrderedRDDFunctions[K, V, (K, V)](rdd).sortByKey(ascending)) } /** @@ -600,11 +602,7 @@ class JavaPairRDD[K, V](val rdd: RDD[(K, V)])(implicit val kManifest: ClassManif override def compare(b: K) = comp.compare(a, b) } implicit def toOrdered(x: K): Ordered[K] = new KeyOrdering(x) - if (numPartitions < 0) { - fromRDD(new OrderedRDDFunctions[K, V, (K, V)](rdd).sortByKey(ascending)) - } else { - fromRDD(new OrderedRDDFunctions[K, V, (K, V)](rdd).sortByKey(ascending, numPartitions)) - } + fromRDD(new OrderedRDDFunctions[K, V, (K, V)](rdd).sortByKey(ascending, numPartitions)) } /**
