PySpark实战:mapPartition操作
来自CloudWiki
介绍
mapPartition操作是一个变换算子,
它的作用是对RDD每个分区中的元素按照func定义的逻辑进行处理,并分布返回值。
代码
import findspark findspark.init() ############################################## from pyspark.sql import SparkSession spark = SparkSession.builder \ .master("local[1]") \ .appName("RDD Demo") \ .getOrCreate(); sc = spark.sparkContext ############################################# rdd = sc.parallelize([1, 2, 3, 4 , 5], 2) def f(iter): yield sum(iter) rdd2 = rdd.mapPartitions(f) #[3, 12] print(rdd2.collect()) ############################################## sc.stop()
- python中yield的用法详解——最简单,最清晰的解释 https://blog.csdn.net/mieleizhi0522/article/details/82142856/
输出
[3, 12]