我正在阅读表中的3百万条记录,并且我想将它写入文本文件,但由于程序内存不足抛出错误如何从RODBC中读取300万条记录并写入文本文件
超过了内存的最大空间3096 MB。
我的系统配置是带有4 GB RAM的i5处理器。
请找到下面的代码。
library(RODBC)
con <- odbcConnect("REGION", uid="", pwd="")
a <- sqlQuery(con, "SELECT * FROM dbo.GERMANY where CHARGE_START_DATE = '04/01/2017'");
write.table(a,"C:/Users/609354986/Desktop/R/Data/1Germany.txt",na="",sep="|",row.names = FALSE,col.names = FALSE)
close(con)
*别*? R不是ETL工具。你的数据库已经有一些非常好的工具。对于数据库,3M行是*小数据*。你正在使用哪个数据库?*为什么*你首先想要传递数据? –
为什么不使用dplyr的新版本,并在数据库内存不足的情况下执行所需的操作?然后当你想要分析某些东西时(比较小),将它带入R中。 – RobertMc
我试图使用ODBC连接连接到SQL Server。我只想从数据库中检索数据,并根据需要进行必要的转换。我能够为小表做到这一点,但对于这张特殊的3百万记录表,我内存不足,不知道如何处理它。 –