Ошибка зависимости Mllib

Я пытаюсь создать очень простое автономное приложение scala с помощью Mllib, но при попытке создать программу я получаю следующую ошибку:

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

Кто-нибудь знает, как добавить зависимость Mllib в файл .sbt?


person user3789843    schedule 12.12.2014    source источник
comment
Кажется, что-то странное происходит с вашими версиями, совместимыми с двоичными файлами sbt и scala, но делать это явно так же, как вы делали со spark-core: "org.apache.spark" % "spark-mllib_2.10" % "1.1.1" должно работать. (Я строю все свои проекты с помощью Maven, поэтому я не очень хорошо знаю SBT).   -  person lmm    schedule 12.12.2014


Ответы (2)


Как указал @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 в любом случае будет находиться на пути к исполнителю.

person Holden    schedule 13.12.2014

Вот еще один способ добавить зависимость в файл build.sbt, если вы используете Databricks sbt-spark. -плагин пакета:

sparkComponents ++= Seq("sql","hive", "mllib")
person Powers    schedule 03.03.2017