1.定义
/*
* 1.定义
* def sortByKey(ascending: Boolean = true, numPartitions: Int = self.partitions.length)
* : RDD[(K, V)] = self.withScope
* ascending : true-正序 false-逆序
* numPartitions : 排序完后,对结果数据的分区数
*
* 2.功能
* 拉取所有分区节点的数据,根据 key对Rdd进行排序
*
* 3.note
* key的数据类型 必须实现 Ordered 接口(特质)
* */
2.案例
object sortByKeyTest1 extends App {
val sparkconf: SparkConf = new SparkConf().setMaster("local").setAppName("distinctTest")
val sc: SparkContext = new SparkContext(sparkconf)
val rdd = sc.makeRDD(List(("a", 88), ("b", 95), ("a", 91), ("b", 93), ("a", 95), ("b", 98)), 2)
rdd.saveAsTextFile("Spark_319/src/output/01")
private val rdd2: RDD[(String, Int)] = rdd.sortByKey(false)
rdd2.saveAsTextFile("Spark_319/src/output/02")
println(rdd2.collect().mkString(","))
sc.stop()
}