Map-Reduce做矩阵相乘

http://blog.fens.me/hadoop-mapreduce-matrix/

Map-Reduce做矩阵相乘_第1张图片

k, v 表示key 和 value。

1,1  A:1 1 表示第一行乘第一列,A矩阵的第一位是1.


Map-Reduce做矩阵相乘_第2张图片
Map-Reduce做矩阵相乘_第3张图片

Example:

Map-Reduce做矩阵相乘_第4张图片



http://hadoopgeek.com/mapreduce-matrix-multiplication/

output matrix[0,0]位置上会用0 row of matrix A * 0 col of Matrix B.

得到的a list of values会再sum up起来。

Map-Reduce做矩阵相乘_第5张图片

mapper output:  

然后要把所有这个位置上的值做一个加法。

A*B  = C matrix

C matrix上位置的值= A的row里乘*B的col <, c> dot-product。

但是我们不能直接当做key  因为我们有2个mapper for different matrixA, matrix B.


最后加起来。



Map-Reduce做矩阵相乘_第6张图片


Map-Reduce做矩阵相乘_第7张图片

你可能感兴趣的:(Map-Reduce做矩阵相乘)