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