spark中map和mapPartitions算子的区别

天下之事常成于困约,而败于奢靡。这篇文章主要讲述spark中map和mapPartitions算子的区别相关的知识,希望能为你提供帮助。
区别:
1、map是对rdd中每一个元素进行操作
2、mapPartitions是对rdd中每个partition的迭代器进行操作
mapPartitions优点:
1、若是普通map,比如一个partition中有一万条数据,那么function要执行一万次,而使用mapPartions,一个task只执行一次function,function一次接收所有数据,只执行一次,性能高
2、若在map中需要频繁创建额外对象(如将rdd的数据通过jdbc写入数据库,map需要为每条数据创建一个链接,mapPartions只是为一个partition创建一条链接)
缺点:
【spark中map和mapPartitions算子的区别】mapPartions可能发生OOM内存溢出,而map不会,因为一个partition可能会很大

    推荐阅读