RDD实现单词计数
Scala(Spark Shell)方法
如果你在 spark-shell
(Scala 环境)中运行:
1. 启动 Spark Shell
spark-shell
(确保 Spark 已安装,PATH
配置正确)
2. 执行单词统计
// 1. 读取文件(确保路径正确!)
val lines = sc.textFile("file:///home/xdt/桌面/data.txt")// 2. 拆分单词 + 统计
val wordCounts1 = lines.flatMap(line => line.split(" ")) // 按空格分割
val wordCounts2 = wordCounts1.map(word => (word, 1)) // 每个单词计数 1
val wordCounts3 = wordCounts2.reduceByKey(_ + _) // 相同单词累加// 3. 显示结果(前20个)
wordCounts3.take(20).foreach(println)// 4. 保存结果
wordCounts3.saveAsTextFile("file:///home/xdt/桌面/wordcount_output")
3. 检查输出
-
控制台:会打印前 20 个单词的统计结果。
-
文件:结果保存在
~/桌面/wordcount_output/part-00000
。
注意路径写法,要写自己电脑上的路径。
上面是文件来源于本地的情况,如果文件位于HDFS里,要先把HDFS启动起来。
印象里好像是start-all.sh