Spark學習實例(Python):單詞統計 Word Count

我們從學習一門新語言如C、Java、Python等基本都是從"Hello World"開始的,而這裏的WordCount類似於"Hello World",該實例的功能是統計各個單詞出現的次數,比如隨意給你一份政府報告找出政府工作重點內容,那麼就可以通過單詞統計來完成,排除掉那些語氣詞(啊、的、是等等)出現詞的頻率越高代表着政府越重視。

本文是基於Pyhon的Spark Local來進行,因此需要準備以下環境:

Python3+

Pycharm

pyspark 2.3.3

 

安裝pyspark

pip install pyspark==2.3.3

數據準備

cat  /home/llh/data/word.txt

spark hadoop hadoop

hbase hive hbase

kafka

代碼的編寫

from pyspark.sql import SparkSession

if __name__ == "__main__":
    spark = SparkSession\
        .builder\
        .appName("PythonWordCount")\
        .master("local[*]")\
        .getOrCreate()

    lines = spark.read.text("/home/llh/data/word.txt").rdd.map(lambda r: r[0])
    counts = lines.flatMap(lambda x: x.split(' ')) \
                  .map(lambda x: (x, 1)) \
                  .reduceByKey(lambda x, y: x + y)
    output = counts.collect()
    for (word, count) in output:
        print("%s: %i" % (word, count))

    spark.stop()

打印結果

spark: 1
hadoop: 2
hbase: 2
hive: 1
kafka: 1

知識點:

1. 如何安裝python的包,使用pip install xxx

2. 如何代碼創建Spark的初始化環境

3. 如何讀取普通TXT文件並進行轉換

 

Spark學習目錄:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章