使用vroom在R中部分读取非常大的csv.gz

我有一个 csv.gz 文件(据我所知)压缩前的大小为 70GB。我的机器有 50GB 的 RAM,所以无论如何我永远无法在 R 中打开它。

例如,我可以按如下方式加载前 10m 行:

library(vroom)

df <- vroom("HUGE.csv.gz", delim= ",", n_max = 10^7)

对于我必须做的事情,可以一次加载 10m 行,执行我的操作,然后继续接下来的 10m 行。我可以循环执行此操作。

因此,我正在尝试skip论证。

df <- vroom("HUGE.csv.gz", delim= ",", n_max = 10^7, skip = 10^7)

这会导致错误:

Error: The size of the connection buffer (131072) was not large enough
to fit a complete line:
  * Increase it by setting `Sys.setenv("VROOM_CONNECTION_SIZE")`

我增加了这个Sys.setenv("VROOM_CONNECTION_SIZE" = 131072*1000),但是,错误仍然存​​在。

这个问题有方法解决吗?

编辑:我发现随机访问 gzip 压缩的 csv (csv.gz) 是不可能的。我们必须从头开始。可能最简单的方法是解压并保存,然后跳过就可以了。

以上是使用vroom在R中部分读取非常大的csv.gz的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>