吴军老师的《数学之美》第29章,用大白话给出了Mapreduce根本原理。
将一个大任务拆分成小的任务,并且完成子任务的计算,这个过程叫做Map
将中间结果合并成最终结果,这个过程叫做Reduce
______________________________________________________________________________________________________________________________________
首先,看一个最基本的问题:矩阵的乘法。
要实现矩阵乘法的MapReduce,只要能够理解分块矩阵相乘就可以了,已知矩阵
,
,
其中:
,
矩阵
,那么
。
下面我们将矩阵和矩阵
分块,有太多方法,我这里还是拿《数学之美》中矩阵分块的方法。将矩阵
按列分为
块,矩阵
按行分为
块,即:
其中
。
那么显然:
。
这时候,我们就可以准备台计算机,每一台计算机计算一个
,这就是Map的过程,然后,再把这
台计算机上的结果加和,就是Reduce的过程。
————————————————————————————————————————————————————————————————————————————
后续,会加上常用的机器学习算法的MapReduce过程。
Mapreduce----<<数学之美>>,布布扣,bubuko.com
原文:http://blog.csdn.net/zhangping1987/article/details/23738035