I'm new with graphX. I need to get the vertex without out edges.. I guess that it's pretty easy but I did it pretty complicated.. and inefficienct
val vertices: RDD[(VertexId, (List[String], List[String]))] = sc.parallelize(Array((1L, (List("a"), List[String]())), (2L, (List("b"), List[String]())), (3L, (List("c"), List[String]())), (4L, (List("d"), List[String]())), (5L, (List("e"), List[String]())), (6L, (List("f"), List[String]())))) // Create an RDD for edges val relationships: RDD[Edge[Boolean]] = sc.parallelize(Array(Edge(1L, 2L, true), Edge(2L, 3L, true), Edge(3L, 4L, true), Edge(5L, 2L, true))) val out = minGraph.outDegrees.map(vertex => vertex._1) val finalVertexes = minGraph.vertices.keys.subtract(out) //It must be something better than this way.. val nodes = finalVertexes.collect() val result = minGraph.vertices.filter(v => nodes.contains(v._1)) What's the good way to do this operation? It seems that it should be pretty easy.