我正在尝试打印/获取特定分区的元素。在这个问题上,我使用此代码找到了一种优雅的方法:
distData.mapPartitionsWithIndex( (index: Int, it: Iterator[Int]) =>it.toList.map(x => if (index ==5) {println(x)}).iterator).collect
我正在努力将其转换为Python,您可以在这里帮我吗?
p.s:另外,与上述解决方案不同,我只想采用分区的第5个元素,而不是全部打印。
您可以:
from itertools import islice
rdd.mapPartitions(lambda it: islice(it, 0, 5))
或
rdd.mapPartitionsWithIndex(lambda i, it: islice(it, 0, 5) if i == x else [])