我保存了一个大的.rds
文件,并尝试使用某些功能将.rds
文件直接导入h2o框架,因为我无法在R enviornment中读取该文件然后使用要转换的as.h2o
函数。
我正在寻找一些快速有效的方法来处理它。
我的尝试:
h2o.import()
与parse=T
一起使用。
由于内存限制,我无法保存完整的数据帧。请建议我采取任何有效的方式。
任何建议都将受到高度赞赏。
答案 0 :(得分:3)
R中的本机读/写功能效率不高,因此我建议使用 data.table 。以下两个选项都以某种方式使用 data.table 。
首先,我建议您尝试以下操作:安装 data.table 包并加载 h2o 库后,设置options("h2o.use.data.table"=TRUE)
。这样做的目的是确保as.h2o()
使用 data.table 来从R data.frame转换为H2O Frame。有关as.h2o()
如何工作的注意事项 - 它将文件从R写入磁盘,然后使用h2o.importFile()
,H2O的并行文件读取器将其再次读回H2O。
还有另一个选项,实际上是相同的,尽管你的RAM不需要同时存储两个数据副本(一个在R中,一个在H2O中),所以如果你的RAM可能更有效你真的很有资源。
将文件另存为CSV或压缩CSV。如果您在将数据框作为CSV保存到磁盘时遇到问题,那么您应确保使用高效的文件编写器,如data.table::fwrite()
。将文件放在磁盘上后,使用h2o.importFile()
将其直接读入H2O。