加载大型数据集时,R与FF崩溃

时间:2014-11-22 04:47:49

标签: r memory ff

晚上好,

我正在尝试使用LaF和ffbase或ff将数据集加载到R(~20 mil行,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)

或     data&lt; - read.csv.ffdf(file =&#39; proj.csv&#39;,colClasses = colClasses,header = TRUE)

它突然转了一下然后输出了大量的项目,例如:    1L 1L 1L 这似乎与变量相对应。

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

最后询问我如何退出R.

我已尝试下沉输出,但它没有写任何东西,因为接收器没有关闭(?),并且它输出的无意义量似乎打破了我的滚动缓冲区。

以前有没有人经历过这个?

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

我要尝试重新编译所有内容,看看它是怎么回事。任何进一步的建议请告诉我!

1 个答案:

答案 0 :(得分:1)

你有没有试过data.table的恐惧?

你能测试一下:

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

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