0

Я пытаюсь напечатать/взять элементы определенного раздела. На this question, я нашел изящный способ сделать это в Scala используя этот код:PySpark: Взятие элементов определенного раздела RDD

distData.mapPartitionsWithIndex((index: Int, it: Iterator[Int]) =>it.toList.map(x => if (index ==5) {println(x)}).iterator).collect 

Я изо всех сил в преобразовании этого в Python, вы можете кому-то помочь мне здесь.

P.S: Кроме того, в отличие от вышеприведенного решения, я просто хочу взять первые 5 элементов раздела, вместо того чтобы печатать все.

ответ

0

Вы можете:

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

Пропущенный 'withIndex' –

+0

Вы потрясающе !!! – anwartheravian

Смежные вопросы