目录
图片来源:https://databricks.com/blog/2016/03/03/introducing-graphframes.html
输入
// 顶点
val users = sc.parallelize(Array(
(1L, ("Alice", 34)),
(2L, ("Bob", 36)),
(3L, ("Charlie", 30)),
(4L, ("David", 29)),
(5L, ("Esther", 32)),
(6L, ("Fanny", 36)),
(7L, ("Gabby", 60))
))
// 边
val relationships = sc.parallelize(Array(
Edge(1L, 2L, "friend"),
Edge(2L, 3L, "follow"),
Edge(3L, 2L, "follow"),
Edge(6L, 3L, "follow"),
Edge(5L, 6L, "follow"),
Edge(5L, 4L, "friend"),
Edge(4L, 1L, "friend"),
Edge(1L, 5L, "friend")
))
连通图–ConnectedComponents
算法参数
* @param graph the graph for which to compute the connected components
* @param maxIterations the maximum number of iterations to run for
* @return a graph with vertex attributes containing the smallest vertex in each connected component
输出
val graph = Graph(users, relationships)
ConnectedComponents.run(graph, Int.MaxValue).vertices.foreach(println