web-dev-qa-db-fra.com

Installation de SparkR

J'ai la dernière version de R-3.2.1. Maintenant, je veux installer SparkR sur R. Après avoir exécuté:

> install.packages("SparkR")

Je suis rentré:

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)

J'ai aussi installé Spark sur ma machine 

Spark 1.4.0

Comment je peux résoudre ce problème?

46
Guforu

Vous pouvez installer directement à partir d'un référentiel GitHub:

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

Vous devez choisir la balise (v2.x.x ci-dessus) correspondant à la version de Spark que vous utilisez. Vous pouvez trouver une liste complète des balises sur la page du projet ou directement à partir de R à l'aide de API GitHub :

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

Si vous avez téléchargé un package binaire à partir de une page de téléchargement }, la bibliothèque R est dans un sous-répertoire R/lib/SparkR. Il peut être utilisé pour installer SparkR directement. Par exemple:

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

Vous pouvez également ajouter R lib à .libPaths (tiré de ici ):

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

Enfin, vous pouvez utiliser sparkR Shell sans étapes supplémentaires:

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

Modifier

Selon (Notes de publication de Spark 2.1.0 } _ devrait être disponible sur CRAN à l'avenir: 

Paquet installable autonome construit avec la version Apache Spark. Nous soumettrons cela au CRAN bientôt.

Vous pouvez suivre SPARK-15799 pour vérifier la progression.

Edit 2

Bien que SPARK-15799 ait été fusionné, il était difficile de satisfaire aux exigences du CRAN (voir, par exemple, les discussions sur 2.2.2 , 2.3.1 , 2.4.0 ), et les packages ont par la suite été supprimés (voir par exemple SparkR a été supprimé de CRAN le 2018-05-01 }, _ { le package CRAN SparkR a été supprimé? ). En tant que résultat, les méthodes répertoriées dans le message d'origine restent les solutions les plus fiables.

66
zero323

SparkR nécessite non seulement un package R, mais également un backend Spark complet. Lorsque vous souhaitez mettre à niveau SparkR, vous mettez à niveau Spark, pas seulement le package R. Si vous souhaitez utiliser SparkR, cet article de blog pourrait vous aider: https://blog.rstudio.org/2015/07/14/spark-1-4-for-rstudio/

Cela dit, vous devez peut-être vous référer au paquetage sparklyr car cela simplifie énormément tout cela.

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

Il offre également plus de fonctionnalités que SparkR et une interface très agréable pour dplyr

10
cantdutchthis

J'ai également rencontré un problème similaire en essayant de jouer avec SparkR dans EMR avec Spark 2.0.0. J'afficherai ici les étapes que j'ai suivies pour installer le serveur rstudio, SparkR, sparklyr et, enfin, la connexion à une session spark dans un cluster EMR:

  1. Installez le serveur rstudio: Une fois le cluster EMR opérationnel, ssh sur le nœud maître avec l'utilisateur 'hadoop @' et téléchargez le serveur rstudio.

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

puis installez en utilisant yum install

Vérifiez que vous avez terminé --nogpgcheck rstudio-server-rhel-0.99.903-x86_64.rpm

enfin, ajoutez un utilisateur pour accéder à la console Web de rstudio en tant que:

Sudo su

Sudo useradd nom d'utilisateur

Sudo echo nom d'utilisateur: mot de passe | chpasswd

  1. Pour accéder à la console Web rstudio, vous devez créer un tunnel SSH de votre machine au nœud maître EMR, comme ci-dessous:

ssh -NL 8787: ec2-emr-master-node-ip.compute-1.amazonaws.com: 8787 [email protected]&

  1. Maintenant, ouvrez n’importe quel navigateur et tapez localhost:8787 pour accéder à la console Web de rstudio et utilisez le combo username:password pour vous connecter.

  2. Pour installer les packages R requis, vous devez d'abord installer libcurl dans le nœud maître, comme indiqué ci-dessous:

Sudo yum update

Sudo yum -y installez libcurl-devel

  1. Résoudre les problèmes de permission avec:

Sudo-u hdfs hadoop fs -mkdir/utilisateur /

Sudo-u hdfs hadoop fs -chown/utilisateur /

  1. Vérifiez la version de Spark dans EMR et définissez SPARK_HOME:

spark-submit --version

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

  1. Maintenant, dans la console rstudio, installez SparkR comme ci-dessous:

install.packages ('devtools')

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

install.packages ('sparklyr')

bibliothèque (SparkR)

bibliothèque (sparklyr)

Sys.setenv (SPARK_HOME = '/ usr/lib/spark')

sc <- spark_connect (master = "yarn-client")

3
Joarder Kamal

Les versions 2.1.2 et 2.3.0 de SparkR sont désormais disponibles dans le référentiel de CRAN , vous pouvez installer la version 2.3.0 comme suit:

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

Remarque: Vous devez d'abord télécharger et installer la version correspondante d'Apache Spark à partir de download , afin que le package fonctionne correctement.

0
Rafael Díaz