PySpark课程笔记
- 基于Pycharm实施入门案例
1.1 从HDFS上读取文件并实现排序
从HDFS中读取数据, 并对数据进行排序, 最后写入到HDFS上
# 演示: pySpark入门案例: WordCount
# 需求: 从HDFS中读取数据, 对数据进行统计分析(WordCount). 最后将结果根据单词数量进行倒序排序, 并将结果写出HDFS上
from pyspark import SparkContext, SparkConf
import os
# 锁定远端python版本:
os.environ['SPARK_HOME'] = '/export/server/spark'
os.environ['PYSPARK_PYTHON'] = '/root/anaconda3/bin/python3'
os.environ['PYSPARK_DRIVER_PYTHON'] = '/root/anaconda3/bin/python3'
if __name__ == '__main__':
print("WordCount案例: 从HDFS读取数据")
# 1- 创建SparkContext对象:
conf = SparkConf().setMaster('local[*]').setAppName('wd')
sc = SparkContext(conf=conf)
# 2- 读取HDFS上文件数据
rdd_init = sc.textFile('hdfs://node1:8020/pyspark_data/words.txt')
# 3- 对数据执行切割: 每一行都有可能产生多个单词, 所以这里切割, 是一个 1对多操作 采用flatMap()
rdd_flatMap = rdd_init.flatMap(lambda line: line