bigdata - Q/kdb+ 读取巨大的文本文件

标签 bigdata kdb q-lang

我需要读取一个包含交易数据的大文件(大约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/

相关文章:

kdb - q - 递归/

kdb - 是否可以在不分配内存来保存序列化数据的情况下计算对象的序列化大小?

r - 提取因子水平的名称

python - 在 python 中简单(但大)读/写时间序列数据

firefox - 在浏览器中打开 HDFS 文件

kdb+/q : Check if argument has been supplied to the function call

kdb - 如何从 kdb 表中删除随机行?

java - 如果存储在键上的值匹配,如何合并 Spark 中的两个 RDD

database - KDB/Q : Why I got length error when select data using vector condition for symbol list?

currying - [KDB+/Q] : Apply list of functions over data sequentially (pipe)