2015-02-27 2 views
1

При попытке создать пример MLlib с помощью Spark 1.2.1 с помощью SBT я получаю целую кучу странных ошибок компиляции. Тот же код строит отлично с помощью Spark 1.1.0. Для Спарк 1.2.1 Я использую следующий SBT сборки файла:Spark: подпись в package.class относится к типу compileTimeOnly

name := "Test" 

version := "1.0" 

scalaVersion := "2.10.4" 

libraryDependencies += "org.apache.spark" % "spark-mllib_2.11" % "1.2.1" % "provided" 

В результате я получаю следующий набор странных ошибок:

[info] Compiling 1 Scala source to /home/test/target/scala-2.10/classes... 
[error] bad symbolic reference. A signature in package.class refers to type compileTimeOnly 
[error] in package scala.annotation which is not available. 
[error] It may be completely missing from the current classpath, or the version on 
[error] the classpath might be incompatible with the version used when compiling package.class. 
[error] /home/test/src/main/scala/Test.scala:16: Reference to method augmentString in object Predef should not have survived past type checking, 
[error] it should have been processed and eliminated during expansion of an enclosing macro. 
[error] val parsedData = data.map(s => Vectors.dense(s.split(' ').map(_.toDouble))).cache() 
[error] /home/test/src/main/scala/Test.scala:16: Reference to method augmentString in object Predef should not have survived past type checking, 
[error] it should have been processed and eliminated during expansion of an enclosing macro. 
[error] val parsedData = data.map(s => Vectors.dense(s.split(' ').map(_.toDouble))).cache() 
[error]                ^
[error] three errors found 
[error] (compile:compile) Compilation failed 
[error] Total time: 21 s, completed 26.02.2015 17:47:29 

Как это исправить? Было бы здорово, если бы кто-нибудь мог опубликовать общий SBT для создания кода Spark 1.2.1 + MLlib. Благодаря!

+0

Не уверен, что это помогает здесь, но я получал аналогичную ошибку. Моя проблема заключалась в том, что я добавил искровое ядро ​​и искро-mllib в качестве зависимостей maven. Это вызвало проблемы. –

ответ

3

Попробуйте изменить линию libraryDependencies к следующему:

libraryDependencies += "org.apache.spark" %% "spark-mllib" % "1.2.1" % "provided" 

Вы используете Scala 2.10.4, и вы пытаетесь установить библиотеку искры для Scala 2.11.x - %% автоматически выберет правильный Версия библиотеки Scala для вас.

Смежные вопросы