spark常用转换操作:sortByKey()和sortBy()

Posted zzhangyuhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark常用转换操作:sortByKey()和sortBy()相关的知识,希望对你有一定的参考价值。

1.sortByKey()

功能:

  返回一个根据键排序的RDD

示例

val list = List(("a",3),("b",2),("c",1))
val pairRdd = sc.parallelize(list)
pairRdd.sortByKey().collect.foreach(println)

结果

(a,3)
(b,2)
(c,1)

如果我们想逆向排序,就在后边加上false参数。

pairRdd.sortByKey(false).collect.foreach(println)

2.sortBy()

功能:

  返回根据提供的参数进行排序的RDD

示例  

val list = List(("a",3),("b",2),("c",1))
val pairRdd = sc.parallelize(list)
pairRdd.sortBy(_._1).collect.foreach(println)//根据key进行排序,等同于sortByKey()

结果同上

val list = List(("a",3),("b",2),("c",1))
val pairRdd = sc.parallelize(list)
pairRdd.sortBy(_._2).collect.foreach(println)//用value进行排序

结果

(c,1)
(b,2)
(a,3)

如果我们想逆向排序,就在后边加上false参数。

pairRdd.sortBy(_._2,false).collect.foreach(println)

 

以上是关于spark常用转换操作:sortByKey()和sortBy()的主要内容,如果未能解决你的问题,请参考以下文章

spark wordcont Spark: sortBy和sortByKey函数详解

groupByKey,reduceByKey,sortByKey算子-Java&Python版Spark

mkString 和 sortByKey 不适用于 Spark 中的数组

大数据:Spark 算子排序算子sortByKey来看大数据平台下如何做排序

[Spark][Python]sortByKey 例子

Spark 使用sortByKey进行二次排序