mapPartitions
作用是通过向这个RDD的每个分区应用一个函数来返回一个新的RDD。
源码:
f: Iterator[T] => Iterator[U]
应用场景:当数据量不太大的时候,可以用mapPartitions,可以提高运行效率
当数据量太大的时候,有可能会发生oom
举例说明:
1.初始化RDD,我们以2个分区的简单RDD如图所示为例
2.我们假设需求是将RDD中的元素全部加1,分别用map和mapPartitons
(1)map
(2)mapPartitions
得到相同结果
3.我们假设将RDD中的元素倒置
在这里就能看到mapPartition的作用了,是按照分区进行计算的