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?
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.
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
.
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:
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
ssh -NL 8787: ec2-emr-master-node-ip.compute-1.amazonaws.com: 8787 [email protected]&
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.
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
Sudo-u hdfs hadoop fs -mkdir/utilisateur /
Sudo-u hdfs hadoop fs -chown/utilisateur /
SPARK_HOME
:spark-submit --version
export SPARK_HOME = '/ usr/lib/spark /'
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")
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.