Spark開發-網站點選率排名方法

Xlucas發表於2017-09-12

網站的點選率排名。
思路
1、先對文字進行分隔做key value 的轉換
2、基於key value的鍵值對做reduceByKey的操作
3、將key 和value的位置調換,程式設計value key
4、對key進行排序
5、重複第3點的工作。

程式碼如下:

sc.textFile("/input/passwd").flatMap(_.split(":")).map(word=>(word,1)).reduceByKey(_+_).map(pair=>(pair._2,pair._1)).sortByKey(false).map(pair=>(pair._2,pair._1)).saveAsTextFile("/output/sortWord")

在hdfs上面我們可以看到有2個檔案,如果我們只想看到一個檔案應該怎麼操作呢?

這裡寫圖片描述
我們只需要在sortByKey的時候指定task的個數就可以了

sc.textFile("/input/passwd").flatMap(_.split(":")).map(word=>(word,1)).reduceByKey(_+_).map(pair=>(pair._2,pair._1)).sortByKey(false,1).map(pair=>(pair._2,pair._1)).saveAsTextFile("/output/sortWord1")

這裡寫圖片描述

相關文章