260

问答题 260 /376

map reduce实现笛卡尔乘积

参考答案

参考回答:

在Map阶段,将来自矩阵A的元素标识成l条<key,value>的形式,key=(i,k),k=1,2,…,l。value=(j,)。将来自矩阵B的元素标识成l条<key,value>的形式,key=(i,k),k=1,2,…,m。value=(j,)。

Shuffle阶段将key相同的value放在相同的列表中

在reduce的时候将key相同来自不同矩阵的value做笛卡儿积

再将结果map成((i,j),value)的形式

Shuffle将key相同的value放在同一列表中

Reduce时key相同的value求和