我有一个RDD[(breeze.linalg.DenseMatrix[Int], Array[Int])]
,使用Breeze库中的DenseMatrix
我希望减少,但我不确定如何。这是一个例子(我简化了代码,只有一列的DenseMatrix
在现实生活中并不真正有用):
RDD的第一个单元格:(DenseMatrix((1), (2), (3)), Array(2, 1))
RDD的第二个单元格:(DenseMatrix((4), (5), (6)), Array(1, 2))
预期结果:(DenseMatrix((1), (2), (3), (4), (5), (6)), Array(2, 1, 1, 2))
或(DenseMatrix((4), (5), (6), (1), (2), (3)), Array(1, 2, 2, 1))
。减少细胞的顺序并不重要。
我事先知道结果DenseMatrix
的大小,因此我考虑创建一个空的,然后通过循环RDD来填充它,但我可以使用reduce()
或fold()
?如何使用不像DenseMatrix
标准的不可变类型?