2017-09-25 107 views
1

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

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

我尝试这样做:

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

其中ids1ids2和是包含顶点IDS两个阵列。但这不起作用,我得到的错误:

org.apache.spark.SparkException: Task not serializable 

我不是很熟悉Graphx,所以任何帮助,高度赞赏。

回答

1

这个工作对我来说:

graph.edges.filter(edge=>(ids.contains(edge.srcId) && ids.contains(edge.dstId)) 
相关问题