Apache spark 在Spark GraphX中,是否有更新/修改顶点值的方法

Apache spark 在Spark GraphX中,是否有更新/修改顶点值的方法,apache-spark,spark-graphx,Apache Spark,Spark Graphx,我正在研究Spark GraphX,我得到了一个巨大的图形数据集。在所有顶点中都有case类Node,它保持从节点到其他特定节点的距离值。 在我的算法中,当运行一些最短路径/距离算法(A*、ALT等)时,我需要填充这些距离值 我知道VertexRDD和其他所有RDD都是不可变的,任何更改都会创建一个新的RDD。但在我的例子中,有没有一种方法可以更新这些节点类,或者每次我需要创建一个全新的图来更新一个顶点 我也不明白spark在下面的代码中做了什么 我有两个案例类,通过这些案例类我创建了顶点,而不

我正在研究Spark GraphX,我得到了一个巨大的图形数据集。在所有顶点中都有case类Node,它保持从节点到其他特定节点的距离值。 在我的算法中,当运行一些最短路径/距离算法(A*、ALT等)时,我需要填充这些距离值

我知道VertexRDD和其他所有RDD都是不可变的,任何更改都会创建一个新的RDD。但在我的例子中,有没有一种方法可以更新这些节点类,或者每次我需要创建一个全新的图来更新一个顶点

我也不明白spark在下面的代码中做了什么 我有两个案例类,通过这些案例类我创建了顶点,而不是顶点和边,我创建了一个图

case-class-IDT(borderIDTList:List[(Long,String,Long)])
案例类节点(名称:String,isBorderNode:Boolean,分区:String,变量idt:Option[idt])
val vertexN0=(1L,节点(“n0”,假,“C1”,无))
.
. // 我正在手动创建其他顶点和边
.
val verticesRDD=sc.parallelize(seqof顶点)
val EDGESDD=sc.parallelize(顺序边缘)
val graph=图形(verticesRDD、edgesRDD)
graph.cache()
//这部分我不明白
//如果所有的RDD都是不可变的,我怎么能在这里得到修改过的图呢
var myIDT:Option[IDT]=Some(IDT(列表((3,“a”,2)))
graph.Vertexs.filter(顶点=>vertex.\u 1==1L).foreach(vtx=>vtx.\u 2.idt=myIDT)
graph.vertices.collect().foreach(println(41;))
上面的代码为我提供了一个在顶点id=1中具有新IDT值的图

graph.Vertex返回一个新的VertexRDD,在此处进行更改时graph的效果如何?该图是否引用了我从原始图派生的VertexRDD

或者在背景中,spark将新的VertexRDD与现有的图形连接起来,并返回给我一个新的图形?我很困惑