Graph operations
The Graphx library provides various inbuilt operations that can be executed on Property Graphs. In this section, we will discuss those operations.
mapVertices
Similar to map transformation on RDD, mapVertices allows users to transform the vertices of graphs. The following is the signature of the mapVertices method:
mapVertices(scala.Function2<Object,VD,VD2> map, scala.reflect.ClassTag<VD2> evidence$3, scala.Predef.$eq$colon$eq<VD,VD2> eq)
To implement scala.Function2 in Java, scala.runtime.AbstractFunction2 can be used because implementing scala.Function2 in Java requires users to implement a large number of abstract methods and this generates a lot of byte code.
AbstractFunction0, AbstractFunction1, AbstractFunction2, ... were introduced to reduce the byte code generated by anonymous functions such as scala.Function0, scala.Function1, scala.Function2, ..... That is why they are kept in the scala.runtime package. We can leverage them while calling graph operations...