我需要解压缩从Kaggle下载的transactions.gz
文件;大约(2.86 GB),3.5亿行,11列。
我试过RStudio,Windows Vista,32位,RAM:3 GB:
transactions <- read.table(gzfile("E:/2014/Proyectos/Kaggle/transactions.gz"))
write.table(transactions, file="E:/2014/Proyectos/Kaggle/transactions.csv")
但我在控制台上收到此错误消息
> transactions <- read.table(gzfile("E:/2014/Proyectos/Kaggle/transactions.gz"))
Error: cannot allocate vector of size 64.0 Mb
> write.table(transactions, file="E:/2014/Proyectos/Kaggle/transactions.csv")
Error: cannot allocate vector of size 64.0 Mb
我检查了这个案例,但它对我没用Decompress gz file using R
我很感激任何建议。
答案 0 :(得分:3)
此文件解压缩为22GB .csv文件。您无法在6GB机器上的R中一次性处理所有内容,因为R需要将所有内容读入内存。最好在像postgresql这样的RDBMS中处理它。如果您打算使用R,则可以在块中处理它,一次读取可管理的行数:读取块,处理它,然后用下一个块覆盖。对于此data.table::fread
,将优于标准read.table
。
哦,不要在R中解压缩,只需从命令行运行gunzip
,然后处理csv。如果您使用的是Windows,则可以使用winzip或7zip。