我正在连接到本地SQL Server数据库并循环运行一些查询。每次迭代的输出都作为RDS数据文件保存在本地磁盘上。
当我在标准的for循环中依次执行此操作时,效果很好,如下所示。
for(i in 1: NROW(Employee_Df))
{
df_results <- sqlQuery(myconn, paste(" SELECT * FROM Salary_Df
WHERE FullName like ",Employee_Df$FullName[i], "",sep="'"))
saveRDS(df_results,
file=paste0("/Home/Desktop", "Salary",Employee_Df$FullName[i], ".rds"),
compress = TRUE)
}
当我尝试使用foreach
分配来自同一查询的输出时,代码失败。我没有看到错误消息,但没有看到基于此查询结果保存的任何有效RDS文件。
foreach(i = 1:2, .packages="RODBC")%dopar%{
df_results <- sqlQuery(myconn, paste(" SELECT * FROM Salary_Df
WHERE FullName like ",Employee_Df$FullName[i], "",sep="'"))
saveRDS(df_results,
file=paste0("/Home/Desktop", "Salary",Employee_Df$FullName[i], ".rds"),
compress = TRUE)
}
非常感谢您在foreach
中进行这项工作的任何建议。