我有最新版本的 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/spark@v2.x.x', subdir='R/pkg')
您应该选择与您使用的 Spark 版本相对应的标签(上面的v2.x.x
)。您可以在 project page 上找到完整的标签列表,或者使用 GitHub API 直接从 R 找到标签的完整列表:
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 lib 添加到 .libPaths
(取自 here ):
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 Release Notes future 应该会在 CRAN 上可用:
Standalone installable package built with the Apache Spark release. We will be submitting this to CRAN soon.
您可以按照SPARK-15799查看进度。
编辑2
虽然 SPARK-15799 已被合并,但满足 CRAN 要求被证明具有挑战性(例如,请参阅有关 2.2.2 、 2.3.1 、 2.4.0 的讨论),并且这些软件包随后已被删除(例如,请参阅 SparkR was removed from CRAN on 2018-05-01 、 CRAN SparkR package removed? )。因为原帖中列出的结果方法仍然是最可靠的解决方案。
编辑3
好的,SparkR
再次在 CRAN 上备份,v2.4.1。 install.packages('SparkR')
应该可以再次工作(镜像可能需要几天时间才能反射(reflect)这一点)
关于r - SparkR的安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31184918/