При попытке создать пример 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. Благодаря!
Не уверен, что это помогает здесь, но я получал аналогичную ошибку. Моя проблема заключалась в том, что я добавил искровое ядро и искро-mllib в качестве зависимостей maven. Это вызвало проблемы. –