spark中map和mapPartitions算子的区别
Posted dretrtg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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创建一条链接)
缺点:
mapPartions可能发生OOM内存溢出,而map不会,因为一个partition可能会很大
以上是关于spark中map和mapPartitions算子的区别的主要内容,如果未能解决你的问题,请参考以下文章