一、文本格式
class1 90
class2 56
class1 87
class1 76
class2 88
class1 95
class1 74
class2 87
class2 67
class2 77
二、代码如下
package com.scala
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
object GroupTopN {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("groupByTopN").setMaster("local[1]")
val sc = new SparkContext(conf)
val scores = sc.textFile("score.txt", 1)
val scoresMap = scores.map(x => {
val al = x.split(" ")
(al(0), al(1).toInt)
})
val paris=scoresMap.groupByKey()
val result=paris.map(x=>(x._1,x._2.toList.sorted(Ordering.Int.reverse)))
result.foreach(x =>{
println("01 "+x._1)
println("02 "+x._2.slice(x._2.length-4, x._2.length))
})
}
}