微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql-R并行进程的数据库连接池

这个问题已经在这里有了答案:            >            foreach %dopar% + RPostgreSQL                                    2个
我使用软件包RPostgresql与Postgresql建立数据库连接.目前,我正在执行以下操作:

>从我的数据库中检索列表
>通过for循环运行列表,进行计算并将值写回数据库

我对并行化此过程感兴趣.显而易见的是在同名软件包中使用foreach功能.但是,我们需要使用连接池:在这种情况下,我很感兴趣是否有人知道可用于共享数据库连接的并行后端.这是一个解决的特定示例:

foreach %dopar% + RPostgreSQL

在上述情况下,registerDoMC并行后端中没有连接池,需要进行工作来打开和关闭每个dopar worker中的连接.从sNow软件包中查看registerDoSNow并行后端也没有提供此功能.

替代方法是使用mclapply代替dopar.在这种情况下,是否有人知道是否或如何与每个mclapply worker共享数据库连接?

解决方法:

您无法在任何通用R并行编程软件包中的不同工作人员之间共享数据库连接,因为工作人员是独立的进程.但是,您可以为每个工作人员创建一个连接,并使工作人员将其用于他们执行的每个任务.我将在回答that you cited.的问题时讨论如何做到这一点

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐