使用MapReduce实现寻找共同好友的案例

来源:互联网 发布:怎么在淘宝上卖小电影 编辑:程序博客网 时间:2024/05/22 08:06

假设有一下qq的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友关系是单向的)

A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,OI:A,OJ:B,OK:A,C,DL:D,E,FM:E,F,GO:A,H,I,J

问题:如果两个用户之间存在共同好友,那么求出他们之间的共同好友

求解步骤

第一步:    map:    读取一行数据:A:B,C,D,F,E,O,转换一下得到B-->A,C-->A,D-->A,F-->A,E-->A,O-->A    reduce:    读取的数据应是类似于B--A,B-->E,B-->F    得到(A,E)-->B(A和E有共同的好友B),(A,F)-->B,(E,F)-->B第二步:    map:    读取第一步输出的数据:(A,E)-->B,(A,F)-->B,(E,F)-->B,(A,E)-->C    原样输出    reduce:    得到(A,E)-->B,(A,E)-->C    最后输出结果
原创粉丝点击