我试图用hadoopmapreduce找到矩阵的x转置。输入文件为csv格式,带有 row_id, col_id, value
. 行id和列id不必采用排序格式。问题是使用mapper发射什么。我不想存储整个矩阵。我用的是 MapWritable
发出窗体的输出
context.emit(列id,mapw)
其中mapw是map(row\u id,value),因为矩阵是使用列aij*bjk乘以的
我可以在一个可Map的可写文件中输出两个以上的值吗?我不知道怎么做?如果我有两个以上的值,那么我可以同时发出矩阵和它的转置,并且有一个字段来标识它是矩阵还是转置(比如mapw(m,i,val))
如果我不能做到这一点,有没有其他方法不存储矩阵,让矩阵和它的转置在一列j的所有值的归约器中。??
1条答案
按热度按时间mcvgt66p1#
为什么不发出一个(列id,文本)。文本格式为m/m'+分隔符+行\ id+分隔符+值。