SparkR 是一个 R 包,它提供了一个轻量级前端,用于在 R 中使用 Spark。
安装 SparkR
SparkR 库需要在 $SPARK_HOME/R/lib
中创建。这可以通过运行脚本 $SPARK_HOME/R/install-dev.sh
来完成。默认情况下,上述脚本使用 R 的系统级安装。但是,通过在运行 install-dev.sh 脚本之前设置环境变量 R_HOME
为 R 安装基础目录的完整路径,可以将其更改为 R 的任何用户安装位置。示例
# where /home/username/R is where R is installed and /home/username/R/bin contains the files R and RScript
export R_HOME=/home/username/R
./install-dev.sh
SparkR 开发
构建 Spark
使用 Maven 或 SBT 构建 Spark,并包含 -Psparkr
配置文件以构建 R 包。例如,要使用默认的 Hadoop 版本,您可以运行
# Maven
./build/mvn -DskipTests -Psparkr package
# SBT
./build/sbt -Psparkr package
运行 SparkR
您可以通过启动 SparkR shell 来开始使用 SparkR,命令如下:
/bin/sparkR .
sparkR
脚本默认在本地模式下使用 Spark 自动创建一个 SparkContext。要为自动创建的 SparkContext 指定集群的 Spark 主节点,您可以运行
/bin/sparkR --master "local[2]" .
要设置其他选项,如驱动程序内存(driver memory)、执行器内存(executor memory)等,您可以将 spark-submit 参数传递给 ./bin/sparkR
在 RStudio 中使用 SparkR
如果您希望在 RStudio 中使用 SparkR,请参考 SparkR 文档。
修改 SparkR
针对 Spark 贡献的说明也适用于 SparkR。如果您只更改 R 文件(即 不更改 Scala 文件),那么您可以只使用 R/install-dev.sh
重新安装 R 包并测试您的更改。完成更改后,请为其包含单元测试,并使用 R/run-tests.sh
脚本运行现有单元测试,如下所述。
生成文档
SparkR 文档(Rd 文件和 HTML 文件)不是源代码仓库的一部分。要生成它们,您可以运行脚本 R/create-docs.sh
。此脚本使用 devtools
和 knitr
来生成文档,这些包在使用脚本之前需要安装在机器上。此外,您可能需要安装这些先决条件。另请参阅 R/DOCUMENTATION.md
示例,单元测试
SparkR 在 examples/src/main/r
目录中附带了几个示例程序。要运行其中一个,请使用 ./bin/spark-submit <filename> <args>
。例如
./bin/spark-submit examples/src/main/r/dataframe.R
您可以按照运行 R 测试下的说明运行 R 单元测试。