PYSPARK:获取特定RDD分区的元素



我正在尝试打印/获取特定分区的元素。在这个问题上,我使用此代码找到了一种优雅的方法:

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 [])

最新更新