本节将展示如何在spark中通过python进行词频统计。
1 系统、软件以及前提约束
- CentOS 7 64 工作站 作者的机子ip是192.168.100.200,主机名为danji,请读者根据自己实际情况设置
- 已完成scala方式的词频统计
https://www.jianshu.com/p/92257e814e59 - 已经有待统计的文件word上传到HDFS,名字为/word
- 为去除权限对操作的影响,所有操作都以root进行
2 操作
- 1.使用xshell以root登录到192.168.100.200
- 2.进入spark的bin目录,新建一个wordcount.py,内容如下:
from operator import add
from pyspark import SparkContext
def word_count():
sc = SparkContext(appName="wordcount")
textFile= sc.textFile("/word")
result = textFile.flatMap(lambda x: x.split(" ")) \
.map(lambda x: (x, 1)) \
.reduceByKey(add) \
.sortBy(lambda x: x[1], False).take(3)
for k, v in result:
print k, v
if __name__ == '__main__':
word_count()
保存退出。
- 3.执行
./spark-submit --master local wordcount.py
等待,查看结果。
以上,就是我们在spark当中使用python进行词频统计的过程,请读者特别注意文中的python语法约束。