您好,登錄后才能下訂單哦!
SPARK用scala實(shí)現(xiàn)分組取topN
原文件:
class1 33
class2 56
class1 87
class2 77
class1 76
class2 88
class1 95
class1 74
class2 85
class2 67
class2 77
class1 99
class1 59
class2 60
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.commons.collections.map.Flat3Map
object GroupTopN {
def main(args: Array[String]): Unit = {
val conf = new SparkConf()
.setAppName("TopN")
.setMaster("local")
val sc = new SparkContext(conf)
val lines = sc.textFile("C://Users//Administrator//Desktop//spark//groupTopN.txt", 1)
val pairs = lines.map { line => line.split(" ")}
val xx = pairs.map { pair => (pair(0),pair(1).toInt) }
val sort = xx.groupByKey()
val result = sort.map(s=>(s._1,s._2.toList.sorted(Ordering.Int).take(4)))
result.foreach(r => println(r._1+""+r._2))
}
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。