我具有关于R. doSNOW
簇一个基本的问题当我们寄存器R中并行集群,它加载在全球环境分配给平行集群的所有变量(数据)。有什么办法,我们可以指定在并行集群中加载哪些对象?指定哪些对象在doSNOW集群加载
更具体一点。考虑下面的例子。我在全球环境中有两个变量x和y。当我注册集群时,它会将x和y加载到注册的集群中。但是,我只需要x并行群集而不是y。
library(doSNOW)
cl <- makeCluster(2, type="SOCK")
registerDoSNOW(cl)
x <- 1:5
y <- 6:10
foreach(x=x, .combine=c) %dopar% x^2
stopCluster(cl)
由于存在参与设立的并行集群时,它可以帮助减少时间,当有大量的在全球环境中的数据(或大数据集),但你并不需要所有这些都是并行集群。
我不知道doSNOW,但'parLapply'和朋友需要明确导出你需要的对象(见'clusterExport')。你可以检查一下。在mac/linux上,你也可以使用forkClusters,它们直接继承所有的环境,不需要导出。 –
感谢您的及时回复,但我期待,如果我们可以使用doSNOW或doParallel软件包来做到这一点。我不想从全球环境中导出所有变量。 – vikasnitk85