2013-03-14 72 views
1

我有一項任務需要我加載對我的內存來說太大的日誌文件,以便一次加載它。因此,我需要的方式來加載由不同的塊文件..Q/kdb +按塊讀取日誌文件

我知道:

-11!(n; filename) 

負荷前n從一個文件塊,但我怎麼加載塊的其餘部分?

謝謝!

回答

3

如果它是典型的tickerplant設置,則您的日誌文件可能會調用函數upd。重寫該函數以忽略第二次運行時的初始值,而不將它們插入到表中,以便將加載分割爲多個部分。

upd:{i+:1; if[i within 100000 200000; ignore x; storeSomewhere x]}; 

然後播放整個文件-11!。通過改變if子句中的條件來控制實際存儲哪些部分。

+0

感謝您的回答!只是更多的事情,爲了覆蓋upd,我應該使用哪個函數?並且在我覆蓋upd之後,我是否應該使用-11!(n; filename)來獲得下n行? – user1948847 2013-03-15 12:56:11