当前位置:网站首页>Spark 算子之sortBy使用
Spark 算子之sortBy使用
2022-04-23 15:45:00 【逆风飞翔的小叔】
前言
sortBy,顾名思义排序的意思,在Spark 中,使用sortBy可以对一组待处理的数据进行排序,这组数据不限于数字,也可以是元组等其他类型;
sortBy
函数签名
def sortBy[K](f: (T) => K , ascending: Boolean = true , numPartitions: Int = this.partitions.length)(implicit ord: Ordering[K], ctag: ClassTag[K]): RDD[T]
函数说明
该操作用于排序数据。在排序之前,可以将数据通过 f 函数进行处理,之后按照 f 函数处理的结果进行排序,默认为升序排列。排序后新产生的 RDD 的分区数与原 RDD 的分区数一致。中间存在 shuffle 的过程;
案例演示
下面将一组集合中的数据排序后,保存到本地文件目录中
import org.apache.spark.{SparkConf, SparkContext}
object SortBy_Test {
def main(args: Array[String]): Unit = {
val sparkConf = new SparkConf().setMaster("local[*]").setAppName("Operator")
val sc = new SparkContext(sparkConf)
val rdd = sc.makeRDD(List(1,2,3,4,5,6,7,9), 2)
rdd.sortBy(num => num)
rdd.saveAsTextFile("E:\\output")
sc.stop()
}
}
运行上面的代码,可以看到在本地目录下生成了两个文件

分别打开2个文件,可以发现,数据在两个不同的文件中各自进行了排序

将集合中的tuple数据按照key进行排序输出
import org.apache.spark.{SparkConf, SparkContext}
object SortBy_Test {
def main(args: Array[String]): Unit = {
val sparkConf = new SparkConf().setMaster("local[*]").setAppName("Operator")
val sc = new SparkContext(sparkConf)
var rddStr = sc.makeRDD(List(
("a",3),("d",2),("e",7)
),2)
rddStr.sortBy(t => t._1)
rddStr.collect().foreach(println)
sc.stop()
}
}
运行上面的代码,观察控制台输出结果

版权声明
本文为[逆风飞翔的小叔]所创,转载请带上原文链接,感谢
https://blog.csdn.net/congge_study/article/details/124360097
边栏推荐
猜你喜欢

Codejock Suite Pro v20.3.0

JVM - Chapter 2 - class loader subsystem

mysql乐观锁解决并发冲突

布隆过滤器在亿级流量电商系统的应用

WPS brand was upgraded to focus on China. The other two domestic software were banned from going abroad with a low profile

建设星际计算网络的愿景

服务器中毒了怎么办?服务器怎么防止病毒入侵?

One brush 314 sword finger offer 09 Implement queue (E) with two stacks

【AI周报】英伟达用AI设计芯片;不完美的Transformer要克服自注意力的理论缺陷

Use bitnami PostgreSQL docker image to quickly set up stream replication clusters
随机推荐
c语言---指针进阶
多生成树MSTP的配置
php类与对象
【自娱自乐】构造笔记 week 2
开源项目推荐:3D点云处理软件ParaView,基于Qt和VTK
Sorting and replying to questions related to transformer
计算某字符出现次数
王启亨谈Web3.0与价值互联网“通证交换”
Why is IP direct connection prohibited in large-scale Internet
PHP PDO ODBC将一个文件夹的文件装载到MySQL数据库BLOB列,并将BLOB列下载到另一个文件夹
Control structure (I)
PHP PDO ODBC loads files from one folder into the blob column of MySQL database and downloads the blob column to another folder
考试考试自用
Extract non duplicate integers
How did the computer reinstall the system? The display has no signal
Configuration of multi spanning tree MSTP
One brush 312 - simple repetition set - Sword finger offer 03 Duplicate number in array (E)
现在做自媒体能赚钱吗?看完这篇文章你就明白了
GFS distributed file system (Theory)
贫困的无网地区怎么有钱建设网络?