Подтвердить что ты не робот

Не удалось запустить SparkR в RStudio

После длительного и сложного процесса установки SparkR я попал в новые проблемы запуска SparkR.

Мои настройки

R 3.2.0    
RStudio 0.98.1103    
Rtools 3.3    
Spark 1.4.0
Java Version 8
SparkR 1.4.0
Windows 7 SP 1  64 Bit

Теперь я пытаюсь использовать следующий код в R:

library(devtools)
library(SparkR)
Sys.setenv(SPARK_MEM="1g")
Sys.setenv(SPARK_HOME="C:/spark-1.4.0")
sc <- sparkR.init(master="local")

Получаю следующее:

JVM is not ready after 10 seconds

Я также пытался добавить некоторые системные переменные, такие как путь искры или путь Java.

Есть ли у вас какие-либо советы по устранению этих проблем.

Следующим шагом для меня после тестирования локального хоста было бы начать тесты на моем рабочем сервере hasoop.

4b9b3361

Ответ 1

Я думаю, что это была ошибка, которая теперь решена. Попробуйте следующее:

Sys.setenv(SPARK_HOME="C:\\spark-1.4.0")

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

library("SparkR", lib.loc="C:\\spark-1.4.0\\lib") # The use of \\ is for windows environment.

library(SparkR)

sc=sparkR.init(master="local")

Запуск java с командой spark-submit C:\spark-1.4.0/bin/spark-submit.cmd sparkr-shell

C:\Users\Ashish\AppData\Local\Temp\RtmpWqFsOB\backend_portbdc329477c6

Надеюсь, это поможет.

Ответ 2

У меня была такая же проблема, и мой файл spark-submit.cmd также не выполнялся из командной строки. Следующие шаги работали для меня

Перейдите к переменным среды и в системных переменных выберите имя переменной PATH. Наряду с другими значениями добавьте c:/Windows/System32/, разделенные точкой с запятой. Это заставило мою spark-submit.cmd работать из командной строки и в конечном итоге из Rstudio.

Я понял, что мы получаем вышеупомянутую проблему только в том случае, если все требуемые значения пути не указаны. Убедитесь, что все значения пути (R, Rtools) указаны в переменных среды. Например, мой путь Rtools был c:\Rtools\bin;c:\Rtools\gcc-4.6.3\bin

Надеюсь, это поможет.

Ответ 3

Это не сработало для меня. Если у кого-то такая же проблема, попробуйте предоставить разрешения на выполнение для c:/sparkpath/bin/spark-submit.cmd.

Ответ 4

У меня была такая же проблема. Я могу запустить SparkR в командной строке, но не в RStudio в Windows. И вот решение для меня работает.

  • очистите все пути, которые вы установили, когда попытались исправить эту проблему. Это включает пути, которые вы устанавливаете в среде Windows из панели управления окном, и использует Sys.unsetenv(), чтобы отключить SPARK_HOME.

  • узнайте свой рабочий каталог RSTudio по умолчанию, используя getwd() в RStudio. А затем создайте файл .Rprofile в этом каталоге. Поместите следующую строку в этот файл: .libPaths( "C:/Apache/Spark-1.5.1/R/lib" )

  • В окне панели управления- > Система- > Расширенные параметры системы- > Переменные окружения добавьте этот "; C:\Apache\Spark-1.5.1\bin" в конец вашей переменной PATH./p >

  • Запустите RStudio, если вы наберете .libPaths(), вы увидите, что путь библиотеки SparkR уже находится в пути к библиотеке

  • использовать библиотеку (SparkR) для загрузки библиотеки SparkR

  • СБН = sparkR.init(мастер = "локальный" )

Я пробовал это как на Spark 1.4.1, так и на 1.5.1, они оба отлично работают. Я надеюсь, что это поможет тем, кто все еще имеет проблемы после всего предложения выше.

Ответ 5

У меня была аналогичная проблема. В моем случае проблема была связана с дефисом ('-').
путем изменения кода:

sc <- sparkR.init(master = "local[*]",sparkPackages = c("com.databricks:spark-csv_2.11-1.4.0"))

в

sc <- sparkR.init(master = "local[*]",sparkPackages = c("com.databricks:spark-csv_2.11:1.4.0"))

работал у меня. Вы заметили изменения?

P.S.: скопируйте банку в папку SPARK_HOME\lib

Изменить 1: Также убедитесь, что вы настроили свой "HADOOP_HOME"


Надеюсь, что это поможет.

Ответ 6

Следующее решение будет работать для Mac OS.

После установки Hadoop следует Spark.

spark_path <- strsplit(system("brew info apache-spark",intern=T)[4],' ')[[1]][1] # Get your spark path .libPaths(c(file.path(spark_path,"libexec", "R", "lib"), .libPaths())) library(SparkR

Ответ 7

У меня также была эта ошибка, по другой причине. Под капотом Spark вызывает

system2(sparkSubmitBin, combinedArgs, wait = F)

Есть много способов, по которым это может пойти не так. В моем случае основная ошибка (невидимая до вызова system2 непосредственно в качестве эксперимента) была "UNC-путь не поддерживается". Мне пришлось сменить рабочий каталог в студии R на каталог, который не был частью сетевого ресурса, и затем он начал работать.