写点什么

MapReduce 练习案例 4 - 求共同好友

用户头像
小马哥
关注
发布于: 2021 年 01 月 29 日
MapReduce练习案例4 -求共同好友

案例 4: 求共同好友

4.1 需求

以下是 qq 的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友

A:B,C,D,F,E,OB:A,C,E,KC:A,B,D,E,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
复制代码


求出哪些人两两之间有共同好友,及他俩的共同好友都有谁?

4.2 思路


​ 1, map 任务: 输入每行数据 key:value, 输出: 拆分好友, 好友做 key, 当前用户做 value;

​ 例如第一行, 输出:key=B: value=A, key=C:value=A, key=D:value=A, key=F:value=A, key=E:value=A, key=O:value=A,

​ 这样经过 shuffle 之后, 相同的好友共同的用户会聚集在一个分组中.

​ 2, reduce 任务: 将用户组内的用户两两组合, 形成: key 好友:用户 1-用户 2 的形式输出

​ 例如: 假设 共同好友 C: 用户组[A, B, E, F, ...], 输出: A-B: C / A-E: C / A-F: C ....


发布于: 2021 年 01 月 29 日阅读数: 15
用户头像

小马哥

关注

自强不息,厚德载物 2018.12.22 加入

像一棵竹子那样, 不断的扎根积累, 活出节节高的人生!

评论

发布
暂无评论
MapReduce练习案例4 -求共同好友