【发布时间】:2016-03-18 09:59:25
【问题描述】:
我是 Scala 新手,我正在用 Scala 编写 Spark 应用程序,我需要使用来自 org.apache.spark.mllib.linalg.BLAS 的 axpy 函数。但是,用户似乎无法访问它。相反,我尝试导入 com.github.fomil.netlib 并直接访问它。但我也可以。我需要乘以 DenseVector。
【问题讨论】:
标签: scala apache-spark blas
我是 Scala 新手,我正在用 Scala 编写 Spark 应用程序,我需要使用来自 org.apache.spark.mllib.linalg.BLAS 的 axpy 函数。但是,用户似乎无法访问它。相反,我尝试导入 com.github.fomil.netlib 并直接访问它。但我也可以。我需要乘以 DenseVector。
【问题讨论】:
标签: scala apache-spark blas
现在,mllib 中的 BLAS 类在 spark source code 中标记为 private[spark]。这意味着,正如您似乎已经发现的那样,它无法从外部访问火花本身。总之,你不能在你的代码中使用它。
如果你想直接使用netlib-java类,你需要在你的项目中添加如下依赖
libraryDependencies += "com.github.fommil.netlib" % "all" % "1.1.2" pomOnly()
这应该允许您导入 BLAS 类。请注意,我并没有真正尝试过使用它,但我可以毫无问题地执行BLAS.getInstance()。如此处所述 - https://github.com/fommil/netlib-java,在某些 Linux 平台上的安装可能会有些复杂。
【讨论】:
将 mllib 添加到您的项目中
libraryDependencies += "org.apache.spark" %% "spark-mllib" % "1.3.0"
【讨论】: