1. 程式人生 > >spark小應用一:wordcount,按詞頻降序(SCALA)

spark小應用一:wordcount,按詞頻降序(SCALA)

val rdd = sc.textFile("hdfs://mycluster/user/bpf/sparkApp/wordcount/input")
val wordcount = rdd.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)

這樣得到的結果並沒有按照某種規則排序

按照value值進行降序。(出現次數多的在前)
思路:key value反轉,按key排序,再反轉回來

val sortWords = wordcount.map(x => (x._2,x._1)).sortByKey(false).map(x => (x._2,x._1))

可以通過sortWords.saveAsTextFile(” ———”)儲存到檔案系統中
如果需要取前N個,可以使用sortWords.take(N)來獲得