背景
在QQ,微博等社交软件中都会有好友推荐的功能,本案例将使用MapReduce
实现一个简单的好友推荐的功能。想象一下,程序如何推荐好友呢?假设A和B为好友关系,B和C为好友关系,那么我们就假定A和C有好友关系。更复杂的情况,A和B、C均为好友关系,B、C和D均为好友关系,那么我们就假定A和D有好友关系。这样的关系可以称为二度关系。在实际过程中可以判断这种二度关系的数量进行好友推荐,或者进行三度关系的数量判断来进行推荐。
分析
数据如下形式:
A B
B C
C D
B E
A D
map阶段可以得到如下格式:
Key:A Value:B D
Key:B Value:C E
Key:C Value:D