利用 GraphX 连接数据点
在处理图数据时,GraphX 提供了强大的功能和丰富的算法。下面将详细介绍如何使用 GraphX 构建图、应用图算法以及实现 A* 搜索算法。
构建图
首先,我们需要加载文章和链接数据,并构建图对象。以下是具体的代码实现:
val articles = sc.textFile("first-edition/ch09/articles.tsv").
filter(line => line.trim() != "" && !line.startsWith("#")).
zipWithIndex().cache()
val links = sc.textFile("first-edition/ch09/links.tsv").
filter(line => line.trim() != "" && !line.startsWith("#"))
val linkIndexes = links.map(x => {
val spl = x.split("\t");
(spl(0), spl(1)) }).
join(articles).map(x => x._2).join(articles).map(x => x._2)
val wikigraph = Graph.fromEdgeTuples(linkIndexes, 0)
在上述代码中,我们通过以下步骤构建图:
1. 加载文章数据,并为每篇文章分配一个唯一的 ID,同时将数据缓存以提高后续查询效
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



