SparkCore-容易混淆的RDD算子区别(Scala版本)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Luomingkui1109/article/details/86088474

1.map与flatMap的区别

# 初始化数据
val rdd1 = sc.parallelize(Array("hello world","i love you"))

1.1  map

# map算子
rdd1.map(_.split(" ")).collect

# map算子结果输出
res0: Array[Array[String]] = Array(Array(hello, world), Array(i, love, you))

1.2 flatMap

# flatMap算子
rdd1.flatMap(_.split(" ")).collect

# flatMap算子结果输出
res1: Array[String] = Array(hello, world, i, love, you)

    flatMap是将数据先进行map转化,在通过flattern对map结果进行’压平’。也就是将map转化的2个Array压平处理。

猜你喜欢

转载自blog.csdn.net/Luomingkui1109/article/details/86088474