MapReduce:共同好友
2016-07-11 15:10
417 查看
社交网站上,在看好友信息时,经常会得到如下一个信息,你和xxx有N位共同好友。
下面是A、B、C、D、E 5个人的好友情况:
A -> B C D
B -> A C D E
C -> A B D E
D -> A B C E
E -> B C D
第一行的意思是A有BCD 3个好友,下面几行的以此类推。
请使用 map reduce 任务,完成共同好友这个功能。
要求:
1. 描述清楚map和reduce函数的的输入,输出
2. (optional)将map 函数、reduce函数的输出逐步演算出来
解答
1.map输入:(偏移量,原始数据)
map输出:([用户1,用户2],用户1和用户2的共同好友)
reduce输入:([用户1,用户2],用户1和用户2的共同好友)
reduce输出:([用户1,用户2],[用户1、用户2的共同好友列表])
2.
map输入:
0 ABCD
4 BACDE
9 CABDE
14 DABCE
19 EBCD
map输出:
BC A
BD A
CD A
AC B
AD B
AE B
CD B
CE B
DE B
AB C
AD C
AE C
BD C
BE C
DE C
AB D
AC D
AE D
BC D
BE D
CE D
BC E
BD E
CD E
reduce输入:
BC A
BD A
CD A
AC B
AD B
AE B
CD B
CE B
DE B
AB C
AD C
AE C
BD C
BE C
DE C
AB D
AC D
AE D
BC D
BE D
CE D
BC E
BD E
CD E
reduce输出:
AB CD
AC BD
AD BC
AE BCD
BC ADE
BD ACE
BE CD
CD ABE
CE BD
DE BC
下面是A、B、C、D、E 5个人的好友情况:
A -> B C D
B -> A C D E
C -> A B D E
D -> A B C E
E -> B C D
第一行的意思是A有BCD 3个好友,下面几行的以此类推。
请使用 map reduce 任务,完成共同好友这个功能。
要求:
1. 描述清楚map和reduce函数的的输入,输出
2. (optional)将map 函数、reduce函数的输出逐步演算出来
解答
1.map输入:(偏移量,原始数据)
map输出:([用户1,用户2],用户1和用户2的共同好友)
reduce输入:([用户1,用户2],用户1和用户2的共同好友)
reduce输出:([用户1,用户2],[用户1、用户2的共同好友列表])
2.
map输入:
0 ABCD
4 BACDE
9 CABDE
14 DABCE
19 EBCD
map输出:
BC A
BD A
CD A
AC B
AD B
AE B
CD B
CE B
DE B
AB C
AD C
AE C
BD C
BE C
DE C
AB D
AC D
AE D
BC D
BE D
CE D
BC E
BD E
CD E
reduce输入:
BC A
BD A
CD A
AC B
AD B
AE B
CD B
CE B
DE B
AB C
AD C
AE C
BD C
BE C
DE C
AB D
AC D
AE D
BC D
BE D
CE D
BC E
BD E
CD E
reduce输出:
AB CD
AC BD
AD BC
AE BCD
BC ADE
BD ACE
BE CD
CD ABE
CE BD
DE BC
相关文章推荐
- 详解HDFS Short Circuit Local Reads
- Hadoop_2.1.0 MapReduce序列图
- 使用Hadoop搭建现代电信企业架构
- 单机版搭建Hadoop环境图文教程详解
- hadoop常见错误以及处理方法详解
- hadoop 单机安装配置教程
- hadoop的hdfs文件操作实现上传文件到hdfs
- hadoop实现grep示例分享
- Apache Hadoop版本详解
- linux下搭建hadoop环境步骤分享
- hadoop client与datanode的通信协议分析
- hadoop中一些常用的命令介绍
- Hadoop单机版和全分布式(集群)安装
- 用PHP和Shell写Hadoop的MapReduce程序
- hadoop map-reduce中的文件并发操作
- Hadoop1.2中配置伪分布式的实例
- hadoop上传文件功能实例代码
- java结合HADOOP集群文件上传下载
- Hadoop 2.x伪分布式环境搭建详细步骤
- Java访问Hadoop分布式文件系统HDFS的配置说明