博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MapReduce:共同好友
阅读量:2239 次
发布时间:2019-05-09

本文共 758 字,大约阅读时间需要 2 分钟。

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

转载地址:http://pglbb.baihongyu.com/

你可能感兴趣的文章
【操作系统】内存碎片产生原因及终极解决办法
查看>>
幂等性验证思想
查看>>
DB理论--数据存储方式
查看>>
PB协议的说明与使用
查看>>
什么是TPS,什么是QPS,区别是什么?
查看>>
git pull遇到错误:error: Your local changes to the following files would be overwritten by merge:
查看>>
arraylist扩容时机java8
查看>>
logback中additivity的理解
查看>>
一篇文章搞懂hash,hashcode,equals,==的用法
查看>>
mysql数据库,悲观锁。for update 的用法。
查看>>
springboot+jta+atomikos多数据源和 springboot+mybatisplus+aop实现数据库读写分离而引发的一些思考
查看>>
java面试中常考的一些面试sql语句
查看>>
一个字节等于多少位?
查看>>
帧框架frameset的用法总结
查看>>
java1.8中创建hashmap的初始化大小设置标准
查看>>
mark一下,service的实现层没有加@service注解。
查看>>
jq对象转换成js对象。已经jq的复合选择器。
查看>>
(一)alin‘s mysql学习笔记----概述
查看>>
(二)alin’s mysql学习笔记----mysql的存储引擎
查看>>
(三)alin’s mysql学习笔记----常用的join连接查询
查看>>