美文网首页Spark知识点
map 和 mapPartitions

map 和 mapPartitions

作者: 0_9f3a | 来源:发表于2018-01-02 21:10 被阅读0次

    map:
    遍历算子,可以遍历RDD中每一个元素,遍历的单位是每条记录

    mapPartitions
    遍历算子,可以改变RDD格式,会提高RDD并行度,遍历单位是partition,也就是在遍历之前它会将一个partition的数据加载到内存中

    那么问题来了用上面的两个算子遍历一个RDD谁的效率高?

    mapPartitions算子效率高


    mapPartitions算子占用内存多,如果一个partition的计算结果非常非常大,那么可能造成OOM,怎么解决?

    repartition算子来增加RDD的分区数,那么每一个partition的计算结果就减少了很多。


    mapPartitions应用场景
    一般在将一个RDD的计算结果写入到数据库(mysql oracle redis)中时会使用这个算子,这个算子适合将数据插入到数据库

    相关文章

      网友评论

        本文标题:map 和 mapPartitions

        本文链接:https://www.haomeiwen.com/subject/sagqnxtx.html