例子
你想数出一摞牌中有多少张黑桃。直观方式是一张一张检查并且数出有多少张是黑桃。
MapReduce方法则是:
- 给在座的所有玩家中分配这摞牌
- 让每个玩家数自己手中的牌有几张是黑桃,然后把这个数目汇报给你-----map
- 你把所有玩家告诉你的数字加起来,得到最后的结论-----reduce
拆分
-
MapReduce合并了两种经典函数:
- 映射(Mapping)对集合里的每个目标应用同一个操作。即,如果你想把表单里每个单元格乘以二,那么把这个函数单独地应用在每个单元格上的操作就属于mapping。
- 化简(Reducing )遍历集合中的元素来返回一个综合的结果。即,输出表单里一列数字的和这个任务属于reducing。
本文通过生动的例子介绍了MapReduce的基本原理。使用发牌游戏作为比喻,详细解释了映射(Mapping)与化简(Reducing)的过程。映射是指每个玩家检查手中牌并将黑桃数量报告出来;化简则是汇总所有玩家报告的数量得到最终结果。
2万+

被折叠的 条评论
为什么被折叠?



