微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

第五章_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()
  }

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐