Кадры спарк графа агрегируют сообщения несколько итераций

В документации Spark graphFrames есть хороший пример применения функции агрегированных сообщений.

Мне кажется, что он вычисляет только друзей / соединений одной и первых вершин, а не итерирует вглубь графа как оператор прегеля graphXs.

Как я могу выполнить такие итерации в graphFrames, а также с помощью агрегированных сообщений, аналогично тому, как здесь обрабатывается итерация https://github.com/sparkling-graph/sparkling-graph/blob/master/operators/src/main/scala/ml/ сверкающий / граф / операторы / меры / вершина / собственный вектор / EigenvectorCentrality.scala в graphX?

import org.graphframes.examples
import org.graphframes.lib.AggregateMessages
val g: GraphFrame = examples.Graphs.friends  // get example graph

// We will use AggregateMessages utilities later, so name it "AM" for short.
val AM = AggregateMessages

// For each user, sum the ages of the adjacent users.
val msgToSrc = AM.dst("age")
val msgToDst = AM.src("age")
val agg = g.aggregateMessages
  .sendToSrc(msgToSrc)  // send destination user's age to source
  .sendToDst(msgToDst)  // send source user's age to destination
  .agg(sum(AM.msg).as("summedAges"))  // sum up ages, stored in AM.msg column
agg.show()

http://graphframes.github.io/user-guide.html

0 ответов

Другие вопросы по тегам