Ik heb de laatste versie van R – 3.2.1. Nu wil ik SparkR op R installeren. Nadat ik heb uitgevoerd:
> install.packages("SparkR")
Ik ben terug:
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)
Ik heb Spark ook op mijn computer geïnstalleerd
Spark 1.4.0
Hoe kan ik dit probleem oplossen?
Antwoord 1, autoriteit 100%
U kunt rechtstreeks vanuit een GitHub-repository installeren:
if (!require('devtools')) install.packages('devtools')
devtools::install_github('apache/[email protected]', subdir='R/pkg')
Je moet een tag kiezen (v2.x.x
hierboven) die overeenkomt met de versie van Spark die je gebruikt. Je kunt een volledige lijst met tags vinden op de projectpaginaof rechtstreeks van R met behulp van GitHub-API:
jsonlite::fromJSON("https://api.github.com/repos/apache/spark/tags")$name
Als je een binair pakket hebt gedownload van een downloadpaginaR-bibliotheek bevindt zich in een R/lib/SparkR
submap. Het kan worden gebruikt om SparkR
rechtstreeks te installeren. Bijvoorbeeld:
$ export SPARK_HOME=/path/to/spark/directory
$ cd $SPARK_HOME/R/pkg/
$ R -e "devtools::install('.')"
Je kunt ook R lib toevoegen aan .libPaths
(overgenomen van hier):
Sys.setenv(SPARK_HOME='/path/to/spark/directory')
.libPaths(c(file.path(Sys.getenv('SPARK_HOME'), 'R', 'lib'), .libPaths()))
Ten slotte kunt u de SparkR
-shell gebruiken zonder extra stappen:
$ /path/to/spark/directory/bin/sparkR
Bewerken
Volgens Spark 2.1.0 release-opmerkingenzou in de toekomst beschikbaar moeten zijn op CRAN:
Zelfstandig installeerbaar pakket gebouwd met de Apache Spark-release. We zullen dit binnenkort indienen bij CRAN.
Je kunt SPARK-15799volgen om de voortgang te controleren.
p>
Bewerk 2
Hoewel SPARK-15799 is samengevoegd, bleek het voldoen aan de CRAN-vereisten een uitdaging (zie bijvoorbeeld discussies over 2.2.2, 2.3.1, 2.4.0), en de pakketten zijn vervolgens verwijderd (zie bijvoorbeeld SparkR is verwijderd uit CRAN op 01-05-2018, CRAN SparkR-pakket verwijderd?). Aangezien de resultaatmethoden die in het oorspronkelijke bericht worden vermeld, nog steeds de meest betrouwbare oplossingen zijn.
Bewerk 3
OK, SparkR
staat weer op CRAN, v2.4.1. install.packages('SparkR')
zou weer moeten werken (het kan een paar dagen duren voordat de mirrors dit weergeven)
Antwoord 2, autoriteit 15%
SparkR vereist niet alleen een R-pakket, maar een volledige Spark-backend. Als u SparkR wilt upgraden, upgradet u Spark, niet alleen het R-pakket. Als je SparkR wilt gebruiken, dan kan deze blogpost je misschien helpen: https: //blog.rstudio.org/2015/07/14/spark-1-4-for-rstudio/.
Het moet echter gezegd worden: tegenwoordig wil je misschien verwijzen naar het sparklyr-pakket, omdat dit dit allemaal een stuk eenvoudiger maakt.
install.packages("devtools")
devtools::install_github("rstudio/sparklyr")
library(sparklyr)
spark_install(version = "1.6.2")
spark_install(version = "2.0.0")
Het biedt ook meer functionaliteit dan SparkR en een erg mooie interface voor dplyr
.
Antwoord 3, autoriteit 4%
Ik kreeg ook te maken met een soortgelijk probleem toen ik met SparkR in EMR met Spark 2.0.0 probeerde te spelen. Ik zal hier de stappen plaatsen die ik heb gevolgd om rstudio-server, SparkR, sparklyr te installeren en uiteindelijk verbinding te maken met een Spark-sessie in een EMR-cluster:
- Installeer rstudio-server:
Nadat het EMR-cluster actief is, ssh naar het hoofdknooppunt met gebruiker ‘hadoop@’ en download rstudio-server
wget https://download2.rstudio.org/ rstudio-server-rhel-0.99.903-x86_64.rpm
installeer dan met yum install
sudo yum install –nogpgcheck rstudio-server-rhel-0.99.903-x86_64.rpm
voeg ten slotte een gebruiker toe om toegang te krijgen tot de rstudio-webconsole als:
sudo su
sudo useradd gebruikersnaam
sudo echo gebruikersnaam:wachtwoord | chpasswd
- Om toegang te krijgen tot de rstudio-webconsole moet u een SSH-tunnel maken van uw machine naar het EMR-hoofdknooppunt zoals hieronder:
ssh -NL 8787:ec2-emr-master-node-ip.compute-1.amazonaws.com:8787 [email protected]&
-
Open nu een willekeurige browser en typ
localhost:8787
om naar de rstudio-webconsole te gaan en gebruik de combinatieusername:password
om in te loggen. -
Om de vereiste R-pakketten te installeren, moet u eerst
libcurl
in het hoofdknooppunt installeren, zoals hieronder:
sudo yum-update
sudo yum -y install libcurl-devel
- Los toestemmingsproblemen op met:
sudo -u hdfs hadoop fs -mkdir /user/
sudo -u hdfs hadoop fs -chown /user/
- Controleer de Spark-versie in EMR en stel
SPARK_HOME
in:
spark-submit –version
SPARK_HOME=’/usr/lib/spark/’ exporteren
- Installeer nu in de rstudio-console
SparkR
zoals hieronder:
install.packages(‘devtools’)
devtools::install_github(‘apache/[email protected]′, subdir=’R/pkg’)
install.packages(‘sparklyr’)
bibliotheek(SparkR)
bibliotheek(sparklyr)
Sys.setenv(SPARK_HOME=’/usr/lib/spark’)
sc <- spark_connect(master = “yarn-client”)
Antwoord 4
Nu zijn versies 2.1.2 en 2.3.0 van SparkR nu beschikbaar in de repository van CRAN, u kunt versie 2.3.0 als volgt installeren:
install.packages("https://cran.r-project.org/src/contrib/Archive/SparkR/SparkR_2.3.0.tar.gz", repos = NULL, type="source")
Opmerking:u moet eerst de bijbehorende versie van Apache Spark downloaden en installeren vanaf downloaden, zodat het pakket correct werkt.