我需要讀取包含交易數據的大文件(大約20G),並且我想知道是否有一個很好的方法來讀取文件而不會消除內存。Q/kdb +讀取巨大的文本文件
我現在的方法是通過列加載文件,並加入這些列在一起:
columnA:(" S "; 10 20 30)0:`filepath
這種方法的問題是,雖然它是相當快的,它使用的內存大塊,我想以改善其內存使用情況。
我也曾嘗試使用.Q.fs,但它需要3個多小時將文件加載...
有沒有辦法不消耗噸的內存有效做到這一點?
感謝
我需要讀取包含交易數據的大文件(大約20G),並且我想知道是否有一個很好的方法來讀取文件而不會消除內存。Q/kdb +讀取巨大的文本文件
我現在的方法是通過列加載文件,並加入這些列在一起:
columnA:(" S "; 10 20 30)0:`filepath
這種方法的問題是,雖然它是相當快的,它使用的內存大塊,我想以改善其內存使用情況。
我也曾嘗試使用.Q.fs,但它需要3個多小時將文件加載...
有沒有辦法不消耗噸的內存有效做到這一點?
感謝
你需要保持桌面在內存或者這是一箇中間步驟編寫表磁盤?
如果您想將表保存在內存中,聽起來您沒有足夠的RAM。無論你閱讀每一個單獨的列,然後使用.Q.fs
加入或流式傳輸表,我懷疑總內存足跡將是相似的。
您可以按照步驟here顯示如何處理大型文件,儘管所有這些文件都使用.Q.fs
。我的猜測是你已經看過這個。
如果您將表格直接保存爲磁盤作爲展開的表格,則可以在每一列中讀取並單獨寫出。然後從內存中刪除列,然後再轉到下一個。