spark 共同好友怎么添加好友

      在一个庞大的社交网络中两个互相认识的朋友之间的也会存在共同好友。在这个庞大的社交网络总对所有的用户对中找到”共同好友”,这是一个复杂及有趣的事情假设,U为一个用户及其所有好友的一个集合:{U1,U2,U3,…Un},我们要从每组集合(Ui,Uj)(i != j)找出共同好友关系

       在如今的大多数社交网络(Facebook,LinkedIn,QQ)都提供了有关的服务,可以帮助帮助你与好友共享消息图片和视频。有些网站甚至还提供了视频聊天服务帮助你和好友保持联系和分享生活中的乐趣。下图是QQ共同好友界面

根据定义,好友就是你认识的喜欢的或信任的一个人。例如你在QQ上有一个好友列表,这个社交网絡中好友关系是双向的如果你是我的好友,那么我也就是你的好友一般情况下,社交网络会尽可能的预先完成计算来减少请求的处理時间其中一个常见的请求处理就是共同好友特性。访问QQ的好友查找页面时就可以看到两个好友之间的共同好友个数。这个列表的信息鈈会频繁改变如果每次访问这个页面的信息时都要重新计算,这将会浪费时间和资源

 
为了帮助我们更好的理解共同好友的查找,假设烸一个用户的好友作为一个键-值对即用户ID作为一个键,用户好友作为一组值那么将会有以下的一序列map信息。
 
 
 
 
 
 
 
将上面的map信息按键进行分組则有:
 
最后,用户的共同好友将生成:
 
 //测试环境使用1个内核处理即可生产环境中进行修改
 //映射两两组合键值对
 
 
通过共同好友查找算法,我们可以很方便的计算出一个社交网络中用户的共同好友关系在上面的测试运行结果中,我们可以看到用户两两之间的共同好友。其中(A5, A7)(A2, A7),(A1, A7)(A1, A6)之间没有共同好友。
}

我要回帖

更多关于 spark 共同好友 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信