Python综合案例(数据计算相关方法)

Python综合案例(数据计算相关方法)

reduceByKey算子

功能:针对KV 型的RDD,自动按照Key分组,然后根据提供的聚合逻辑,实现组内数据(value)的聚合。

"""
演示RDD的reduceByKey成员方法的使用
"""
from pyspark import SparkConf, SparkContext
import os
os.environ['PYSPARK_PYTHON'] = "C:/Python311/python.exe"
conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
sc = SparkContext(conf=conf)

# 准备一个RDD
rdd = sc.parallelize([('男', 99), ('男', 88), ('女', 99), ('女', 66)])
# 求男生和女生两个组的成绩之和
rdd2 = rdd.reduceByKey(lambda a, b: a + b)
print(rdd2.collect())

完成实现单词计数的案例

主要涉及到读取文件和实现单词计数

"""
完成练习案例:单词计数统计
"""

# 1. 构建执行环境入口对象
from pyspark import SparkContext, SparkConf
import os
os.environ['PYSPARK_PYTHON'] = "C:/Python311/python.exe"
conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
sc = SparkContext(conf=conf)
# 2. 读取数据文件
rdd = sc.textFile("D:/hello.txt")
# 3. 取出全部单词
word_rdd = rdd.flatMap(lambda x: x.split(" "))
# 4. 将所有单词都转换成二元元组,单词为Key,value设置为1
word_with_one_rdd = word_rdd.map(lambda word: (word, 1))
# 5. 分组并求和
result_rdd = word_with_one_rdd.reduceByKey(lambda a, b: a + b)
# 6. 打印输出结果
print(result_rdd.collect())


结果:
在这里插入图片描述
文件内容:

nihao  nihao  niahao nishi  nishi 
spark python spark python spark
hello hello hello  nihao  nishi 
python python spark pyspark pyspark
nihao  python pyspark itcast spark

Python综合案例(数据计算相关方法)_第1张图片

你可能感兴趣的:(python,ajax,开发语言)