Perhaps, the documentation of the filter method would help. Here is the method
signature (copied from the API doc)
def filter[VD2, ED2](preprocess: (Graph[VD, ED]) => Graph[VD2, ED2], epred:
(EdgeTriplet[VD2, ED2]) => Boolean = (x: EdgeTriplet[VD2, ED2]) => true, vpred:
(VertexId, VD2) =>
Thank you, I have to think what the code does,, because I am a little noob
in scala and it's hard to understand it to me.
2016-02-27 3:53 GMT+01:00 Mohammed Guller :
> Here is another solution (minGraph is the graph from your code. I assume
> that is your original graph):
Here is another solution (minGraph is the graph from your code. I assume that
is your original graph):
val graphWithNoOutEdges = minGraph.filter(
graph => graph.outerJoinVertices(graph.outDegrees) {(vId, vData,
outDegreesOpt) => outDegreesOpt.getOrElse(0)},
vpred = (vId: VertexId,
Yes, I am not really happy with that "collect".
I was taking a look to use subgraph method and others options and didn't
figure out anything easy or direct..
I'm going to try your idea.
2016-02-26 14:16 GMT+01:00 Robin East :
> Whilst I can think of other ways to do it I
Whilst I can think of other ways to do it I don’t think they would be
conceptually or syntactically any simpler. GraphX doesn’t have the concept of
built-in vertex properties which would make this simpler - a vertex in GraphX
is a Vertex ID (Long) and a bunch of custom attributes that you
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"),