r - SparkR的安装

标签 r apache-spark sparkr

我有最新版本的 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.22.3.12.4.0 的讨论),并且这些软件包随后已被删除(例如,请参阅 SparkR was removed from CRAN on 2018-05-01CRAN SparkR package removed? )。因为原帖中列出的结果方法仍然是最可靠的解决方案。

编辑3

好的,SparkR 再次在 CRAN 上备份,v2.4.1。 install.packages('SparkR') 应该可以再次工作(镜像可能需要几天时间才能反射(reflect)这一点)

关于r - SparkR的安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31184918/

相关文章:

maven - 使用 -Psparkr 错误构建 sparkr

r - 查找与值关联的子组并计算每个 ID 中的连续子组

r - 使用 roxygen2 在单个文档对象中记录多个数据集

R:从表中删除支配行的快速方法是什么?

r - 在 R 中使用嵌套 if 优化 For 循环

java - 在 Apache Spark 中应用中值滤波器

apache-spark - 您可以使用 SparkR 进行广播连接吗?

r - 使用 sparklyr 删除/更新分区

scala - 如何使用 Scala 在 Spark 2.1 中将带有毫秒的字符串列转换为带有毫秒的时间戳?

r - 是否可以将 ORC 文件读取到 sparklyr 中的 Spark 数据帧?