希望有人能够提供帮助。在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)
}
该网络太大,无法收集边缘数据,所以任何帮助将不胜感激。