这个问题已经在这里有了答案: > foreach %dopar% + RPostgreSQL 2个
我使用软件包RPostgresql与Postgresql建立数据库连接.目前,我正在执行以下操作:
>从我的数据库中检索列表
>通过for循环运行列表,进行计算并将值写回数据库
我对并行化此过程感兴趣.显而易见的是在同名软件包中使用foreach功能.但是,我们需要使用连接池:在这种情况下,我很感兴趣是否有人知道可用于共享数据库连接的并行后端.这是一个未解决的特定示例:
在上述情况下,registerDoMC并行后端中没有连接池,需要进行工作来打开和关闭每个dopar worker中的连接.从sNow软件包中查看registerDoSNow并行后端也没有提供此功能.
替代方法是使用mclapply代替dopar.在这种情况下,是否有人知道是否或如何与每个mclapply worker共享数据库连接?
解决方法:
您无法在任何通用R并行编程软件包中的不同工作人员之间共享数据库连接,因为工作人员是独立的进程.但是,您可以为每个工作人员创建一个连接,并使工作人员将其用于他们执行的每个任务.我将在回答that you cited.的问题时讨论如何做到这一点
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。