晚上好,
我正在尝试使用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有关。
我要尝试重新编译所有内容,看看它是怎么回事。任何进一步的建议请告诉我!
答案 0 :(得分:1)
你有没有试过data.table
的恐惧?
你能测试一下:
library(data.table)
data <- fread(file = '/scratch/proj.csv', verbose=TRUE)
我有相似大小的文件,使用fread一切顺利运行。