R:雪地工人中的资源代码
我正在使用snow parApply()将处理任务分发到本地机器上的许多工件。问题是,如果我更改其中一个函数中的代码,工作人员将不会意识到这些更改 如何在workers中“资源化”源代码文件 编辑 我无法在群集上调用source()来重新评估所有函数:R:雪地工人中的资源代码,r,parallel-processing,R,Parallel Processing,我正在使用snow parApply()将处理任务分发到本地机器上的许多工件。问题是,如果我更改其中一个函数中的代码,工作人员将不会意识到这些更改 如何在workers中“资源化”源代码文件 编辑 我无法在群集上调用source()来重新评估所有函数: cl = makeSOCKcluster(rep("localhost", 5)) > clusterCall(cl, getwd) [[1]] [1] "/home/user" [[2]] [1] "/home/user" [[3]]
cl = makeSOCKcluster(rep("localhost", 5))
> clusterCall(cl, getwd)
[[1]]
[1] "/home/user"
[[2]]
[1] "/home/user"
[[3]]
[1] "/home/user"
[[4]]
[1] "/home/user"
[[5]]
[1] "/home/user"
> clusterCall(cl, source, 'ets.load.R')
Error in checkForRemoteErrors(lapply(cl, recvResult)) :
5 nodes produced errors; first error: cannot open the connection
使用
parallel::clusterCall
在每个工作进程中更新它,使用parallel::clusterCall
在每个工作进程中更新它。正确,并且在snow
中使用相同的方法来构建(这部分)parallel
。snow文档中还有一个名为clusterCall()的函数。“clusterCall在集群cl中的每个节点上调用具有相同参数的fun函数,并返回结果列表。”正确,并且在snow
中也是如此,而parallel
的这部分也是基于该函数构建的。snow文档中还有一个名为clusterCall()的函数。“clusterCall在群集cl中的每个节点上调用具有相同参数的fun函数,并返回结果列表。”