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算子的区别的主要内容,如果未能解决你的问题,请参考以下文章

Spark常用的transformation算子

Spark---常用算子的区别

spark性能调优04-算子调优

❤️Spark的常用算子大总结❤️

❤️Spark的常用算子大总结❤️

[Spark精进]必须掌握的4个RDD算子之flatMap算子