1.RDD转换
RDD的所有转换操作都不会进行真正的计算
1.1单个RDD转换操作
# 创建测试RDD
val rdd = sc.parallelize(Array("hello world","java","scala easy"))
# 1.map():遍历RDD中的每个元素,将返回值构成新的RDD,返回值类型可和原RDD不一致
val mapRdd = rdd.map(x => "map:"+x)
mapRdd.foreach(println)
# 输出
# map:hello world
# map:java
# map:scala easy
# 2.flatMap(): 遍历RDD中的每个元素,将返回的迭代器的所有内容构成新的 RDD
val flatMapRdd = rdd.flatMap(x => x.split(" "))
flatMapRdd.foreach(println)
# 输出
# hello
# world
# java
# scala
# easy
# 3.filter():遍历RDD中的每个元素,将匹配的元素构成新的RDD
val filterRdd = rdd.filter(x => x.contains("java"))
filterRdd.foreach(x => x.contains("java"))
filterRdd.foreach(println)
# 输出
# java