scala函數式編程初體驗 ==> 用scala函數實現 WordCount
阿新 • • 發佈:2019-03-14
spa val nbsp emp groupby mapred string hadoop map res164: Int = 11
//定義一個字符串集合
scala> val lines = List("hadoop,hive,spark,hue,mapreduce"," ","hadoop,hue","hdfs, , ,hive","","hadoop,spark")
lines: List[String] = List(hadoop,hive,spark,hue,mapreduce, " ", hadoop,hue, hdfs, , ,hive, "", hadoop,spark)
//功能1 :(不算空格和空串)統計一下集合中總共有多少個單詞?
scala> lines.flatMap(_.split(",")).filter(_.trim.nonEmpty).map((_,1)).map(_._2).reduce(_+_)
//功能2 : 分別統計每一個單詞出現的次數
scala> lines.flatMap(_.split(",")).filter(_.trim.nonEmpty).groupBy(_.toString).mapValues(_.length).foreach(println)
(mapreduce,1)
(hue,2)
(hadoop,3)
(spark,2)
(hive,2)
(hdfs,1)
scala函數式編程初體驗 ==> 用scala函數實現 WordCount