Como criar um gráfico simples de faísca usando java?

Basicamente, eu sou desenvolvedor Java e agora tive a chance de trabalhar no Spark e passei pelo básico da API do Spark, como o SparkConfig, SparkContaxt, RDD, SQLContaxt, DataFrame, DataSet e, em seguida, consegui realizar algumas transformações simples e simples usando RDD, SQL .... mas quando tento exercitar algum aplicativo de exemplo de graphframe usando java, não consigo obter sucesso e passei por muitos tutoriais, fóruns e threads de fluxo de pilha, mas não encontrei nenhuma sugestão direta ou solução. Na verdade, enfrento esse problema ao tentar criar um objeto para a classe GraphFrame e baixei o jar receptivo (graphframes-0.2.0-spark2.0-s_2.11.jar) também, mas ainda enfrentando problemas agora, quero colocar minha análise até o ponto em que chego, devido às novidades do Spark, que não consigo avançar ainda mais. Se alguém me ajudar, é realmente útil para todos. Desde já, obrigado. A exceção é que estou enfrentandoO construtor GraphFrame (DataFrame, DataFrame) é indefinido

import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.DataFrame;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.RowFactory;
import org.apache.spark.sql.SQLContext;
import org.apache.spark.sql.types.DataTypes;
import org.apache.spark.sql.types.StructField;
import org.apache.spark.sql.types.StructType;
import org.apache.spark.storage.StorageLevel;
import org.graphframes.GraphFrame;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;

public class SparkJavaGraphFrameOne {

    public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException{

        SparkConf conf = new SparkConf().setAppName("test").setMaster("local");

        JavaSparkContext sc = new JavaSparkContext(conf);
        SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc);

        JavaRDD<Row> verRow = sc.parallelize(Arrays.asList(RowFactory.create(1,"A"),RowFactory.create(2,"B")));
        JavaRDD<Row> edgRow = sc.parallelize(Arrays.asList(RowFactory.create(1,2,"Edge")));     

        List<StructField> verFields = new ArrayList<StructField>();
        verFields.add(DataTypes.createStructField("id",DataTypes.IntegerType, true));
        verFields.add(DataTypes.createStructField("name",DataTypes.StringType, true));

        List<StructField> EdgFields = new ArrayList<StructField>();
        EdgFields.add(DataTypes.createStructField("fromId",DataTypes.IntegerType, true));
        EdgFields.add(DataTypes.createStructField("toId",DataTypes.IntegerType, true));
        EdgFields.add(DataTypes.createStructField("name",DataTypes.StringType, true));

        StructType verSchema = DataTypes.createStructType(verFields);
        StructType edgSchema = DataTypes.createStructType(EdgFields);

        DataFrame verDF = sqlContext.createDataFrame(verRow, verSchema);
        DataFrame edgDF = sqlContext.createDataFrame(edgRow, edgSchema);

        GraphFrame g = new GraphFrame(verDF,edgDF);
        g.vertices().show();
        g.edges().show();
        g.persist(StorageLevel.MEMORY_AND_DISK());
    }

}

questionAnswers(3)

yourAnswerToTheQuestion