希望有人能夠提供幫助。在spark和graphx問題中的foreach循環中劃線
我正在嘗試編寫一個程序,該程序需要對連接到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)
}
該網絡太大,無法收集邊緣數據,所以任何幫助將不勝感激。