Scala中map操作和flatMap操作的区别

Scala中map操作和flatMap操作的区别

flatMap()和map()

flatMap(function)和map(function)操作都是传入的函数对RDD中的每一个元素进行处理的操作。但是不同点在于,map操作是一对一的,即map(function)传入的函数在处理RDD的每一个元素后都产生相对应的结果,输入与输出是一对一的,并由这些一一对应的结果值获得输出RDD;而flatMap(function)传入的函数在处理RDD的每一个元素时,输入与输出是一对一或一对多的,都可能产生一个或多个对应的元素组成的返回值序列的迭代器,输出的RDD是一个包含各个迭代器可访问的所有元素的RDD。

操作对比

map操作

map操作

flatMap操作

flapMap操作

加深理解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zzlove1234567890/article/details/88798954