前言

需求:如果一个用户使用了某个手机,这个手机上登录过其他的用户,那么这些用户是有关系的,同样用户关联到的用户又可以通过手机关联到其他用户
这样就构成了一个强大的关系网。现在给出用户与手机登录关系表,请找出所有的用户是有关系的。

问题分析

整个用户手机关系网拓扑图如下图所示:

从图中可以发现,找到有关系的关联的用户,就是要找出上面无向图的所有联通分支。比如上图有两个联通分支。

测试数据集

对应上图,测试数据集合如下:

希望的输出结果为所有关联的用户对应同一个ID。

测试代码

运行结果:

可以发现,结果正如我们所料。

总结

基于 Spark GraphX 可以做很多图计算方面的事情,而且是分布式,速度比单机处理快,值得好好研究。

文章来源于腾讯云开发者社区,点击查看原文