我目前有一个R查询,可以使用foreach在循环内进行并行处理。但它是使用一个32核的服务器完成的。由于我的数据大小,我试图找到可以将计算分发到不同窗口服务器的r包,并且可以与foreach一起使用以进行并行。
非常感谢您的帮助!
答案 0 :(得分:2)
现在有几个版本,R已经附带基础库parallel
。你可以做得比开始阅读相当优秀(但仍然很短)的pdf vignette更糟糕。
简而言之,你可以做一些像
这样的事情mclapply(1:nCores, someFunction())
并且函数someFunction()
将在nCores
上并行运行。默认值为物理内核的一半可能是一个良好的开端。
答案 1 :(得分:1)
SparkR就是答案。来自"Announcing SparkR: R on Apache Spark":
SparkR是最初在AMPLab开发的R软件包,它为Apache Spark提供了一个R前端,使用Spark的分布式计算引擎,我们可以从R shell运行大规模数据分析。
要开始使用,您需要设置Spark群集。这web page应该会有所帮助。不使用Mesos或YARN作为集群管理器的Spark文档是here。一旦你设置了Spark,请参阅SparkR上的Wendy Yu的tutorial。她还展示了如何将H20与Spark结合起来,后者被称为“Sparkling Water”。