master
质保期 6 years ago
parent 2dddcd6479
commit ad55ffc289

@ -1,7 +1,7 @@
## 4.1 Spark GraphX 定义图结构
### 4.1.1 图的基本概念
图是由顶点集合`(vertex)`及顶点间的关系集合`边edge`组成的一种数据结构。可以对事物以及事物之间的关系建模,也可以用来表示自然发生的连接数据,如:社交网络、互联网`web`页面。
图是由顶点集合`vertex`及顶点间的关系集合`边edge`组成的一种数据结构。可以对事物以及事物之间的关系建模,也可以用来表示自然发生的连接数据,如:社交网络、互联网`web`页面。
常用的应用有:在地图应用中找到最短路径、基于与他人的相似度图,推荐产品、服务、人际关系或媒体。
### 4.1.2 术语
@ -113,7 +113,7 @@ val edges: RDD[Edge[Double]] = sc.parallelize(List(
// 构造图 Graph[VD,ED]
val graph = Graph(vertices, edges)
```
属性演示:
属性及方法演示:
```
// 打印顶点属性
graph.vertices.foreach(println)

@ -82,6 +82,7 @@ val initialGraph = graph.mapVertices { case (id, (name)) => if (id == srcVertexI
initialGraph.vertices.foreach(println) // 后面操作中删除
// ArrayBuffer 中计算起始点到目标点的行走线路Infinity 计算最短距离
输出:
(2,(ArrayBuffer(),Infinity))
(6,(ArrayBuffer(),Infinity))
@ -142,8 +143,8 @@ initialGraph.pregel(
println(s"从总补给点“${value(0)}”前往目标补给点“${value(value.size-1)}”配送物资的最近距离为“${x._2._2.formatted("%.1f")}”km,其行走线路为:${value.mkString("->")}")
})
输出:
输出:
从总补给点“1”前往目标补给点“7”配送物资的最近距离为“7.7”km,其行走线路为:1->2->3->7
从总补给点“1”前往目标补给点“3”配送物资的最近距离为“4.3”km,其行走线路为:1->2->3
从总补给点“1”前往目标补给点“4”配送物资的最近距离为“4.5”km,其行走线路为:1->5->4

Loading…
Cancel
Save