将前两个节点与GraphX中来自两个RDD的边连接

fadhloun阿尼斯

我第一次使用GraphX,我想逐步构建一个Graph。因此,我需要将前两个节点连接到边缘,知道我有2个RDD(每个RDD具有单个值):

firstRDD: RDD[((Int, Array[Int]), ((VertexId, Array[Int]), Int))]
secondRDD: RDD[((Int, Array[Int]), ((VertexId, Array[Int]), Int))]  

我想将第一个VertexId与第二个连接。我感谢您的帮助

大卫·格里芬(David Griffin)

基本上,您使用mapcase语句来选择VertexId,然后使用RDD.zip来将它们缝合在一起,然后使用另一个map来创建最终的EdgeRDD:

firstRDD.map{ 
  case ((junk1,junk2), ((vertex1, junk3), junk4)) => vertex1
}.zip(
  secondRDD.map{
    case ((junk1,junk2), ((vertex2, junk3), junk4)) => vertex2 
  }
).map{ case(vertex1, vertex2) => Edge(vertex1, vertex2, 0) }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章