我是scala的新手,我在Scala中编写Spark应用程序,我需要使用axpy
中的org.apache.spark.mllib.linalg.BLAS
函数。但是,用户似乎无法访问它。相反,我尝试导入com.github.fomil.netlib
并直接访问它。但我也可以。我需要乘以DenseVector。
答案 0 :(得分:8)
现在,mllib中的BLAS类在spark source code中标记为private[spark]
。这意味着它似乎已经弄明白,它无法在外部触及火花本身。简而言之,您无法在代码中使用它。
如果要直接使用netlib-java类,则需要将以下依赖项添加到项目中
libraryDependencies += "com.github.fommil.netlib" % "all" % "1.1.2" pomOnly()
这应该允许您导入BLAS类。请注意,我还没有尝试过使用它,但我能够毫无问题地执行BLAS.getInstance()
。在某些Linux平台上安装可能会有一些复杂性,如此处所述 - https://github.com/fommil/netlib-java。
答案 1 :(得分:0)
将mllib添加到您的项目中
libraryDependencies += "org.apache.spark" %% "spark-mllib" % "1.3.0"