【发布时间】:2018-12-06 17:56:20
【问题描述】:
我有一个Array[DenseMatrix[Double]],我想找到相同单元格的平均值。例如:
Array[0]:
+---+---+
| 1 | 2 |
+---+---+
| 2 | 3 |
+---+---+
Array[1]:
+---+---+
| 1 | 1 |
+---+---+
| 3 | 1 |
+---+---+
Array[2]:
+---+---+
| 2 | 3 |
+---+---+
| 4 | 1 |
+---+---+
Result: DenseMatrix:
+----+----+
| 1.3| 2 |
+----+----+
| 3 | 1.6|
+----+----+
这不是 RDD,因为我希望这段代码在驱动程序上运行。
Spark Scala 对我来说是新的,我能想到的只是:
val ar = rdd.collect().foreach(x=> {
val matr = DenseMatrix.zeros[Double](C,2)
matr := x/M
matr
})
但我不知道它是否正确,因为它认为它是closure。此外,它需要 DenseMatrix[Double] 返回类型,但我收到错误,因为如果 RDD 为空,我没有。有什么想法吗?
【问题讨论】:
标签: scala apache-spark matrix mean scala-breeze