鉴于 Groovy 与 Scala 具有大部分相同的功能,我们是否可以编写 Groovy 程序来导入 Breeze并在 Groovy 中进行科学计算。据说 Apache Spark 是用 Scala 编写的,并且 spark 提供了完全相同的库,用于用 Java 或 Scala 编写客户端代码。例如:
在 Groovy(或 Java)中
org.apache.spark.mllib.linalg.Matrix mat =
new org.apache.spark.mllib.linalg.DenseMatrix(2,2, [1,2,3,4] as double[])
在斯卡拉:
val mat: mat:org.apache.spark.mllib.linalg.DenseMatrix = new DenseMatrix(
2, 2, Array(1, 2, 3, 4))
org.apache.spark.mllib.linalg.*
我假设我对 Java 或 Scale 代码使用完全相同的 jar 。如果我在这里错了,请纠正我。
还有为什么Java版本中有一个方法:
org.apache.spark.mllib.linalg.Matrix.toBreeze()
但不是在Scala 版本中:
org.apache.spark.mllib.linalg.Matrix
这似乎具有讽刺意味的是,Breeze Matrix 是 Scala 特定的,但在 Java 版本中有 API,但在 spark mllib 库的 Scala 版本中没有。