Spark 获取指定分区内的数据

K:有什么用? 内存不足可以用.

 

1.上代码

我是1-10分为3个分区 , 并取出下标号为0 的分区的数据 ,然后Type  ,要想获得自己想要的分区 , 执行

 

这里返回的是新 RDD  , 并且支持 map等操作 , 但是你只能操作一个分区了 . 在某些内存不够用的情况下 , 可以采用这种分阶段操作的方法.

(题外话 , 我们都知道Spark是惰性加载 , 所以这里如果是生产环境理应存在shuffer).

.mapPartitionsWithIndex { (index, iter) =>
      if (index == 0) {
        iter
      } else {
        Iterator.empty
      }
    }
posted @ 2020-05-22 20:44  挪威森林猫Zzz  阅读(1765)  评论(0编辑  收藏  举报