Ich versuche topologische Sortierung mit Hilfe von sparks GraphX Bibliothek.
Dies ist der Code, den ich bisher geschrieben habe:
MyObject.scala
%Vor%Resource.scala
%Vor%Relation.scala
%Vor%Ich erhalte den Fehler:
%Vor% für die Zeile val oldInDegree = inDegreeMapRDD.filter(vertex_iter => (vertex_iter._1 == vertex._1)).first()._2
.
Ich schätze, das liegt daran, dass es illegal ist, eine RDD innerhalb der for-each-Schleife einer anderen RDD zu modifizieren.
Ich befürchte auch, dass queue.enqueue(vertex)
nicht funktionieren wird, da es nicht möglich ist, eine lokale Sammlung in for-each
zu ändern. Schleife .
Wie implementiere ich diesen topologischen Sortieralgorithmus korrekt?
Der vollständige Stack-Trace der Ausnahme wird hier hochgeladen (musste extern hochgeladen werden) um zu verhindern, dass die Körpergröße von StackOverflow überschritten wird) .
Tags und Links scala functional-programming apache-spark topological-sort spark-graphx