PySpark实战:flatMap操作
来自CloudWiki
介绍
flatMap操作是一个变换算子,
对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([3, 4, 5]) fm= rdd.flatMap(lambda x: range(1, x)) #[1, 2, 1, 2, 3, 1, 2, 3, 4] print(fm.collect()) fm = rdd.flatMap(lambda x: [(x, x), (x, x)]) #[(3, 3), (3, 3), (4, 4), (4, 4), (5, 5), (5, 5)] print(fm.collect()) ############################################## sc.stop() ~
输出
[1, 2, 1, 2, 3, 1, 2, 3, 4]
[(3, 3), (3, 3), (4, 4), (4, 4), (5, 5), (5, 5)]