Pyspark - преобразование RDD в пару значений RDD с ключами в порядке возрастания - PullRequest
0 голосов
/ 11 марта 2020

У меня есть RDD1 в этой форме: ['once','upon','a','time',...,'the','end']. Я хочу преобразовать в пару ключ / значение, чтобы строки были значениями, а ключи - в порядке возрастания. Ожидаемый RDD2 должен быть следующим: [(1,'once'),(2,'upon'),(3,'a'),(4,'time'),...,(RDD1.count()-1,'the'),(RDD1.count(),'end'] Есть какие-нибудь подсказки? Спасибо

1 Ответ

1 голос
/ 11 марта 2020

Используйте собственную функцию почтового индекса pyspark. Это может помочь:

rdd1 = sc.parallelize(['once','upon','a','time','the','end'])
nums = sc.parallelize(range(rdd1.count())).map(lambda x: x+1)

zippedRdds = nums.zip(rdd1)
rdd2 = zippedRdds.sortByKey()

rdd2.collect()

даст:

[(1, «один раз»), (2, «после»), (3, «а»), (4, «время»), (5, «the»), (6, «конец»)]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...