Spark学习(三)Scala程序例子
例一:对目录下的单词文件进行单词统计
/word/first.txt: /word/second.txt: /word/third.txt:

运行结果:

import java.io.File;
import java.io.PrintWriter;
import scala.io.Source;
import collection.mutable.Map;
import collection.SortedMap;
object WordCount {
def main(args: Array[String]): Unit = {
var file=new File("/mnt/hgfs/D/Scala程序/word"); //word目录下有多个.txt文件
var files=file.listFiles; //把目录下文件全部列出
var results=Map.empty[String,Int]; //定义空的映射
for(file<-files){ //遍历每个单词文件
val data=Source.fromFile(file); //将一个单词文件的内容读到data中
val strs=data.getLines.flatMap{s=>s.split(" ")}; //读取每行后成为一个集合,将集合遍历后对每个元素(每行)执行分割操作,最后将所有单词放在一个集合
strs.foreach{ //如果映射中存在键为:单词word,则值加1,否则将值设为1;
word=>if(results.contains(word)) results(word)+=1 else results(word)=1;
}
}
//results.valuesIterator.reduceLeft((x,y) => if(x > y) x else y);
results.foreach{ //遍历输出映射
case(k,v)=>
println(s"单词:$k\t次数:$v");
// val inputFile=new PrintWriter("/mnt/hgfs/D/Scala程序/wordcount.txt")
// inputFile.println(s"单词:$k\t次数:$v");
// inputFile.close();
}
}
}例二:
相关推荐
zhixingheyitian 2020-06-08
Hhanwen 2020-05-04
飞鸿踏雪0 2020-04-16
kekeromer 2020-04-16
TheBigBlue 2020-07-28
shenwenjie 2020-07-07
muhongdi 2020-07-07
waitwolf 2020-07-08
yunfenglee 2020-07-08
yunfenglee 2020-07-08
kekeromer 2020-07-08
匆匆那些年 2020-07-07
liqinglin0 2020-07-05
TheBigBlue 2020-07-05
kekeromer 2020-06-13
TheBigBlue 2020-06-06
liqinglin0 2020-06-01
liqinglin0 2020-06-01