解压缩一个大的.gz文件

时间:2014-05-01 00:58:30

标签: r compression kaggle

我需要解压缩从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

我很感激任何建议。

1 个答案:

答案 0 :(得分:3)

此文件解压缩为22GB .csv文件。您无法在6GB机器上的R中一次性处理所有内容,因为R需要将所有内容读入内存。最好在像postgresql这样的RDBMS中处理它。如果您打算使用R,则可以在块中处理它,一次读取可管理的行数:读取块,处理它,然后用下一个块覆盖。对于此data.table::fread,将优于标准read.table

哦,不要在R中解压缩,只需从命令行运行gunzip,然后处理csv。如果您使用的是Windows,则可以使用winzip或7zip。

相关问题