Graph operators
Let's start with the we can directly perform using Graph
object, such as filtering the vertices and edges of the graph to filter out based on some attribute of the object. We will also see an example of mapValues()
, which can transform the graph to yield a custom RDD.
First, let's examine the vertices and the edges using the Graph
object we created in the previous section and then look at some graph operators.
scala> graph.vertices.collect res111: Array[(org.apache.spark.graphx.VertexId, User)] = Array((4,User(Liz,Doctor)), (6,User(Beth,Accountant)), (8,User(Mary,Cashier)), (10,User(Ken,Librarian)), (2,User(Mark,Doctor)), (1,User(John,Accountant)), (3,User(Sam,Lawyer)), (7,User(Larry,Engineer)), (9,User(Dan,Doctor)), (5,User(Eric,Accountant))) scala> graph.edges.collect res112: Array[org.apache.spark.graphx.Edge[String]] = Array(Edge(1,2,friend), Edge(1,3,friend), Edge(1,10,friend), Edge(2,1,friend), Edge(2,3,friend), Edge(2,7,friend), Edge(3,1,friend), Edge(3,2,friend...