import org.apache.spark.graphx._
// 创建 SparkConf 和 SparkContext
val conf = new SparkConf().setAppName("GraphXExample")
val sc = new SparkContext(conf)
// 定义顶点和边的 RDD
val vertices: RDD[(VertexId, String)] = sc.parallelize(Array((1L, "Alice"), (2L, "Bob"), (3L, "Charlie")))
val edges: RDD[Edge[Int]] = sc.parallelize(Array(Edge(1L, 2L, 1), Edge(2L, 3L, 2), Edge(3L, 1L, 3)))
// 使用 Graph 构造函数创建图
val graph: Graph[String, Int] = Graph(vertices, edges)
// 打印图的顶点和边
println("Graph Vertices:")
graph.vertices.foreach(println)
println("\nGraph Edges:")
graph.edges.foreach(println)
在这个例子中,vertices 是一个包含顶点信息的 RDD,每个元素都是一个 (VertexId, String) 对,其中 VertexId 是顶点的唯一标识,而 String 是顶点的属性。edges 是一个包含边信息的 RDD,每个元素都是一个 Edge[Int] 对象,表示一条边,其中 Int 是边的属性。
通过调用 Graph 构造函数,我们将这些顶点和边的 RDD 传递给 Graph 对象,从而创建了一个图。最后,我们打印了图的顶点和边。
这只是一个简单的示例,实际应用中,你可能需要根据你的数据和需求更详细地定义顶点和边的属性。
转载请注明出处:http://www.zyzy.cn/article/detail/9383/Spark