I am preparing graph in Java API and stuck in below conversion as Edge<String>
but encoder is giving Edge
class with Raw parameter
Dataset<Row> edges = spark.read()
.option("header", "true")
.option("inferSchema", "true")
.csv("src/main/resources/edges.csv");
Encoder<Edge> encoderEdges = Encoders.bean(Edge.class);
JavaRDD<Edge> edgesRDD = edges.as(encoderEdges).toJavaRDD();
ClassTag<String> stringTag = scala.reflect.ClassTag$.MODULE$.apply(String.class);
ClassTag<Double> doubleTag = scala.reflect.ClassTag$.MODULE$.apply(Double.class);
Graph<Double, String> graph = Graph.apply(verticesRDD.rdd(),
edgesRDD.rdd(), Double.class,
StorageLevel.MEMORY_ONLY(),
StorageLevel.MEMORY_ONLY(),
doubleTag, stringTag);
How I can convert in required format, error is
The method apply(RDD>, RDD>, VD, StorageLevel, StorageLevel, ClassTag, ClassTag) in the type Graph is not applicable for the arguments (RDD>, RDD, String, StorageLevel, StorageLevel, ClassTag, ClassTag)