【问题标题】:Passing parameters to parallel R jobs将参数传递给并行 R 作业
【发布时间】:2011-09-19 20:16:30
【问题描述】:

我正在尝试使用 multicore 包运行并行 R 作业。每个作业都是使用不同参数执行相同的script.R

一般的想法是定义一个接受 args 然后调用 source("script.R") 的函数。问题是我无法将参数传递给script.R。由于我是并行运行的,因此无法在全局范围内定义 args。

欢迎任何帮助。

【问题讨论】:

  • 如果多核支持在每个核心的全局环境中设置变量的某种方式,您可以使用它。就我个人而言,我使用降雪进行并行处理并且对此非常满意(并且很容易支持这类事情)
  • 我是 R 并行处理的新手,多核是我使用的第一个库。我来看看降雪。谢谢。
  • 降雪包+1。我写了一篇博客文章,介绍了我认为你想做的事情,使用降雪:bit.ly/xaWAx6

标签: r parameter-passing parallel-processing


【解决方案1】:

由于运行并行 R 实例甚至可能在不同的节点/计算机上,使用外部数据库存储参数可能是一个不错的选择。

我会使用redis 作为非常快速和完全的accessible in R,对于并行运行它的兄弟:doredis

所以你可以有一个 redis 服务器(甚至每个主机上都有一个复制的从属数据库),可以获取参数。您甚至可以从可供所有工作人员使用的 R 外部即时更新参数,并且可以使用 doredis 轻松为任务添加新工作人员。

【讨论】:

    猜你喜欢
    • 2015-05-06
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-13
    • 1970-01-01
    相关资源
    最近更新 更多