1. 在本地路径下创建文本文件 /test/words.txt,内容如下:
python java cpp c hello world hadoop hdfs
python java cpp c hello world hadoop hdfs
python java cpp c hello world hadoop hdfs
python java cpp c hello world hadoop hdfs
python java cpp c hello world hadoop hdfs
python java cpp c hello world hadoop hdfs
python java cpp c hello world hadoop hdfs
python java cpp c hello world hadoop hdfs
2. 运行spark-shell
spark-shell
3. 读取words.txt,使用命令:
val wc1 = sc.textFile("file:///test/words.txt")
4. 使用空格分割文本,使用命令:
val wc2 = wc1.map(item => item.split(" "))
5. 将4.中所得结果拍平,使用命令:
val wc3 = wc2.flatMap(item => item)
6. 将5.中结果转换为键值对,使用命令:
val wc4 = wc3.map(item => (item,1))
7. 将6.中结果聚合、相加,使用命令:
val wc5 = wc4.reduceByKey((curr, agg) => curr + agg)
8. 将6. 中结果收集、展示,使用命令:
<

本文通过Spark Shell演示了如何在本地文件系统上读取words.txt,使用RDD进行文本处理,包括分割、拍平、转换为键值对、聚合、相加操作,最终实现词频统计。结果显示,最常见的词包括hadoop、python等,每个词出现8次。
最低0.47元/天 解锁文章
1363





