Wie erstelle ich einen einfachen Spark Graphframe mit Java?

rundsätzlich bin ich ein Java-Entwickler und habe nun die Möglichkeit, an Spark zu arbeiten. Ich habe die Grundlagen der Spark-API durchgearbeitet, wie SparkConfig, SparkContaxt, RDD, SQLContaxt, DataFrame, DataSet und dann kann ich einige einfache Transformationen durchführen Mit RDD, SQL ... aber wenn ich versuche, ein Beispiel für eine Graphframe-Anwendung mit Java auszuarbeiten, kann ich Erfolg haben und habe so viele YouTube-Tutorials, Foren und Stackoverflow-Threads durchgearbeitet, aber keine, bei denen ich keine direkten gefunden habe Vorschlag oder Lösung. Dieses Problem tritt tatsächlich auf, wenn ich versuche, ein Objekt für die GraphFrame-Klasse zu erstelle graphframes-0.2.0-spark2.0-s_2.11.jar) auch, aber immer noch mit Problemen konfrontiert. Ich möchte meine Analyse auf einen Punkt verschieben, an den ich komme, da Spark noch sehr neu ist. Ich kann mich nicht weiterbewegen. Wenn mir jemand hilft, ist das für alle sehr hilfreich. Danke im Voraus. Die Ausnahme ist, ich stehe vorDer Konstruktor GraphFrame (DataFrame, DataFrame) ist undefiniert

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());
    }

}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage