Spark-Sort排序详解
来源:互联网 发布:读取class属性 php 编辑:程序博客网 时间:2024/06/05 04:48
原文地址:http://blog.csdn.net/jiangpeng59/article/details/52938465
目录(?)[+]
1.sortByKey
无可非议sortByKey是Spark的最常用的排序,简单的案例暂且跳过,下面给一个非简单的案例,进入排序之旅
对下面简单元祖,要求先按元素1升序,若元素1相同,则再按元素3升序
(1, 6, 3), (2, 3, 3), (1, 1, 2), (1, 3, 5), (2, 1, 2)提示:sortByKey对于key是单个元素排序很简单,如果key是元组如(X1,X2,X3.....),它会先按照X1排序,若X1相同,则在根据X2排序,依次类推...
由上面的分析,我们可以给出如下的代码:
结果:
2.sortBy
SortBy其实是SortBykey的加强版,比如上面的功能可以使用这个函数实现看上去是不是很神奇,其实sortBy内部帮我们做的,就是我上面写的代码。下面看下SortBy的源码:
sortBy先调用keyBy函数,而keyBy的功能很简单,key为用户制定,比如上面的f => ((f._1, f._3),value为原始值:
3.Ordering
Ordering在Spark的排序应用中随处可见,比如上面的SortBy它就有一个隐式参数implicit ord: Ordering[K],如下摘抄自Scala提供AIP
对简单的类型排序, quickSort 这里使用了高阶函数的柯里化, 为第二个括号为Ordering类型的隐式参数
因为sortByKey实现了Ordering的很多功能,下面以Spark中的top函数为例
在下面的元组中,以第2个元素基,取出前3大的元组
结果:
0 0
- Spark-Sort排序详解
- Spark核心RDD:Sort排序详解
- Spark sort (排序)
- Spark Sort-Based Shuffle详解
- sort排序详解
- 第28课:彻底解密Spark Sort-Based Shuffle排序具体实现内幕和源码详解
- spark 自定义排序详解
- STL sort排序方法详解
- STL sort排序方法详解
- python sort sorted 排序详解
- Bubble Sort (排序详解 之 冒泡排序)
- Selection Sort(排序详解 之 选择排序)
- Shell Sort (排序详解之 希尔排序)
- 《Spark商业案例与性能调优实战100课》第28课:彻底解密Spark Sort-Based Shuffle排序具体实现内幕和源码详解
- JDK7中的排序算法详解--Collections.sort和Arrays.sort
- java中Collections.sort排序详解
- js数组的sort排序详解
- js数组的sort排序详解
- 详解HttpURLConnection(转)
- ffmpeg移植
- 接口回调
- JEECMS源代码节本结构及相关技术总结:
- linux 内核进程间通信semaphore和mutex
- Spark-Sort排序详解
- template method模式
- Tensorflow 代码学习(1)-GRUCell
- QTreeView的模型的写法注意事项
- DES算法破解需要时间的解析
- 从0开始搭建自己的个人网站教程(二)虚拟主机的选购指南
- 接收充电状态和电量的系统广播
- 如何快速转载csdn的博客
- mysql数据库入门(1)--各种数据库介绍