Spark--基于分区进行操作

基于分区进行操作

场景

Spark提供了map操作,map操作是对每一个元素进行函数操作。但是如果需求中有分配操作(比如获取数据库链接)此时就没有必要为每一个元素进行重复的分配工作。此时可以使用mapPartitions(),mapPartitionsWithIndex(),foreachPartitions()操作每一个分区。

mapPartitions()

数据库链接池

《Spark--基于分区进行操作》 pic-1.png

有时需要创建一个对象来将不同类型的值聚合起来,比如求平均值:

《Spark--基于分区进行操作》 pic-2.png

mapPartitionsWithIndex()

对于mapPartitionsWithIndex与mapPartitions的区别是处理的函数中多一个index值表示数据所在的分区号。

    原文作者:LuciferTM
    原文地址: https://www.jianshu.com/p/a7afae2f7452
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞