logo头像
Snippet 博客主题

map与flatMap的区别

** map与flatMap的区别:** <Excerpt in index | 首页摘要>

​ map与flatMap的区别

<The rest of contents | 余下全文>

spark的转换算子中map和flatMap都十分常见,要了解清楚它们的区别,我们必须弄懂每执行一次的数据结构是什么。

we are superman

torrow is good

color green red

总结:

map操作结果:Array[Array[String]] = Array(Array(we, are, superman), Array(torrow, is, good), Array(color, green, red))

flatmap操作结果:Array[String] = Array(we, are, superman, torrow, is, good, color, green, red)

spark中map函数会对每一条输入进行指定操作,然后为每一条输入返回一个对象;

而flatmap函数则是两个操作的集合,最后将所有对象合并为一个对象。需要特别说明一下,flatmap适用于统计文件单词类的。