союз pyspark по комбинации RDD - PullRequest
0 голосов
/ 27 августа 2018

У меня есть несколько RDD, каждый из которых состоит из списка пользователей. Как я могу получить четкое объединение каждой комбинации этих RDD распределенным способом?

EDIT

Хорошо, как я уже говорил, речь идет не о точном объединении всех СДР и превращении их в один СДР, а о получении четкого объединения комбинаций СДР.

Допустим, у нас есть три RDD одного типа, RDD1, RDD2 и RDD3 , я хочу получить размер отдельного объединения каждой их комбинации следующим образом:

sc.union(RDD1).distinct.count()
sc.union(RDD2).distinct.count()
sc.union(RDD3).distinct.count()
sc.union([RDD1,RDD2]).distinct().count()
sc.union([RDD1,RDD3]).distinct().count()
sc.union([RDD2,RDD3]).distinct().count()
sc.union([RDD1,RDD2,RDD3]).distinct().count()

, поскольку в искре нет СДР для RDDS , я не могу создать СДР для всех комбинаций и сопоставить каждую комбинацию СДР для получения результата.

также с увеличением количества СДР количество комбинаций увеличивается с 2^n. Как мне достичь этой цели?

С наилучшими пожеланиями.

1 Ответ

0 голосов
/ 27 августа 2018

Это довольно просто, если RDD одного типа; просто сделай:

rdd = sc.union([rdd1, rdd2, rdd3]).distinct()
...