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))
   }
 
   /**

Reply via email to