Let's understand how GraphFrames works by taking a look at the architecture.
The key thing in order to make use of DataFrames, Catalyst, and Tungsten is that the GraphFrames engine is based on relational queries.
This concept is illustrated in the following image: