scala簡單入門_wordCount


scala的語法寫起來是非常的舒服的,相比java來說,簡便許多。而Java在scala面前就顯的略微有些笨重了。

接下來我們看一下scala版的wordcount

import scala.io.Source

object testWC {
  def main(args: Array[String]): Unit = {
    // 讀取D:\Demo\hadoop\input\word.txt
    val so_1 = Source.fromFile("D:\\Demo\\hadoop\\input\\word.txt").mkString
    val so_2 = Source.fromFile("D:\\Demo\\hadoop\\input\\wor.txt").mkString
    // 放入list集合
    val list = List(so_1,so_2)
    val word: List[String] = list.flatMap(x => x.split("\n")).flatMap(x => x.split("\\s"))
    //
    val tuples: List[(String, Int)] = word.map((_,1))
    // 對key進行分組
    val map = tuples.groupBy(_._1) // x=>x._1
    // Map(String,List(
    // 開始統計分組后相同單詞的個數,統計list集合的長度
    // val res: Map[String, Int] = map.map(x=>(x._1,x._2.size))
    // 第二種
    val res: Map[String, Int] = map.mapValues(_.size)
    // println(res)
    // map.mapValues(x=>x.size)
    // 排序
    val reverse = res.toList.sortBy(_._2).reverse
    // 打印
    reverse.foreach(println)
  }
}

相比java 要簡便許多


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM