Spark 二次排序自定义key 实现(Java)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012848709/article/details/85853938

楔子

spark java版本的二次排序

实现

数据如下

2::4
2::10
3::6
1::5

按照 第一列 和第二列 倒叙排列 实现如下的结果

3::6
2::10
2::4
1::5

demo

GitHub 位置SecondarySortKey.javaSecondarySort.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
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u012848709/article/details/85853938