MapReduce 中的完整距离矩阵

Complete distance matrix in MapReduce

我对 MapReduce 比较陌生,我想到了以下问题:如何在 MapReduce 中计算完整(即非稀疏)距离矩阵?

我有一个包含 N 个实例的二维数据集,我必须评估这些点之间的所有可能距离并将它们存储在矩阵中。

到目前为止我所做的是

我认为这不是很有效(尤其是从内存的角度来看)。

谁能赐教一下?

更新:我对上面的代码做了一点优化。现在

毫无疑问,这是一个更好的解决方案,因为 Mappers 不需要构建整个 NxN 矩阵,但我仍然认为它可以做得更好。

我就是这样做的:Map 任务只是评估给定实例 j 与所有其他实例之间的距离。 Reducer 将这些距离连接到一个写在磁盘上的向量中。这样的记录确实是矩阵的第j行。这适用于所有实例,然后将写入磁盘的所有记录连接在一起。