怎么查看qq共同好友具体是谁,QQ共同好友数据分析

这里所介绍的示例源自于一道面试题,

因直接粘贴逻辑影响格式,这里直接截图,如果有需要源码的人,可私信我。

Hadoop面试题详解:QQ共同好友数据分析

对于共同好友的分析,常见于我们各个社交软件中,比如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程序

Hadoop面试题详解:QQ共同好友数据分析

Hadoop面试题详解:QQ共同好友数据分析

上述mapreduce执行完后,得到输出的文件如下:

Hadoop面试题详解:QQ共同好友数据分析

【2】基于第一次执行完的文件,执行第二次mapreduce逻辑:

Hadoop面试题详解:QQ共同好友数据分析

Hadoop面试题详解:QQ共同好友数据分析

Hadoop面试题详解:QQ共同好友数据分析

得到最终的结果文件为:

Hadoop面试题详解:QQ共同好友数据分析

至此,得到结果。

(0)
打赏 微信扫一扫 微信扫一扫

相关推荐

本文内容由互联网用户自发贡献,该文观点仅代表作者本人,不代表万网时代立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 qulianxi@foxmail.com 举报,一经查实,本站将立刻删除。