Spark Graphframes Вычисление PageRank и висячие вершины / ребра
У меня есть график, который выглядит так:
g.vertices.show()
+---+
| id|
+---+
| 1|
| 2|
| 3|
| 4|
+---+
g.edges.show()
+---+----+
|src| dst|
+---+----+
| 1| 2|
| 2| 3|
| 3| 4|
| 4| 1|
| 4|null|
+---+----+
теперь, как вы можете видеть вектику 4
имеет два ребра от одного до 1
и один к null
, Идея в том, что null
представляет висячий край. То, что я хочу сделать, это распределить вес, который был бы распределен по висящему краю случайным образом обратно в график. Когда я звоню g.pageRank(resetProbability=0.15, tol=0.01)
Метод, очевидно, не с scala.MatchError: [4,null,[4,null]]
потому что он не может справиться null
, Есть ли способ сделать pagerank
вести себя так, как я хочу, чтобы он вел себя? "Реальный" график намного больше, поэтому я бы не стал повторно реализовывать PageRank.