安装SparkR

我有最新版本的R – 3.2.1。 现在我想在R上安装SparkR。执行完后:

> 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 

我怎么能解决这个问题(实际上我使用RStudio或只是从terminal)

你可以直接从GitHub仓库安装:

 if (!require('devtools')) install.packages('devtools') devtools::install_github('apache/spark@v1.4.0', subdir='R/pkg') 

您应该select与您使用的Spark版本相对应的标签( v1.4.0以上)。 您可以在项目页面上find完整的标签列表,或者使用GitHub API从R直接find :

 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/lib/SparkR/ $ 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 shell而不需要任何额外的步骤:

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

编辑

根据Spark 2.1.0发行说明 ,将来可以在Cran上使用:

使用Apache Spark版本构build的独立可安装包。 我们将很快提交给CRAN。

您可以按照SPARK-15799检查进度。

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更多的function以及dplyr的一个非常好的界面。

我也遇到了类似的问题,同时试图在Spark 2.0.0版本的EMR中使用SparkR。 我将在这里发布步骤,以便安装rstudio服务器,SparkR,sparklyr,最后连接到EMR集群中的spark会话:

  1. 安装rstudio服务器:在EMR集群启动并运行之后,使用用户“hadoop @”ssh到主节点并下载rstudio服务器

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

然后使用yum installyum install

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

最后添加一个用户访问rstudionetworking控制台,如下所示:

sudo su

sudo useradd用户名

sudo echo用户名:密码| chpasswd的

  1. 要访问rstudio Web控制台,您需要创build从您的机器到EMR主节点的SSH隧道,如下所示:

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

  1. 现在打开任何浏览器并inputlocalhost:8787进入rstudio Web控制台并使用username:password组合login。

  2. 要安装所需的R软件包,您需要先将libcurl安装到主节点中,如下所示:

sudo yum更新

sudo yum -y安装libcurl-devel

  1. 解决权限问题:

sudo -u hdfs hadoop fs -mkdir / user /

sudo -u hdfs hadoop fs -chown / user /

  1. 检查EMR中的Spark版本并设置SPARK_HOME

spark-submit –version

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

  1. 现在在rstudio控制台中安装如下所示的SparkR

install.packages( 'devtools')

devtools :: install_github('apache/spark@v2.0.0',subdir ='R / pkg')

install.packages( 'sparklyr')

库(SparkR)

库(sparklyr)

Sys.setenv(SPARK_HOME = '/ usr / lib中/火花')

sc < – spark_connect(master =“yarn-client”)