我有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
我怎么能解决这个问题?
您可以直接从GitHub存储库安装:
if (!require('devtools')) install.packages('devtools')
devtools::install_github('apache/[email protected]', subdir='R/pkg')
您应该选择与您使用的Spark版本相对应的标记(上面的v2.x.x
)。你可以在project page上找到完整的标签列表,或者直接从R使用GitHub API找到:
jsonlite::fromJSON("https://api.github.com/repos/apache/spark/tags")$name
如果您从a downloads page下载了二进制包,则R库位于R/lib/SparkR
子目录中。它可以用来直接安装SparkR
。例如:
$ export SPARK_HOME=/path/to/spark/directory
$ cd $SPARK_HOME/R/pkg/
$ R -e "devtools::install('.')"
您还可以将R库添加到qazxsw poi(取自qazxsw poi):
.libPaths
最后,您可以使用here shell而无需任何额外步骤:
Sys.setenv(SPARK_HOME='/path/to/spark/directory')
.libPaths(c(file.path(Sys.getenv('SPARK_HOME'), 'R', 'lib'), .libPaths()))
编辑
根据sparkR
的说法,将来可以在CRAN上使用:
使用Apache Spark版本构建的独立可安装包。我们很快就会将此提交给CRAN。
您可以关注$ /path/to/spark/directory/bin/sparkR
来检查进度。
编辑2
虽然SPARK-15799已经合并,但满足CRAN要求证明是具有挑战性的(参见例如关于Spark 2.1.0 Release Notes,SPARK-15799,2.2.2的讨论),并且随后删除了包(例如参见2.3.1,2.4.0)。由于原始帖子中列出的结果方法仍然是最可靠的解决方案。
编辑3
好的,SparkR was removed from CRAN on 2018-05-01再次回到CRAN,v2.4.1。 CRAN SparkR package removed?应该再次工作(镜子反映这可能需要几天时间)
SparkR不仅需要一个R软件包,还需要整个Spark后端。当你想升级SparkR时,你正在升级Spark,而不仅仅是R软件包。如果您想使用SparkR,那么这篇博文可能会帮助您:SparkR
。
应该说:现在你可能想要参考sparklyr包,因为它使所有这一切变得更容易。
install.packages('SparkR')
它还提供比SparkR更多的功能,以及与https://blog.rstudio.org/2015/07/14/spark-1-4-for-rstudio/非常好的界面。
在尝试使用Spark 2.0.0在EMR中使用SparkR时,我也遇到了类似的问题。我将在此处发布我遵循的步骤,以安装rstudio服务器,SparkR,sparklyr,最后连接到EMR集群中的spark会话:
wget
install.packages("devtools") devtools::install_github("rstudio/sparklyr") library(sparklyr) spark_install(version = "1.6.2") spark_install(version = "2.0.0")
然后使用dplyr
安装
sudo yum install --nogpgcheck rstudio-server-rhel-0.99.903-x86_64.rpm
最后添加一个用户访问rstudio web控制台:
sudo su
sudo useradd用户名
sudo echo用户名:密码| chpasswd的
ssh -NL 8787:ec2-emr-master-node-ip.compute-1.amazonaws.com:8787 [email protected]&
yum install
组合登录。localhost:8787
安装到主节点,如下所示:sudo yum更新
sudo yum -y install libcurl-devel
sudo -u hdfs hadoop fs -mkdir / user /
sudo -u hdfs hadoop fs -chown / user /
username:password
:spark-submit --version
export SPARK_HOME ='/ usr / lib / spark /'
libcurl
如下: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”)
现在,版本2.1.2和2.3.0的SparkR现在可以在SPARK_HOME
的存储库中找到,您可以按如下方式安装2.3.0版本:
SparkR
注意:您必须首先从CRAN下载并安装相应版本的Apache Spark,以便程序包正常工作。