直接导入.rds文件到h2o frame

Import .rds file to h2o frame directly

我保存了一个大 .rds 文件,我尝试使用某些功能将 .rds 文件直接导入 h2o 框架,因为我在 R 环境中读取该文件是不可行的,并且然后使用 as.h2o 函数进行转换。 我正在寻找一些快速有效的方法来处理它。

我的尝试:

  1. 我试过读取那个文件,然后将它转换成 h2o 帧。但是,这是一个非常耗时的过程。
  2. 我尝试以 .csv 格式保存文件并使用 h2o.import()parse=T。 由于内存限制,我无法保存完整的数据帧。

请建议我任何有效的方法。

如有任何建议,我们将不胜感激。

R 中的原生 read/write 功能效率不高,因此我建议为此使用 data.table。下面的两个选项都以某种方式利用了 data.table

首先,我建议您尝试以下操作:安装 data.table 包后,加载 h2o库,设置 options("h2o.use.data.table"=TRUE)。这样做的目的是确保 as.h2o() 在下面使用 data.table 将 R data.frame 转换为 H2O 框架。关于 as.h2o() 工作原理的一些注意事项——它将文件从 R 写入磁盘,然后使用 h2o.importFile()、H2O 的并行 file-reader.

将其再次读回 H2O

还有另一种选择,实际上是同一件事,尽管您的 RAM 不需要同时存储数据的两份副本(一份在 R 中,一份在 H2O 中),因此如果你真的很缺资源。

将文件另存为 CSV 或压缩的 CSV。如果您在将数据帧作为 CSV 保存到磁盘时遇到问题,那么您应该确保您使用的是像 data.table::fwrite() 这样高效的文件编写器。将文件放在磁盘上后,使用 h2o.importFile() 将其直接读入 H2O。