用于分布式处理的 R 包
R packages for Distributed processing
我目前有一个 R 查询,可以使用 foreach 在循环内进行并行处理。但它是使用具有 32 个内核的单个服务器完成的。由于我的数据大小,我正在尝试找到可以将计算分布到不同 window 服务器并可以与 foreach 一起进行并行处理的 r 包。
非常感谢您的帮助!
SparkR 就是答案。来自 "Announcing SparkR: R on Apache Spark":
SparkR 是一个最初由 AMPLab 开发的 R 包,它为 Apache Spark 提供了一个 R 前端,使用 Spark 的分布式计算引擎使我们能够 运行 从 R shell 进行大规模数据分析。
要开始,您需要设置一个 Spark 集群。这个 web page should help. The Spark documentation, without using Mesos or YARN as your cluster manager, is here. Once you have Spark set up, see Wendy Yu's tutorial 在 SparkR 上。她还展示了如何将 H20 与 Spark 集成,称为 'Sparkling Water'.
对于现在的几个版本,R 一直附带一个基础库 parallel
。你可以做得比开始阅读它相当优秀(但仍然很短)pdf vignette.
简而言之,你可以做类似
的事情
mclapply(1:nCores, someFunction())
函数 someFunction()
将 运行 与 nCores
并行。默认值一半的物理内核可能是一个好的开始。
我目前有一个 R 查询,可以使用 foreach 在循环内进行并行处理。但它是使用具有 32 个内核的单个服务器完成的。由于我的数据大小,我正在尝试找到可以将计算分布到不同 window 服务器并可以与 foreach 一起进行并行处理的 r 包。
非常感谢您的帮助!
SparkR 就是答案。来自 "Announcing SparkR: R on Apache Spark":
SparkR 是一个最初由 AMPLab 开发的 R 包,它为 Apache Spark 提供了一个 R 前端,使用 Spark 的分布式计算引擎使我们能够 运行 从 R shell 进行大规模数据分析。
要开始,您需要设置一个 Spark 集群。这个 web page should help. The Spark documentation, without using Mesos or YARN as your cluster manager, is here. Once you have Spark set up, see Wendy Yu's tutorial 在 SparkR 上。她还展示了如何将 H20 与 Spark 集成,称为 'Sparkling Water'.
对于现在的几个版本,R 一直附带一个基础库 parallel
。你可以做得比开始阅读它相当优秀(但仍然很短)pdf vignette.
简而言之,你可以做类似
的事情mclapply(1:nCores, someFunction())
函数 someFunction()
将 运行 与 nCores
并行。默认值一半的物理内核可能是一个好的开始。