reduceByKey算子:
针对KV型(二元元组)的RDD,自动按照key分组,然后根据你提供的聚合逻辑,完成组内数据(value)的聚合操作
用法:rdd.reduceByKey(func)
func要求两个传入参数,返回值必须有,传的是什么类型返回什么类型
from pyspark import SparkConf , SparkContext
import os
os.environ['PYSPARK_PYTHON'] = "D://python3.8/python.exe" #pyspark在python的解释器在哪
conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
sc = SparkContext(conf = conf)
#准备一个RDD
rdd = sc.parallelize([('男', 99),('男' ,89),('女', 100),('女', 120)])
#求男生和女生两个组的乘积之和
rdd2 = rdd.reduceByKey(lambda x,y: x + y)
print(rdd2.collect())