本節將展示如何在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語法約束。