当前位置:网站首页>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
边栏推荐
- 网站压测工具Apache-ab,webbench,Apache-Jemeter
- Best practices of Apache APIs IX high availability configuration center based on tidb
- pywintypes. com_ Error: (- 2147221020, 'invalid syntax', none, none)
- WPS品牌再升级专注国内,另两款国产软件低调出国门,却遭禁令
- Pgpool II 4.3 Chinese Manual - introductory tutorial
- Go并发和通道
- CAP定理
- shell脚本中的DATE日期计算
- Recommended search common evaluation indicators
- C#,贝尔数(Bell Number)的计算方法与源程序
猜你喜欢

IronPDF for . NET 2022.4.5455

山寨版归并【上】

Single architecture system re architecture

MySQL集群模式與應用場景

考试考试自用

使用 Bitnami PostgreSQL Docker 镜像快速设置流复制集群

Demonstration meeting on startup and implementation scheme of swarm intelligence autonomous operation smart farm project

For examination

Neodynamic Barcode Professional for WPF V11. 0

Cap theorem
随机推荐
开源项目推荐:3D点云处理软件ParaView,基于Qt和VTK
Named in pytoch_ parameters、named_ children、named_ Modules function
Connectez PHP à MySQL via aodbc
C#,贝尔数(Bell Number)的计算方法与源程序
What are the mobile app software testing tools? Sharing of third-party software evaluation
Single architecture system re architecture
【自娱自乐】构造笔记 week 2
服务器中毒了怎么办?服务器怎么防止病毒入侵?
IronPDF for . NET 2022.4.5455
Mumu, go all the way
计算某字符出现次数
Go concurrency and channel
Accumulation of applet knowledge points
一刷312-简单重复set-剑指 Offer 03. 数组中重复的数字(e)
MySQL集群模式与应用场景
php函数
ICE -- 源码分析
MySQL集群模式與應用場景
Upgrade MySQL 5.1 to 5.68
MySQL optimistic lock to solve concurrency conflict