Structural APIs
Armed with the knowledge of how to create a graph and the knowledge of how to navigate the APIs, let's focus on the structural APIs. The code is available in graph-03.scala
, graph-04.scala
, and graph-05.scala
files:
You can get the number of edges and vertices by numEdges
and numVertices
.
graph.numEdges graph.numVertices // val vertices = graph.vertices vertices.collect.foreach(println) // val edges = graph.edges edges.collect.foreach(println) // val triplets = graph.triplets triplets.take(3) triplets.map(t=>t.toString).collect().foreach(println)
The triplets are interesting. They actually encompass an edge and two vertices that the edge connects to and all the user-defined objects in one neat object. They are very useful when we want to write algorithms:
Let's look at the code. It is not that complex:
val inDeg = graph.inDegrees // Followers inDeg.collect() val outDeg = graph.outDegrees...