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()


输出

[3, 12]