spark实现詞频分析WordCount(python)

spark的安装配置见上一篇博文。
1.在spark的home目录下新建文件夹

/usr/local/spark/mycode/wordcount #分别建mycode与wordcount

2.在wordcount中新建程序test.py以及需要分析的文件word.txt

如word.txt内容为:

When you are old and grey and full of sleep
And nodding by the fire, take down this book
And slowly read, and dream of the soft look
Your eyes had once, and of their shadows deep
How many loved your moments of glad grace
And loved your beauty with love false or true

为了使用HDFS中的文件,在HDFS中新建文件夹并把spark目录下的word.txt放在HDFS上。

cd /usr/local/hadoop
./sbin/start-dfs.sh #启动HDFS分布式文件系统
./bin/hdfs dfs -mkdir -p /user/hadoop #在HDFS上新建文件夹/user/hadoop,
此处的hadoop是我的用户名。因为文件系统默认创建文件夹的方式就是/user/用户名
./bin/hdfs dfs -put /usr/local/spark/mycode/wordcount/word.txt .
#第一个点代表相对路径,命令在/usr/local/hadoop文件夹下运行,
最后一个点等价于/user/hadoop。
#这条命令将spark目录下的word.txt放在HDFS上

在wordcount中新建程序test.py,程序如下

from pyspark import SparkContext
sc = SparkContext( 'local', 'test')
textFile = sc.textFile("word.txt")#从HDFS上读取文件,也可以用HDFS中的详细路径"/user/hadoop/word.txt"代替"word.txt"
###textFile = sc.textFile("file:///usr/local/spark/mycode/wordcount/word.txt")#或者从spark目录下直接读取
wordCount = textFile.flatMap(lambda line: line.split(" ")).map(lambda word: (word,1)).reduceByKey(lambda a, b : a + b)
wordCount.foreach(print)

保存程序。
运行spark程序;
这里写图片描述
在程序当前的目录下执行python3 ./test.py,截图中程序我随机命名为text.py。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值