您可以直接从 GitHub 存储库安装:
if (!require('devtools')) install.packages('devtools')
devtools::install_github('apache/spark@v2.x.x', subdir='R/pkg')
您应该选择与您使用的Spark版本相对应的标记(v2.x.x
以上)。您可以在项目页面上找到完整的标记列表,或直接使用GitHub API从R中获取:
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/pkg/
$ R -e "devtools::install('.')"
你也可以将 R 库添加到 .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版本构建。我们很快将其提交到CRAN。
您可以关注SPARK-15799以了解进展情况。
编辑2
虽然SPARK-15799已合并,但满足CRAN的要求仍然具有挑战性(例如参见有关2.2.2、2.3.1、2.4.0的讨论),因此这些软件包随后被删除(例如SparkR于2018年5月1日从CRAN中删除,CRAN SparkR包是否被删除?)。因此,原帖中列出的方法仍然是最可靠的解决方案。
编辑3
好的,SparkR
又回到CRAN上了,版本为v2.4.1。 install.packages('SparkR')
现在应该可以工作了(镜像可能需要几天时间来反映这一变化)