takeOrdered:
def takeOrdered(num: Int)(implicit ord: Ordering[T]): Array[T]
takeOrdered函数与take类似,它返回结果的顺序与take函数相反。
scala> val a = sc.parallelize(Array(2,5,6,8,9))
a: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[83] at parallelize at <console>:24
scala> a.top(1)
res49: Array[Int] = Array(9)
scala> a.top(4)
res50: Array[Int] = Array(9, 8, 6, 5)
scala> a.top(5)
res51: Array[Int] = Array(9, 8, 6, 5, 2)
scala> a.takeOrdered(2)
res52: Array[Int] = Array(2, 5)
scala> a.takeOrdered(4)
res53: Array[Int] = Array(2, 5, 6, 8)
top(num)按降序排序,而takeOrdered(num)按升序排序