R包用于分布式处理

时间:2017-02-07 16:10:37

标签: r distributed-computing

我目前有一个R查询,可以使用foreach在循环内进行并行处理。但它是使用一个32核的服务器完成的。由于我的数据大小,我试图找到可以将计算分发到不同窗口服务器的r包,并且可以与foreach一起使用以进行并行。

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

现在有几个版本,R已经附带基础库parallel。你可以做得比开始阅读相当优秀(但仍然很短)的pdf vignette更糟糕。

简而言之,你可以做一些像

这样的事情
mclapply(1:nCores, someFunction())

并且函数someFunction()将在nCores上并行运行。默认值为物理内核的一半可能是一个良好的开端。

Task View on High-Performance Computing有更多指针。

答案 1 :(得分:1)

SparkR就是答案。来自"Announcing SparkR: R on Apache Spark"

SparkR是最初在AMPLab开发的R软件包,它为Apache Spark提供了一个R前端,使用Spark的分布式计算引擎,我们可以从R shell运行大规模数据分析。

另见SparkR (R on Spark)

要开始使用,您需要设置Spark群集。这web page应该会有所帮助。不使用Mesos或YARN作为集群管理器的Spark文档是here。一旦你设置了Spark,请参阅SparkR上的Wendy Yu的tutorial。她还展示了如何将H20与Spark结合起来,后者被称为“Sparkling Water”。