社交网站上,在看好友信息时,经常会得到如下一个信息,你和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