flatmap算子操作,先对每个元素进行操作,最后在进行扁平化处理。
测试代码
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/4/8 11:17 # @Author : Relyun、 # @Site : # @File : T_Spark_FlatMap_Base.py # @Software: PyCharm from pyspark import SparkConf, SparkContext # 创建spark入口sc conf = SparkConf().setAppName("T_Spark_FlatMap_Base").setMaster("local") sc = SparkContext(conf=conf) array = [1,2,3,5] rdd = sc.parallelize(array) # flatMap操作 print(rdd.flatMap(lambda x: (x, x*100, x**2)).collect()) # map操作 print(rdd.map(lambda x: (x, x*100, x**2)).collect()) sc.stop()
结果对比
flatmap处理结果 [1, 100, 1, 2, 200, 4, 3, 300, 9, 5, 500, 25] map处理结果 [(1, 100, 1), (2, 200, 4), (3, 300, 9), (5, 500, 25)]