第五章_Spark核心编程_Rdd_转换算子_keyValue型_sortByKey

 


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()
  }
复制代码

 

posted @   学而不思则罔!  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示