Требуется преобразовать таблицу pyspark с новым столбцом со словарем - PullRequest
0 голосов
/ 29 января 2020

У меня есть следующая таблица, которую мне нужно преобразовать на основе словаря сопоставления в выходную таблицу.

Таблица:

+---+---+
|rpn|ipn|
+---+---+
|pn1|pn2|
|pn2|pn3|
|pn3|pn1|
|pn1|pn4|
|pn4|pn2|
|pn5|pn6|
|pn6|pn5|
|pn5|pn7|
+---+---+

Словарь сопоставления:

{'pn1': {'pn1', 'pn2', 'pn3', 'pn4'},
 'pn2': {'pn1', 'pn2', 'pn3', 'pn4'},
 'pn3': {'pn1', 'pn2', 'pn3', 'pn4'},
 'pn4': {'pn1', 'pn2', 'pn3', 'pn4'},
 'pn5': {'pn5', 'pn6', 'pn7'},
 'pn6': {'pn5', 'pn6', 'pn7'},
 'pn7': {'pn5', 'pn6', 'pn7'}}

Таблица вывода:

+---+---+-----------------+
|rpn|ipn|       related_pn|
+---+---+-----------------+
|pn1|pn2|[pn1,pn3,pn2,pn4]|
|pn2|pn3|[pn1,pn3,pn2,pn4]|
|pn3|pn1|[pn1,pn3,pn2,pn4]|
|pn1|pn4|[pn1,pn3,pn2,pn4]|
|pn4|pn2|[pn1,pn3,pn2,pn4]|
|pn5|pn6|  [pn6, pn7, pn5]|
|pn6|pn5|  [pn6, pn7, pn5]|
|pn5|pn7|  [pn6, pn7, pn5]|
+---+---+-----------------+
...