MapReduce-recomend
二度人脉好友推荐运用非常广泛,比如在一些主流的社交产品中就有可能认识的人这样的功能,一般来说可能认识的人是通过二度人脉搜索得到的,在传统的关系型数据库中,可以通过图的广度优先遍历算法实现,而且深度限定为2,然而在海量的数据中,这样的遍历成本太大,所以有必要利用MapReduce编程模型来并行化,本篇文章是二度好友推荐的mapreduce简单实现,难免会有不足和缺陷,希望大家能够指出,共同进步。
假如A和B是好友关系,B和C是好友关系,然而C和A不是好友关系,那么A和C是二度好友关系,他们可以通过B认识,B是中间人。我们定义一个符号“>”来代表follow,上面的例子可以这样表示
A>B
B>C
在社交网络任何一个活跃的用户U都存在对应的两个集合,一个是粉丝集合,一个是关注集合,以用户U作为中间联系的2度人脉对,是粉丝集合和关注集合的笛卡尔积。
于是在M
2021-12-26 17:11:12
3KB
Java
1