我在运行这个网站上的mapreduce matrix multiplication.java程序http://www.norstad.org/matrix-multiply/index.html.
(源代码可在网站末尾看到)
当我执行它时,它说输入不是sequencefile
我的输入文件最近 inputA.txt
看起来像这样
A,0,1,1.0
A,0,2,2.0
A,0,3,3.0
A,0,4,4.0
A,1,0,5.0
A,1,1,6.0
A,1,2,7.0
A,1,3,8.0
A,1,4,9.0
格式为:matrixname,row,col,element
当然,也没用。
我真的很想运行这个源代码,因为它的算法。在这种情况下,如何生成正确的sequencefile?
我可以从我已有的.txt文件生成它吗?
1条答案
按热度按时间mrfwxfqh1#
查看中包含的测试代码(在您提供的链接中)
TestMatrixMultiply
应该给你点东西做。我已经拿出相关的资料让你开始。这个(未测试的)代码应该创建两个序列文件(参见
testIdentity()
).你可以看到
writeMatrix
方法如何创建sequencefile和使用的结构,我假设与实际mapreduce作业使用的结构相同。您可以扩展此代码以读取文本文件,正确填充2d矩阵数组,然后编写序列文件。
您应该注意,这种方法对于少量的数据是可以的。一旦你开始达到任何一种比例,你可能会想写一个mapreduce作业,把你的文本文件作为输入,写出一个序列文件。