繁体   English   中英

Spark mapPartitionsWithIndex :标识一个分区

[英]Spark mapPartitionsWithIndex : Identify a partition

确定一个分区:

mapPartitionsWithIndex(index, iter)

该方法导致在每个分区上驱动一个函数。 我知道我们可以使用“index”参数来跟踪分区。

许多示例都使用此方法使用“index = 0”条件删除数据集中的标题。 但是我们如何确保读取的第一个分区(翻译,“index”参数等于 0)确实是标题。 如果使用,它是随机的还是基于分区器的。

如果使用,它不是随机的还是基于分区器的?

它不是随机的,而是分区编号。 您可以通过下面提到的简单示例来理解它

val base = sc.parallelize(1 to 100, 4)    
base.mapPartitionsWithIndex((index, iterator) => {

  iterator.map { x => (index, x) }

}).foreach { x => println(x) }

结果: (0,1) (1,26) (2,51) (1,27) (0,2) (0,3) (0,4) (1,28) (2,52) (1, 29) (0,5) (1,30) (1,31) (2,53) (1,32) (0,6) ... ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM