Spark 二次排序自定义key 实现(Java)
楔子
spark java版本的二次排序
实现
数据如下
2::4
2::10
3::6
1::5
按照 第一列 和第二列 倒叙排列 实现如下的结果
3::6
2::10
2::4
1::5
demo
GitHub 位置 的 SecondarySortKey.java
和SecondarySort.java
Spark中sortByKey实现算子对数据的Key排序。二次排序需要自定义key值,在自定义key中实现排序的功能
排序使用了 Comparator进行排序 借助了工具类CompareToBuilder()的方法,排序部分如下
@Override
public int compareTo(SecondarySortKey o) {
// 此结果是正序排列
return new CompareToBuilder().append(first, o.first).append(second, o.second).toComparison();
// 1::5
// 2::4
// 2::10
// 3::6
}