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学习目录:

  • Spark学习实例1(Python):单词统计 Word Count
  • Spark学习实例2(Python):加载数据源Load Data Source
  • Spark学习实例3(Python):保存数据Save Data
  • Spark学习实例4(Python):RDD转换 Transformations
  • Spark学习实例5(Python):RDD执行 Actions
  • Spark学习实例6(Python):共享变量Shared Variables
  • Spark学习实例7(Python):RDD、DataFrame、DataSet相互转换
  • Spark学习实例8(Python):输入源实时处理 Input Sources Streaming
  • Spark学习实例9(Python):窗口操作 Window Operations

你可能感兴趣的:(Spark)