带有hadoop的矩阵向量乘法:不同文件中的向量和矩阵

时间:2013-06-23 09:34:39

标签: hadoop mapreduce

我想用hadoop进行矩阵向量乘法。我现在有一个小的工作示例:只有一个输入文件包含矩阵的行,后面跟着它乘以的向量。因此,每个map-task都会获得一行和该单个文件中的向量。

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

这里最好的方法是什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

最简单,最有效的解决方案是直接从HDFS(而不是Mapper输入)将矢量读入map()的内存中。据推测,它不是那么大,以至于它无法适应记忆。然后,map()只按行显示矩阵数据。当您收到每一行时,将其与向量对齐以生成输出的一个元素。发出(index,value),然后在Reducer中构建向量(如果需要)。