我正在尝试使用 Hadoop MapReduce 找到矩阵的 X 转置 X。输入文件是 csv 格式,带有row_id, col_id, value
. row_id 和 column_id 不必采用排序格式。问题是使用映射器发出什么。我不想存储整个矩阵。我正在使用 aMapWritable
来发出表单的输出
context.emit(col_id, mapw)
其中 mapw 是 map(row_id, value) 因为矩阵是使用列 a ij *b jk相乘的
我可以在 MapWritable 中输出两个以上的值吗?我不知道该怎么做?如果我有两个以上的值,那么我可以同时发出矩阵,它是转置的,并且有一个用于识别它是矩阵还是转置的字段(比如 mapw(M, i, val))
如果我不能这样做,是否有任何其他方法不存储矩阵,让矩阵和它在reducer中转置为列j的所有值。??