相比于scala,用java写二次排序较繁琐一些,请参考:
Spark Java 二次排序:http://blog.csdn.net/leen0304/article/details/78280282
Spark Scala 二次排序: http://blog.csdn.net/leen0304/article/details/78280282
下边用sortByKey实现二次排序:
为了说明问题,举了一个简单的例子,key是由两部分组成的,我们这里按key的第一部分的升序排,key的第二部分降序排,具体如下:
public class SecondarySortByKey implements Serializable {
public static void main(String[] args) {
SparkConf conf = new SparkConf().setAppName("SecondarySortByKey").setMaster("local");
JavaSparkContext sc = new JavaSparkContext(conf);
List<Tuple2<String, Integer>> list = Arrays.asList(
new Tuple2<String, Integer>("A", 10),
new Tuple2<String, Integer>("D", 20),
new Tuple2<String, Integer>("D", 6),
new Tuple2<String, Integer>("B", 6),