我们从学习一门新语言如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