首页 > 解决方案 > R解压缩与system2

问题描述

我有一段代码(由 maple 调用)解压缩数百个文件,然后将每个文件加载到每个自己的表中或将一系列文件加载到表中。一个文件超过了 4GB,所以我不能再使用 R 解压缩。这就是我所做的,但脚本现在需要 5 倍的时间才能完成,这不是一个选项。该代码是通过“应用”调用的函数的一部分。脚本也在多个节点执行

我认为问题在于 system2 - unzip 正在同步运行。如果我删除标准输出,它应该异步运行,对吗?但是,它将无法加载文件,因为它不会被解压缩。

if (file < than 4GB) {
    unzip(zip_file, file_name, exdir=down_dir)
} else
    system2("unzip", args = c("-o", zip_file, file_name, paste0("-d ",     down_dir)), stdout = TRUE, stderr = TRUE))
}

... code to load file into a table

预期:同步线程仅适用于该条件,其余文件将异步处理。实际上:如果影响通过 R unzip 解压缩的数百个文件的处理

标签: rasynchronousunzip

解决方案


推荐阅读