1

晚上好,

我正在尝试使用 LaF 和 ffbase 或 ff 将数据集加载到 R(~20 百万行,140 cols ~6.2gb 在磁盘上)。在任何一种情况下,加载都会失败。

struct <- detect_dm_csv(file = '/scratch/proj.csv', header = TRUE)
colClasses <- struct$columns[,2]
ldat <- laf_open(struct)
data <- laf_to_ffdf(ldat)

或数据 <- read.csv.ffdf(file = 'proj.csv', colClasses = colClasses, header = TRUE)

它运行了一会儿,然后输出大量的项目,例如:1L 1L 1L 这似乎对应于变量。

然后列出变量,如: variable_name = list() then 5: ffdfappend(x,block) 6: laf_to_ffdf(ldat)

最后问我想如何退出R。

我试过下沉输出,但它没有写任何东西,因为接收器没有关闭(?),而且它输出的废话量似乎破坏了我的滚动缓冲区。

有谁之前经历过这个吗?

更多信息:我在 Windows 7 虚拟机中运行了相同的脚本,它完成得很好。幸运的是,我能够看到所有废话之前的错误,它说明了一个“不存在的物理地址”,这似乎与 mmap 相关。

我将尝试重新编译所有内容,看看效果如何。任何进一步的建议请告诉我!

4

1 回答 1

1

你试过data.table's fread吗?

你能测试:

library(data.table)
data <- fread(file = '/scratch/proj.csv', verbose=TRUE)

我有大小相似的文件,并且使用 fread 一切运行顺利。

于 2014-11-27T15:58:48.710 回答