//////、、、、、、、
object OrderContext {
implicit val girlOrdering = new Ordering[Gril]{
override def compare(x:Gril, y:Gril): Int ={
if(x.facevalue > y.facevalue) 1
else if ( x.facevalue == y.facevalue ) {
if (x.age >y.age) -1 else 1
} else -1
}
}
}
//orderby: faceValue, after age
object UrlPattitions {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("UrlPattitions").setMaster("local")
val sc = new SparkContext(conf)
val rdd1 = sc.parallelize(List(("aa", 90, 28, 1), ("bb", 90, 27, 2), ("cc", 95, 22, 3), ("dd", 85, 20, 4)))
import OrderContext._
val rdd2 = rdd1.sortBy( x => Gril(x._2, x._3), false)
println(rdd2.collect().toBuffer)
sc.stop()
}
}
/*case class Gril (val facevalue: Int, val age: Int)extends Ordered[Gril] with Serializable{
override def compare(that: Gril): Int = {
if (this.facevalue == that.facevalue) {
that.age - this.age
}else {
that.facevalue - this.facevalue
}
}
}*/
case class Gril (val facevalue: Int, val age: Int)extends Serializable
///////\\\\\\\
ArrayBuffer((cc,95,22,3), (bb,90,27,2), (aa,90,28,1), (dd,85,20,4))