K:有什么用? 内存不足可以用.
1.上代码
我是1-10分为3个分区 , 并取出下标号为0 的分区的数据 ,然后Type ,要想获得自己想要的分区 , 执行
这里返回的是新 RDD , 并且支持 map等操作 , 但是你只能操作一个分区了 . 在某些内存不够用的情况下 , 可以采用这种分阶段操作的方法.
(题外话 , 我们都知道Spark是惰性加载 , 所以这里如果是生产环境理应存在shuffer).
.mapPartitionsWithIndex { (index, iter) => if (index == 0) { iter } else { Iterator.empty } }