【问题标题】:Can Scala Breeze Library be used from Groovy code?可以从 Groovy 代码中使用 Scala Breeze 库吗?
【发布时间】:2016-02-07 08:25:05
【问题描述】:

鉴于 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[])

在 Scala 中:

val mat: mat:org.apache.spark.mllib.linalg.DenseMatrix = new DenseMatrix(
  2, 2, Array(1, 2, 3, 4))

我假设我对org.apache.spark.mllib.linalg.* 使用完全相同的 jar,用于 Java 或 Scale 代码。如果我在这里错了,请纠正我。

还有为什么there is a method in Java version:

org.apache.spark.mllib.linalg.Matrix.toBreeze() 

但不在Scala version:

org.apache.spark.mllib.linalg.Matrix

Breeze Matrix 是 Scala 特有的,但在 Java 版本中具有 API,但在 spark mllib 库的 Scala 版本中没有,这似乎具有讽刺意味。

【问题讨论】:

    标签: java scala groovy apache-spark scala-breeze


    【解决方案1】:

    不是真的。 Breeze 大量使用了 Scala 的隐式解析机制,这在 Groovy 或其他 JVM 语言中不起作用。

    (见Using Breeze from Java on Spark MLlib

    您可能会考虑使用 MTJ,它具有对 java 更友好的界面,并且(大部分)具有相同的线性代数后端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多