flatMap算子:
对rdd执行map操作一样,但是在最后会进行解除嵌套的操作
使用map进行读取:
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(["wwww jjj hhh 555","sjjs mhhhx 7844" , "rrrr lll 55 66 1 "])
#需求,将RDD数据里面的单词一个个取出来
rdd2 = rdd.map(lambda x: x.split(" "))
print(rdd2.collect())
运行结果:
使用flatmap读取:
rdd2 = rdd.flatMap(lambda x: x.split(" "))