如何检查 Spark Graphx 图中是否存在边

How to check if an edge exist in a Spark Graphx graph

我有一个 Spark Graphx 图,我想检查两个顶点之间是否存在边。 在 Spark Graphx 中执行此操作的首选方法是什么?

更具体地说,我想计算一个列表中所有顶点与另一个列表中所有顶点之间的所有边。

我试过这个:

graph.edges.filter { case Edge(src, dst, prop) => ids1.contains(src)&&ids2.contains(dst)}.count

其中 ids1ids2 是两个包含顶点 ID 的数组。但这不起作用,我收到错误消息:

org.apache.spark.SparkException: Task not serializable

我对 Graphx 不是很熟悉,所以非常感谢任何帮助。

这对我有用:

graph.edges.filter(edge=>( ids.contains(edge.srcId) && ids.contains(edge.dstId))