-
map算子是分区内一个数据一个数据执行的,类似于串行操作。而mapPartions算子是以区分为单位进行批处理
-
功能的角度
Map算子主要目的将数据源中的数据进行转化和变换。但是不会减少或增多数据。
mappartitions算子需要传递一个迭代器,返回一个迭代器,没有要求元素的个数保持不变,所以可以增加或减少数据 -
性能角度
map算子因为类似于串行操作,所以性能较低,而是mapPartitions算子类似于批处理,性能比较高。但是mapPartition算子会长时间占用内存。那么这样会导致内存可能不够用,出现内存溢出的错误。所以在内存有限的情况下,不推荐使用
07-18
775
05-11
06-30
543