1. 程式人生 > >spark分組取topN

spark分組取topN

準備資料:
aa 11
bb 11
cc 34
aa 22
bb 67
cc 29
aa 36
bb 33
cc 30
aa 42
bb 44
cc 49

import org.apache.spark.{SparkConf, SparkContext}

/**
  * @author zoujc
  * @date 2018/11/15
  */
object topN {
	def main(args: Array[String]): Unit = {
		val conf = new SparkConf().setAppName("topN").setMaster("local[2]"
) val sc = new SparkContext(conf) val topNRDD = sc.textFile("C:\\Users\\ZJC\\Desktop\\wc.txt") .map(_.split(" ")) .map(x => (x(0),x(1))) .groupByKey() .map(x =>{ val xx = x._1 val yy = x._2 (xx,yy.toList.sorted.reverse.take(3)) }
) topNRDD.foreach(println) } }

在這裡插入圖片描述