[英]spark graphx -creating list of graphs objects in scala
我想使圖中的邊成為子圖。 然后,我想根據一個准則合並這些子圖並形成集團。 基本上我想知道如何創建Graph
對象的列表。
如何使用Scala中的Apache Spark的Graph X API實現此目的?
import org.apache.spark._
import org.apache.spark.graphx._
import org.apache.spark.rdd.RDD
import scala.collection.mutable.ArrayBuffer
val cliques = ArrayBuffer[Graph[(String, Int),Int]]()
var edges = sc.textFile("edges.g3").map {
line => var fields = line.split("\\s+")
println(line)
val vertexArray = Array(
(fields(0).toLong, (fields(0), 1)),
(fields(1).toLong, (fields(1), 1)))
val edgeArray = Array(
Edge(fields(0).toLong,fields(1).toLong,0)
)
val vertexRDD: RDD[(Long, (String, Int))] = sc.parallelize(vertexArray)
val edgeRDD: RDD[Edge[Int]] = sc.parallelize(edgeArray)
val graph: Graph[(String, Int),Int] = new Graph(vertexRDD, edgeRDD)
cliques += graph
}
這段代碼給出了Graph
類是抽象類,因此無法實例化的錯誤。 有什么方法可以創建圖列表?
如何實例化Graph對象是我的主要問題?
代替new Graph(vertexRDD, edgeRDD)
您需要使用Graph(vertexRDD, edgeRDD)
。 查看文檔中的一些示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.