矩阵的XX'的MapReduce代码



我正在尝试使用Hadoop MapReduce找到矩阵的X转置X。输入文件为csv格式,row_id, col_id, value。row_id和column_id不需要排序。问题是使用mapper发出什么。我不想存储整个矩阵。我使用MapWritable发出形式为

的输出

上下文。Emit (col_id, mapw)

,其中mapw是map(row_id, value),因为矩阵的乘法使用列aij*bjk

  • 我可以在MapWritable中输出两个以上的值吗?我不知道该怎么做。如果我有两个以上的值,那么我可以同时发射矩阵和它的转置,并且有一个字段用于识别它是矩阵还是转置(例如mapw(M, I, val))

  • 如果我不能这样做,有没有其他的方法不存储矩阵,有矩阵和它的转置在减速器中的列j的所有值?? ?

为什么不直接发出一个(col_id,Text)呢?文本格式为:M/M' +分隔符+ row_id +分隔符+ value。

相关内容

  • 没有找到相关文章

最新更新