跳至内容

SparkR 是一个 R 包,它提供了一个轻量级的前端,用于从 R 使用 Spark。

安装 sparkR

sparkR 的库需要在 $SPARK_HOME/R/lib 中创建。这可以通过运行脚本 $SPARK_HOME/R/install-dev.sh 来完成。默认情况下,上面的脚本使用 R 的系统级安装。但是,这可以通过设置环境变量 R_HOME 为 R 安装的基本目录的完整路径,然后在运行 install-dev.sh 脚本之前,将其更改为 R 的任何用户安装位置。例如

SparkR 开发

构建 Spark

使用 MavenSBT 构建 Spark,并包含 -Psparkr 配置文件来构建 R 包。例如,要使用默认的 Hadoop 版本,您可以运行

运行 sparkR

您可以通过启动 SparkR shell 来开始使用 SparkR,命令如下:

默认情况下,sparkR 脚本会自动创建一个 SparkContext,Spark 默认在本地模式下运行。要为自动创建的 SparkContext 指定集群的 Spark master,您可以运行

要设置其他选项,如驱动程序内存、执行器内存等,您可以将 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。此脚本使用 devtoolsknitr 生成文档,并且在使用脚本之前需要在计算机上安装这些包。此外,您可能需要安装这些 先决条件。另请参阅 R/DOCUMENTATION.md

示例、单元测试

SparkR 在 examples/src/main/r 目录中带有几个示例程序。要运行其中一个,请使用 ./bin/spark-submit <filename> <args>。例如

您可以按照 运行 R 测试 下的说明运行 R 单元测试。

在 YARN 上运行

./bin/spark-submit 也可以用来向 YARN 集群提交作业。您需要在这样做之前设置 YARN conf dir。例如,在 CDH 上,您可以运行