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

时间:2017-09-25 13:02:05

标签: scala apache-spark spark-graphx

我有一个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不太熟悉所以任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:1)

这对我有用:

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