誰かが助けてくれることを願っています。
Graphx のネットワーク内の各ノードに接続された各エッジ ID で機能を実行する必要があるプログラムを作成しようとしています。
これを行うには、各ノードを反復処理し、それに接続されているすべてのエッジを識別します。次に、関数を使用して各エッジを反復処理します。foreach ループ内で何らかの種類のサブグラフ化またはフィルタリングを行うと、私の問題が発生するようです。
たとえば、以下のコードは、ノードに接続された各エッジの ID を出力する必要があります。
graph.vertices.foreach {
network =>
val KeyVert = network._1
val EGraph = graph.subgraph(e => e.dstId == KeyVert)
println(KeyVert)
EGraph.edges.foreach(println)
}
ただし、収集機能を追加してrddからグラフデータを収集する場合にのみ機能します。
graph.vertices.collect.foreach {
network =>
val KeyVert = network._1
val EGraph = graph.subgraph(e => e.dstId == KeyVert)
println(KeyVert)
EGraph.edges.foreach(println)
}
ネットワークが大きすぎてエッジ データを収集できないため、ご協力をお願いいたします。