[英]Parallel Database calls with RODBC
我正在处理大约3 * 10 ^ 6行和11列的面板数据块。 这些数据存储在SQL数据库中(我使用的数据是更大数据集的子集)。 我想处理数据块(每个日期分别)而不一次全部导入整个东西,但是我必须在每个块上运行的操作需要大量计算,因此我想使用foreach包。
但是,我在并行运行sql调用时遇到了一些问题。 如果我进行一个简单的调用,例如( sqlQuery(channel, "select 1")
),则可以并行运行。 如果执行更复杂的语句,则会收到SIGPIPE错误。 还有其他人遇到类似的问题吗?
您没有告诉我们您正在使用什么数据库。 在与RODBC连接的SQLServer上,如果已通过使用事务成功完成此操作。
channel = odbcConnect(database)
odbcSetAutoCommit(channel,FALSE)
# Make requests here
odbcEndTran(channel,TRUE)
我不确定这是否还能在您仅读取请求时(如您的情况)有所帮助,但是可能值得尝试一下,因为它只是一两行。 我问了一下服务器,因为事务在ODBC下与MSSqlServer可以很好地工作,而我与其他人却有一些混合的结果(但并没有努力)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.