scala - MLlib依赖项错误

标签 scala apache-spark apache-spark-mllib

我正在尝试使用Mllib构建一个非常简单的scala独立应用程序,但是在尝试构建该程序时出现以下错误:

Object Mllib is not a member of package org.apache.spark

然后,我意识到我必须添加Mllib作为依赖项,如下所示:
version := "1"
scalaVersion :="2.10.4"

libraryDependencies ++= Seq(
"org.apache.spark"  %% "spark-core"              % "1.1.0",
"org.apache.spark"  %% "spark-mllib"             % "1.1.0"
)

但是,这里出现一个错误,提示:
unresolved dependency spark-core_2.10.4;1.1.1:not found
所以我不得不将其修改为
"org.apache.spark" % "spark-core_2.10" % "1.1.1",
但是仍然有一个错误提示:
unresolved dependency spark-mllib;1.1.1 : not found
有谁知道如何在.sbt文件中添加Mllib的依赖关系?

最佳答案

正如@lmm所指出的,您可以改为将库包含为:
libraryDependencies ++= Seq( "org.apache.spark" % "spark-core_2.10" % "1.1.0", "org.apache.spark" % "spark-mllib_2.10" % "1.1.0" )
在sbt中,%%包含scala版本,并且您正在使用scala版本2.10.4进行构建,而Spark工件通常是针对2.10发布的。

应该注意的是,如果您要制作一个组装 jar 来部署您的应用程序,则可能希望将spark-core标记为已提供的内容,例如
libraryDependencies ++= Seq( "org.apache.spark" % "spark-core_2.10" % "1.1.0" % "provided", "org.apache.spark" % "spark-mllib_2.10" % "1.1.0" )
因为spark-core包无论如何都会在执行程序的路径上。

关于scala - MLlib依赖项错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27438353/

相关文章:

scala - 在意想不到的地方需要类型转换

scala - 在 Spark 中读取文件时出错

scala - 从 Scala 中选定的数据帧列创建 SOAP XML REQUEST

java - 如何使用 RowMatrix.columnSimilarities 的输出

apache-spark - 如何使用辅助用户操作来改进 Spark ALS 的推荐?

scala - 这是设计Scala API的良好返回类型模式吗?

xml - 如何在Scala中的xml节点之间添加 'cut&paste'元素?

apache-spark - Spark DataFrame 如何区分不同的 VectorUDT 对象?

apache-spark - 如何从 UI 的 Stage DAG 中知道哪行代码导致 OutOfMemory?

python-2.7 - 在 Ubuntu 上运行 pyspark.mllib