如何在同一个graphX图中添加不同类型的边。例如,节点A和节点B之间的边可以具有String属性,节点X和节点Y之间的边可以具有(Int,Int)attr。
有没有办法在graphX中实现边缘继承? 任何人都可以提供一个例子吗?
答案 0 :(得分:0)
使用Graph
上的VD
and ED
类型参数指定图表的顶点和边缘类型。只要它们共享一个共同的超类,您就可以在不同的边上存储不同类型的边数据。为此,在构造图形时将公共超类作为ED
类型参数传递。
在您的示例中,String
和(Int, Int)
的常见超类型为Any
。您可以使用以下两种类型的边缘属性构建图形:
val edges = List[Edge[Any]](
Edge(1, 2, "foo"),
Edge(3, 4, (123, 456)))
Graph.fromEdges(sc.parallelize(edges), 1)