溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

spark分組取 topN

發(fā)布時(shí)間:2020-08-24 18:19:05 來(lái)源:網(wǎng)絡(luò) 閱讀:898 作者:惡魔蘇醒ing 欄目:大數(shù)據(jù)

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))       

  }

  

}


向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI