Разбиение СДР на кортежи длины n

Я относительно новичок в Apache Spark и Python и мне было интересно, выполнимо ли что-то вроде того, что я собираюсь описать?

У меня есть СДР в форме [м1, м2, м3, м4, м5, м6....... мn] (вы получаете это при запуске rdd.collect ()). Мне было интересно, если бы было возможно преобразовать этот СДР в другой СДР в форме [(м1, м2, м3), (м4, м5, м6) ..... (мн-2, мн-1, мn)]. Внутренние кортежи должны быть размера k. Если n не делится на k, то один из кортежей должен иметь меньше k элементов.

Я попытался использовать функцию карты, но не смог получить желаемый результат. Кажется, что функция map может возвращать RDD только с тем же количеством элементов, что и RDD, который был изначально предоставлен.

ОБНОВЛЕНИЕ: я попытался использовать разделы и также смог заставить это работать.

rdd.map(lambda l: (l, l)).partitionBy(int(n/k)).glom().map(lambda ll: [x[0] for x in ll])

Ответы на вопрос(3)

Ваш ответ на вопрос