我需要读取一个包含交易数据的大文件(大约20G),我想知道是否有一个好的方法可以在不占用内存的情况下读取该文件。
我当前的方法是按列加载文件并将这些列连接在一起:
columnA:(" S "; 10 20 30)0:`filepath
这种方法的问题是,虽然速度很快,但是占用内存很大,我想提高它的内存使用率。
我也尝试过使用.Q.fs,但是加载文件需要3个多小时...
有没有一种方法可以在不消耗大量内存的情况下有效地完成此操作?
谢谢
最佳答案
.Q.fsn
是 .Q.fs
的一个版本允许指定以字节为单位读取的 block 的大小,.Q.fs
使用默认大小131000
。您可以增加 block 大小,这会加快速度。 .Q.fsn
采用三个参数,前两个与 .Q.fs
相同,最后一个是大小。
关于bigdata - Q/kdb+ 读取巨大的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15660721/