¿Cómo crear un gráfico de chispa simple usando Java?
Básicamente soy un desarrollador de Java y ahora tuve la oportunidad de trabajar en Spark y revisé los conceptos básicos de la API de Spark como lo que es SparkConfig, SparkContaxt, RDD, SQLContaxt, DataFrame, DataSet y luego pude realizar algunas transformaciones simples y simples usando RDD, SQL ... pero cuando trato de entrenar alguna aplicación de muestra de grafito usando Java, entonces no puedo tener éxito y revisé tantos tutoriales de YouTube, foros y subprocesos de stackoverflow, pero no he encontrado ninguna sugerencia directa o solución. En realidad, me enfrento a este problema cuando intento crear un objeto para la clase GraphFrame y he descargado jar receptivo (graphframes-0.2.0-spark2.0-s_2.11.jar) también, pero todavía estoy enfrentando un problema ahora. Quiero poner mi análisis hasta donde llegue debido a que es muy nuevo en Spark. No puedo avanzar más, así que si alguien me ayuda, es realmente útil para todos. Gracias por adelantado. La excepción es que estoy enfrentandoEl constructor GraphFrame (DataFrame, DataFrame) no está definido
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());
}
}