- JavaSpark | 算子
- JavaSpark | RDD实战:WordCount
- JavaSpark | RDD实战:统计网站 pv 和 uv
- JavaSpark | RDD实战:二次排序
- JavaSpark | RDD实战:分组top n
- JavaSpark | SparkSQL | 创建DataSet | UDF与UDAF | 开窗函数
1.二次排序
二次排序。顾名思义,就是先按第一个列进行排序,在此基础上,再按第二个位置排序。
三次排序、四次排序与二次排序原理一致
/*
* SecondSort:第一个数据比完,再比较第二个数据
* 想要通过算子进行排序,在这边只能使用sortByKey,但是数据本身不是一个普通的对象
* 所以,要自定义key对象,引入Serializable, Comparable接口,重写compareTo方法,实现比较逻辑
* */
案例数据格式如下:
2.二次排序实战
SecondSortKey.java
:
package com.shsxt.java;
import java.io.Serializable;
public class SecondSortKey implements Serializable, Comparable<SecondSortKey> {
//成员属性
private int first;
private int second;
//get与set方法
public int getFirst() {
return first;
}
public void setFirst(int first) {
this.first = first;
}
public int getSecond() {
return second;
}
public void setSecond(int second) {