Групповое слово по длине с использованием pyspark - PullRequest
0 голосов
/ 17 февраля 2019

Я хотел бы сгруппировать данные по длине, используя pyspark.

a= sc.parallelize(("number","algebra","int","str","raj"))

Ожидаемый результат в форме

(("int","str","raj"),("number"),("algebra"))

1 Ответ

0 голосов
/ 17 февраля 2019
a= sc.parallelize(("number","algebra","int","str","raj"))
a.collect()
    ['number', 'algebra', 'int', 'str', 'raj']

Теперь выполните следующие шаги, чтобы получить окончательный результат -

# Creating a tuple of the length of the word and the word itself.
a = a.map(lambda x:(len(x),x))

# Grouping by key (which is length of tuple)
a = a.groupByKey().mapValues(lambda x:list(x)).map(lambda x:x[1])
a.collect()
    [['int', 'str', 'raj'], ['number'], ['algebra']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...