scala 实现自定义排序算法
--数据aaa.txt:
4 1
3 2
8 7
2 3
4 3
2 1
package com.lhj.www
class KeyPair(val first:Int,val second:Int) extends Ordered[KeyPair] with Serializable{
def compare(other: KeyPair): Int = {
if(this.first-other.first != 0){
this.first-other.first
}else{
this.second-other.second
}
}
}
package com.lhj.www
import org.apache.spark.{SparkContext, SparkConf}
object Test {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("my app!!!").setMaster("local")
val sc = new SparkContext(conf)
val sorted = sc.textFile("aaa.txt").map(x=>(new KeyPair(x.split(" ")(0).toInt,x.split(" ")(1).toInt),x)).sortByKey(false)
// (com.lhj.www.KeyPair@63c41670,8 7)
// (com.lhj.www.KeyPair@5e9d463b,4 3)
// (com.lhj.www.KeyPair@276dfc04,4 1)
// (com.lhj.www.KeyPair@25bc7ed5,3 2)
// (com.lhj.www.KeyPair@7a2ae54d,2 3)
// (com.lhj.www.KeyPair@163460e4,2 1)
val result=sorted.map(x=>(x._2))
result.collect().foreach(println)
}
}
--结果:
8 7
4 3
4 1
3 2
2 3
2 1
scala 实现自定义排序算法
原文作者:排序算法
原文地址: https://blog.csdn.net/gdmzlhj1/article/details/50788929
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/gdmzlhj1/article/details/50788929
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。