IntelliJ Idea 2016.2.4 не удается разрешить символ spark_2.11

#scala #apache-spark #intellij-idea

#scala #apache-spark #intellij-idea

Вопрос:

Я создал следующую зависимость в build.sbt файле для apache-spark 2.11.

 name := "Project1"

version := "1.0"

scalaVersion := "2.11.8"

libraryDependencies  = "org.apache.spark" % "spark-core_2.11" % "2.0.1"

libraryDependencies   = Seq(
 "org.scala-lang" % "scala-compiler" % "2.11.8",
"org.scala-lang" % "scala-reflect" % "2.11.8",
"org.scala-lang.modules" % "scala-parser-combinators_2.11" % "1.0.4",
  "org.scala-lang.modules" % "scala-xml_2.11" % "1.0.4"
)
  

Однако Intellij не удалось разрешить spark-core_2.11 зависимость. Я пытался несколько раз, но не смог добиться успеха. Заранее спасибо.

Комментарии:

1. Я просто скопировал и вставил ваш код, и у меня все работает нормально!

2. Я просто скопировал и вставил ваш код, и у меня все работает нормально! Но если у вас это не работает. Сначала попробуйте скомпилировать его извне, а затем попробуйте повторно импортировать проект в свой intellij. Это может решить вашу проблему!

Ответ №1:

У меня была такая же проблема в IntelliJ 2016.3.2 с почти теми же версиями Scala / Spark:

 name := "some-project"

version := "1.0"

scalaVersion := "2.11.8"

libraryDependencies  = "org.apache.spark" % "spark-core_2.11" % "2.1.0"
  

Чтобы заставить его работать, мне пришлось вручную добавить jar-файл spark-core в библиотеки моего проекта, т.Е.:

  • Щелкните правой кнопкой мыши по проекту -> Открыть настройки модуля
  • В разделе Настройки проекта -> Библиотеки нажмите и выберите опцию «Java».
  • Найдите jar. Я нашел его в своем кэше Ivy — я предполагаю, что он попал туда, потому что я ранее запускал задачу «обновить» из консоли sbt.

Комментарии:

1. "org.apache.spark" %% "spark-core" % "2.1.0" % "provided" должен это сделать. Не забудьте пометить основную библиотеку как предоставленную (включать не обязательно, поскольку кластер предоставит эту библиотеку вашей программе)