【发布时间】:2020-07-01 17:55:39
【问题描述】:
我使用 R 包 furrr 来满足我的大部分并行化需求,并且基本上从来没有将东西从我的全局环境导出到集群的问题。今天我做到了,我不知道为什么。包文档似乎将全局变量发送到集群的过程描述为“黑魔法”。黑魔法是什么?
furrr::future_options 文档说:
全局变量和包 默认情况下,future 包将执行黑魔法来查找您的 furrr 调用所需的全局变量和包,并将这些导出到每个工作人员。但是,它并不总是完美的,可以使用 globals 和 packages 参数进行优化。
作为第二个问题:有没有一种优雅的方式来告诉它执行它的黑魔法,但也导出它错过的东西?或者,选择是 a) 全是黑魔法,还是 b) 对 .options 参数中的所有内容进行硬编码?
【问题讨论】:
-
w.r.t.第二个问题,您只能在“计划”中添加错过的对象
, globals = structure(TRUE, add = "a")cran.r-project.org/web/packages/future/vignettes/… -
众所周知,
future并不总是与data.table配合得很好 -
我喜欢这个问题,很悲惨,还没有答案。我也见过同样的事情。有时我的全局变量会出现,有时它们不会出现……我对这个问题的答案非常感兴趣。
标签: r environment-variables furrr