您可以直接从 GitHub 存储库安装:
if (!require('devtools')) install.packages('devtools')
devtools::install_github('apache/spark@v2.x.x', 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 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 未来应该可以在 CRAN 上使用:
使用 Apache Spark 版本构建的独立可安装包。我们将很快将其提交给 CRAN。
您可以关注SPARK-15799查看进度。
编辑 2
虽然 SPARK-15799 已被合并,但满足 CRAN 要求被证明具有挑战性(参见例如关于 2.2.2、2.3.1、2.4.0 的讨论),并且随后删除了包(参见例如 @987654330 @、CRAN SparkR package removed?)。由于原帖中列出的结果方法仍然是最可靠的解决方案。
编辑 3
好的,SparkR 再次备份到 CRAN,v2.4.1。 install.packages('SparkR') 应该会再次起作用(镜子可能需要几天时间才能反映这一点)