GraphX: Каков наилучший способ получить все соседние вершины из списка вершин? - PullRequest
0 голосов
/ 01 апреля 2019

Скажем, учитывая список атрибутов СДР как attrs в качестве исходных атрибутов ребер графа и графа graph, как я могу получить все соседние вершины / десты этих источников?Сейчас я пытаюсь:

val map = attrs.zipWithUniqueId().collectAsMap()
val neighbors = graph.triplets.collect {case t if map.contains(t.srcAttr) => t.dstAttr}.distinct()

Но, похоже, есть проблемы:

1) Похоже, что это не дает мне правильный отфильтрованный результат, например, я виделслучай, когда атрибут элемента не был в карте, но его соответствующий сосед был в результате.

2) При выполнении collectAsMap () вход должен быть помещен в память, верно?Как насчет того, чтобы в качестве входных данных у нас был довольно большой список атрибутов?

Так кто-нибудь мог бы предложить лучший способ сделать это?Спасибо!

...