首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装SparkR

安装SparkR
EN

Stack Overflow用户
提问于 2015-07-02 12:38:25
回答 4查看 36.5K关注 0票数 52

我有最后一个版本的R-3.2.1。现在,在执行以下操作之后,我想在R上安装SparkR:

代码语言:javascript
复制
> install.packages("SparkR")

我回来了:

代码语言:javascript
复制
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)

我还在我的机器上安装了火花

代码语言:javascript
复制
Spark 1.4.0

我怎么能解决这个问题?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-07-02 12:52:22

您可以直接从GitHub存储库安装:

代码语言:javascript
复制
if (!require('devtools')) install.packages('devtools')
devtools::install_github('apache/spark@v2.x.x', subdir='R/pkg')

您应该选择与您使用的星火版本相对应的标记(v2.x.x )。您可以在项目页上或直接从R上使用GitHub API找到完整的标记列表

代码语言:javascript
复制
jsonlite::fromJSON("https://api.github.com/repos/apache/spark/tags")$name

如果您从下载页面 R库下载了二进制包,则位于R/lib/SparkR子目录中。它可以直接安装SparkR。例如:

代码语言:javascript
复制
$ export SPARK_HOME=/path/to/spark/directory
$ cd $SPARK_HOME/R/pkg/
$ R -e "devtools::install('.')"

还可以将R添加到.libPaths (取自这里):

代码语言:javascript
复制
Sys.setenv(SPARK_HOME='/path/to/spark/directory')
.libPaths(c(file.path(Sys.getenv('SPARK_HOME'), 'R', 'lib'), .libPaths()))

最后,您可以使用sparkR shell而不需要任何其他步骤:

代码语言:javascript
复制
$ /path/to/spark/directory/bin/sparkR

编辑

根据Spark 2.1.0发行说明的说法,将来可以在CRAN上找到:

使用Apache发行版构建的独立可安装软件包。我们很快就会把这个提交给克莱恩。

您可以按照火花-15799来检查进度。

编辑2

虽然SPARK-15799已经被合并,但是满足CRAN的需求被证明是很有挑战性的(例如,请参阅关于2.2.22.3.12.4.0的讨论),并且这些包随后被删除了(例如,参见SparkR于2018-05-01被从CRAN中移除。SparkR包被删除了吗?)。因此,原来文章中列出的方法仍然是最可靠的解决方案。

编辑3

好的,SparkR又回到了CRAN上,v2.4.1。install.packages('SparkR')应该会再次工作(镜像可能需要几天的时间才能反映出来)

票数 70
EN

Stack Overflow用户

发布于 2016-09-13 08:36:19

SparkR不仅需要一个R包,还需要一个完整的火花后端。当你想升级SparkR时,你是在升级火花,而不仅仅是R包。如果您想使用SparkR,那么这个博客可能会帮助您解决这个问题:https://blog.rstudio.org/2015/07/14/spark-1-4-for-rstudio/

但是,应该说:现在您可能想要参考sparklyr包,因为它使这一切变得容易得多。

代码语言:javascript
复制
install.packages("devtools")
devtools::install_github("rstudio/sparklyr")
library(sparklyr)
spark_install(version = "1.6.2")
spark_install(version = "2.0.0")

它还提供了比SparkR更多的功能,以及一个非常好的dplyr接口。

票数 10
EN

Stack Overflow用户

发布于 2016-10-14 05:24:37

我也面临着类似的问题,当我试图发挥与SparkR在EMR与火花2.0.0。我将在这里发布安装rstudio服务器、SparkR、sparklyr以及最后连接到EMR集群中的spark会话时所遵循的步骤:

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

wget 64.rpm

然后使用yum install安装

sudo yum安装--nogpgcheck rstudio-server-流变-0.99.903-x86_64.rpm

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

苏秀 sudo用户添加用户名 sudo echo用户名:密码\ chpasswd

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

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

  1. 现在,打开任何浏览器并键入localhost:8787以转到rstudio控制台,并使用username:password组合登录。
  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_HOME='/usr/lib/spark/‘

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

install.packages('devtools') devtools::install_github('apache/spark@v2.0.0',subdir='R/pkg') Install.packages(“火花”) 图书馆(SparkR) 图书馆(斯帕克利) Sys.setenv(SPARK_HOME='/usr/lib/spark') sc <- spark_connect(主=“纱线-客户”)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31184918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档