关于hadoop的面试题(QQ共同好友数据分析)
如下文章字数大约400字以及若干代码块,阅读时间需要20分钟左右。
这里所介绍的示例源自于一道面试题,
因直接粘贴逻辑影响格式,这里直接截图,如果有需要源码的人,可私信我。
对于共同好友的分析,常见于我们各个社交软件中,比如QQ等。
这里分析基于Hadoop相关技术实现逻辑。
言归正传:
以下是QQ好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友是单向的)
A:B,C,D,F,E,O
B:A,C,E,K
C:F,A,D,I
D:A,E,F,L
E:B,C,D,M,L
F:A,B,C,D,E,O,M
G:A,C,D,E,F
H:A,C,D,E,O
I:A,O
J:B,O
K:A,C,D
L:D,E,F
M:E,F,G
O:A,H,I,J
求出:哪些人两两之间有共同好友以及他俩的共同好友都有谁?
整体解决思路是:
1、先求出用户是哪些人的共同好友,比如:a是b、c 等用户都具备
2、然后再得到哪些人有一些共同的好友。
所以,这里需要执行2次mapreduce程序,第一次执行目的是上述第一步。然后,第二步基于第一步内容。
【1】执行第一次mapreduce程序
上述mapreduce执行完后,得到输出的文件如下:
【2】基于第一次执行完的文件,执行第二次mapreduce逻辑:
得到最终的结果文件为:
至此,得到结果。
下篇预告:Hadoop中重要的HDFS中元数据备份机制。
已上内容,纯属一家之言,因本人能力一般,见识有限,如有问题,请不吝指正,感谢。
相关技术内容会持续更新,大家可随时交流,欢迎关注本头条号
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com