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

Установка SparkR

У меня последняя версия R - 3.2.1. Теперь я хочу установить SparkR на R. После того, как я выполню:

> install.packages("SparkR")

Я вернулся:

Installing package into ‘/home/user/R/x86_64-pc-linux-gnu-library/3.2
(as ‘lib is unspecified)
Warning in install.packages :
  package ‘SparkR is not available (for R version 3.2.1)

Я также установил Spark на мою машину

Spark 1.4.0

Как я могу решить эту проблему?

4b9b3361

Ответ 1

Вы можете установить прямо из репозитория GitHub:

if (!require('devtools')) install.packages('devtools')
devtools::install_github('apache/[email protected]', subdir='R/pkg')

Вы должны выбрать тег (v2.xx выше), соответствующий версии Spark, которую вы используете. Вы можете найти полный список тегов на странице проекта или непосредственно из R, используя GitHub API:

jsonlite::fromJSON("https://api.github.com/repos/apache/spark/tags")$name

Если вы загрузили двоичный пакет со страницы загрузки, библиотека R находится в подкаталоге R/lib/SparkR. Может использоваться для непосредственной установки SparkR. Например:

$ export SPARK_HOME=/path/to/spark/directory
$ cd $SPARK_HOME/R/pkg/
$ R -e "devtools::install('.')"

Вы также можете добавить R lib в .libPaths (взято отсюда):

Sys.setenv(SPARK_HOME='/path/to/spark/directory')
.libPaths(c(file.path(Sys.getenv('SPARK_HOME'), 'R', 'lib'), .libPaths()))

Наконец, вы можете использовать оболочку sparkR без каких-либо дополнительных шагов:

$ /path/to/spark/directory/bin/sparkR

редактировать

В соответствии с Spark 2.1.0 Примечания к выпуску должны быть доступны на CRAN в будущем:

Автономный устанавливаемый пакет, собранный с выпуском Apache Spark. Мы скоро отправим это в CRAN.

Вы можете следить за SPARK-15799, чтобы проверить прогресс.

Редактировать 2

Несмотря на то, что SPARK-15799 был объединен, удовлетворение требований CRAN оказалось проблематичным (см., Например, обсуждение пунктов 2.2.2, 2.3.1, 2.4.0), и впоследствии пакеты были удалены (см., Например, SparkR был удален из CRAN. на 2018-05-01, удален пакет CRAN SparkR?). В результате методы, перечисленные в оригинальном посте, по-прежнему являются наиболее надежными решениями.

Редактировать 3

Хорошо, SparkR снова вернулся на CRAN, v2.4.1. install.packages('SparkR') должен снова работать (это может занять несколько дней, чтобы зеркала отразили это)

Ответ 2

SparkR требует не только R-пакета, но и всего Spark-бэкэнда. Если вы хотите обновить SparkR, вы обновляете Spark, а не только пакет R. Если вы хотите пойти с SparkR, то этот блогпост может помочь вам: https://blog.rstudio.org/2015/07/14/spark-1-4-for-rstudio/.

Следует сказать, что: в настоящее время вы можете обратиться к пакету sparklyr, поскольку это делает все это намного проще.

install.packages("devtools")
devtools::install_github("rstudio/sparklyr")
library(sparklyr)
spark_install(version = "1.6.2")
spark_install(version = "2.0.0")

Он также предлагает больше функциональности, чем SparkR, а также очень приятный интерфейс для dplyr.

Ответ 3

Я также столкнулся с подобной проблемой, пытаясь играть с SparkR в EMR с помощью Spark 2.0.0. Я опубликую здесь шаги, которые я выполнил, чтобы установить сервер rstudio, SparkR, sparklyr и, наконец, подключиться к искровому сеансу в кластере EMR:

  • Установить сервер rstudio: После запуска и запуска кластера EMR ssh в master node с пользователем 'hadoop @' и загрузите сервер rstudio

wget https://download2.rstudio.org/rstudio-server-rhel-0.99.903-x86_64.rpm

затем установите с помощью yum install

sudo yum install --nogpgcheck rstudio-server-rhel-0.99.903-x86_64.rpm

наконец, добавьте пользователя для доступа к веб-консоли rstudio как:

sudo su

sudo useradd username

sudo echo имя пользователя: пароль | chpasswd

  1. Чтобы перейти на веб-консоль acess rstudio, вам необходимо создать туннель SSH с вашего компьютера на мастер EMR node, как показано ниже:

ssh -NL 8787: ec2-emr-master- node -ip.compute-1.amazonaws.com:8787 hadoop @ec2-emr-master- node -ip.compute-1.amazonaws.com &

  1. Теперь откройте любой браузер и введите localhost:8787, чтобы перейти в веб-консоль rstudio и использовать комманду username:password для входа.

  2. Чтобы установить необходимые R-пакеты, вам необходимо установить libcurl в master node, как показано ниже:

Обновление sudo yum

sudo yum -y install libcurl-devel

  1. Разрешение проблем с разрешением:

sudo -u hdfs hadoop fs -mkdir/пользователь/

sudo -u hdfs hadoop fs -chown/user/

  1. Проверьте версию Spark в EMR и установите SPARK_HOME:

spark-submit --version

export SPARK_HOME = '/usr/lib/spark/'

  1. Теперь в консоли rstudio установите SparkR, как показано ниже:

install.packages( 'DevTools')

devtools:: install_github ('apache/[email protected] ', subdir =' R/pkg ')

install.packages( 'sparklyr')

Библиотека (SparkR)

Библиотека (sparklyr)

Sys.setenv(SPARK_HOME = '/USR/Library/искровым')

sc < - spark_connect (master = "нить-клиент" )

Ответ 4

Теперь версии 2.1.2 и 2.3.0 SparkR теперь доступны в репозитории CRAN, вы можете установить версию 2.3.0 следующим образом:

install.packages("https://cran.r-project.org/src/contrib/Archive/SparkR/SparkR_2.3.0.tar.gz", repos = NULL, type="source")

Примечание. Сначала необходимо загрузить и установить соответствующую версию Apache Spark из загрузки, чтобы пакет работал правильно.