изменить ключи в паре RDD [pyspark] - PullRequest
0 голосов
/ 30 марта 2019

Могу ли я изменить ключ в паре СДР?

Я создал обычный СДР из ФАЙЛА CSV (ИМЯ, ВОЗРАСТ, НАЦИОНАЛЬНОСТЬ) с помощью команды sc.textFile.

Я хочусоздать паруRDD с национальностью в качестве ключа и значений (имя, возраст).

t1 = rdd.map( lamda x : (X.split(",") [2] , x))

Но t1.keys() не показывает ключи и не t1.values()

IЯ использую Python и можете ли вы помочь мне создать, как в Scala у нас есть возможность сделать то же самое.

1 Ответ

0 голосов
/ 30 марта 2019

Вы должны использовать collect() вместе с RDD, как, t1.keys().collect(), чтобы распечатать их.Проверьте ниже, и я получил это.

>>> rdd= sc.parallelize([['Mike',25,'XXX'],['Sam',45,'YYY'],['Jim',26,'ZZZ']])
>>> rdd.collect()
[['Mike', 25, 'XXX'], ['Sam', 45, 'YYY'], ['Jim', 26, 'ZZZ']]
#Making Nationality as Key, and others as values
>>> t1=rdd.map(lambda x:(x[2],(x[0],x[1])))
>>> t1.collect()
[('XXX', ('Mike', 25)), ('YYY', ('Sam', 45)), ('ZZZ', ('Jim', 26))]

>>> t1.keys().collect()
['XXX', 'YYY', 'ZZZ']

>>> t1.values().collect()
[('Mike', 25), ('Sam', 45), ('Jim', 26)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...