大数据学习之路74-mapPartitionsWithIndex的使用

大数据学习之路74-mapPartitionsWithIndex的使用_第1张图片

mapPartitionsWithIndex既可以拿到分区的迭代器,又可以拿到分区编号。

我们如果要使用这个方法的话,还需要传入一个函数,参数为一个int值一个迭代器,然后这个方法就会将分区编号传给int值,将这个分区编号中的值传入迭代器,我们对这些数据操作之后同样应该返回一个迭代器。

val arr = Array(1,2,3,4,5,6,7,8,9)


val rdd1 = sc.parallelize(arr,2)


def func1(index:Int,iter:Iterator[Int]) : Iterator[String] = {
           iter.toList.map(x => "[partID:"+index+",value:"+x+"]").iterator
       }


rdd1.mapPartitionsWithIndex(func1).collect

大数据学习之路74-mapPartitionsWithIndex的使用_第2张图片

你可能感兴趣的:(大数据)