Spark Graphframes Вычисление PageRank и висячие вершины / ребра - PullRequest
0 голосов
/ 23 октября 2018

У меня есть график, который выглядит следующим образом:

g.vertices.show()
+---+
| id|
+---+
|  1|
|  2|
|  3|
|  4|
+---+
g.edges.show()
+---+----+
|src| dst|
+---+----+
|  1|   2|
|  2|   3|
|  3|   4|
|  4|   1|
|  4|null|
+---+----+

теперь, как вы видите, у vectice 4 есть два ребра, одно к 1 и одно к null.Идея в том, что null представляет висячий край.То, что я хочу сделать, это распределить вес, который был бы распределен вдоль висящего края, случайным образом обратно в график.Когда я вызываю метод g.pageRank(resetProbability=0.15, tol=0.01), он явно завершается с scala.MatchError: [4,null,[4,null]], потому что он не может обработать null.Есть ли способ заставить pagerank вести себя так, как я хочу?«Реальный» график намного больше, поэтому я бы не стал повторно реализовывать PageRank.

...