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

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.的问题时讨论如何做到这一点

标签:postgresql,parallel-processing,mysql,r
来源: https://codeday.me/bug/20191121/2052475.html