2016-06-23 2 views
0

Я следую инструкциям here on rbloggers, чтобы установить искру на машине redhat. Я хочу использовать Spark в RStudio.spark-cmd не найден при попытке запустить Spark в Rstudio

Я скачал spark-1.6.1-bin-hadoop2.6 и следовали инструкциям, и поместите следующую строку в скрипте в RStudio:

# Setting SPARK_HOME 
Sys.setenv(SPARK_HOME = "~/Downloads/spark-1.6.1-bin-hadoop2.6") 

# Setting library path 
.libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths())) 

library(SparkR) 

# create a spark context 
sc <- sparkR.init(master = "local") 

Но последняя строка возвращает следующее сообщение об ошибке:

Launching java with spark-submit command ~/Downloads/spark-1.6.1-bin-hadoop2.6/bin/spark-submit sparkr-shell /tmp/RtmpSwsYUW/backend_port3752546940e6

sh: ~/Downloads/spark-1.6.1-bin-hadoop2.6/bin/spark-submit: No such file or directory

Я пытался каждое решение в Интернете, прежде чем спрашивать об этом. Например:

  • JAVA_HOME и SPARK_HOME установлены.
  • Предоставление spark-submit исполняемым chmod a+x spark-submit.cmd (а также chmod u+w spark-submit.cmd) и не сработало. (, конечно, я был в правильной библиотеке)
  • Попробованная в терминале spark-shell и он работает (возвращает рабочий оболочки модули Scala)
  • Добавление этого перед инициализацией:

    Sys.setenv("SPARK_SUBMIT_ARGS"=" - - master yarn-client sparkr-shell") 
    

В только вопрос, о котором я могу думать сейчас, заключается в том, что в каталоге нет sparkr-shell. Это всего лишь sparkr.cmd и sparkr2.cmd. Теперь мне интересно, это связано с искровой версией, которую я загрузил? Должен ли я сначала установить hadoop?

ответ

0

SparkR вызывает искру через system2, который приводит команду с shQuote (см ?system2 и ?shQuote). Это означает, что ~ не расширяется.

Просто указать полный путь:

Sys.setenv(SPARK_HOME = "/home/<youruser>/Downloads/spark-1.6.1-bin-hadoop2.6") 

Или сделайте расширения пути себя:

Sys.setenv(SPARK_HOME = path.expand("~/Downloads/spark-1.6.1-bin-hadoop2.6")) 

В .cmd файлы для Windows, кстати, так что они не имеют отношения.

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