记录一下用spark自带的例子跑Worldcount项目(注:mac下运行会省略hdfs读取文件的步骤,若在linux下运行请先用hdfs读取本地文件再进行操作)
开启hadoop
#进入hadoop所在文件夹下
sbin/start-all.sh
使用jps查看情况,确认namenode和datanode都开启成功
jps
开启spark-shell
#进入spark文件夹下
bin/spark-shell
读取要计数的文件
val file = sc.textFile("/example.txt")
通过” “将单词分开,并通过map和reduce进行分类计数
val counts = file.flatMap(line=>line.split(" ")).map(word=>(word,1)).recudeByKey(_+_)
将计数结果保存在文档中
counts.saveAsTextFile("/spark-output")
查看计数过程和结果
counts.count()
counts.foreach(println)
可以进入对应路径查看文件,这里我们看到文件夹下有三个文件
_SUCCESS
part-00000
part-00001
文件里为对应的单词及计数结果: