0

我想用hadoop做矩阵向量乘法。我现在有一个小的工作示例:只有一个输入文件包含矩阵的行,后面总是跟它相乘的向量。因此,每个地图任务都从这个单个文件中获取一行和向量。

现在我想要两个输入文件。一个文件应包含矩阵,另一个文件应包含向量。但我想不出一种让映射器访问这两个文件的hadoop方法。

这里最好的方法是什么?

谢谢你的帮助!

4

1 回答 1

0

Mapper最简单和最有效的解决方案是直接从 HDFS将向量读入内存(而不是作为map()输入)。大概它并没有太大以至于无法放入内存中。然后,map()仅按行排列矩阵数据。当您收到每一行时,用向量点它以产生输出的一个元素。发出(index,value)然后在Reducer(如果需要)中构造向量。

于 2013-06-23T12:05:30.890 回答