spark 例子wordcount topk
阿新 • • 發佈:2018-06-14
分組 input MF 詞頻 RR reduce get 讀取數據 print
spark 例子wordcount topk
例子描述:
【單詞計算wordcount 】
【詞頻排序topk】
單詞計算在代碼方便很簡單,基本大體就三個步驟
- 拆分字符串
- 以需要進行記數的單位為K,自己拼個數字1為V,組成一個映射或者元組
- 分組(groupByKey)
詞頻排序
- 將分組後的數據進行排序
代碼片段:
/* 單詞計算wordcount */ val input = Source.fromFile("E:/test.txt").getLines.toArray val wc = sc.parallelize(input) /* spark單機讀取數據 */ .flatMap(_.split(" ")) /* 拆分數據,以空格為拆分條件 */ .map((_,1)) /* 將拆分的每個數據為K,自己創建個1為V */ .reduceByKey(_+_) /* 這裏我喜歡叫分組 */ .foreach(println) /* 輸出 */
/* 詞頻排序topk */ val input = Source.fromFile("E:/test.txt").getLines.toArray val topk = sc.parallelize(input) /* spark單機讀取數據 */ .flatMap(_.split(" ")) /* 拆分數據,以空格為拆分條件 */ .map((_, 1)) /* 將拆分的每個數據為K,自己創建個1為V */ .reduceByKey(_+_) /* 這裏我喜歡叫分組 */ .sortBy(_._2,false) /* 根據分組後數據第2位數據進行排序 */ .take(5) /* 只取前5位 */ .foreach(println) /* 輸出 */
spark 例子wordcount topk