2

トレードデータを含む巨大なファイル(約20G)を読み取る必要がありますが、メモリを強制終了せずにファイルを読み取るための良い方法があるのではないかと思います。

私の現在の方法は、列ごとにファイルをロードし、それらの列を結合することです。

columnA:(" S "; 10 20 30)0:`filepath

この方法の問題は、かなり高速ですが、大量のメモリを使用するため、メモリ使用量を改善したいということです。

.Q.fsも使用しようとしましたが、ファイルの読み込みに3時間以上かかります...

大量のメモリを消費せずにこれを効率的に行う方法はありますか?

ありがとう

4

2 に答える 2

3

.Q.fsn.Q.fsは、バイト単位で読み取られるチャンクのサイズを指定できるバージョンであり.Q.fs、デフォルトのサイズを使用します131000。チャンクサイズを大きくすると、処理速度が向上します。.Q.fsn3つの引数を取り、最初の2つは.Q.fsサイズと同じです。

于 2013-03-28T11:46:50.157 に答える
1

テーブルをメモリに保持する必要がありますか、それともこれはテーブルをディスクに書き込むための中間ステップですか?

テーブルをメモリに保持したい場合は、どちらの方法でも十分なRAMがないようです。個々の列を読み取って.Q.fsから、を使用してテーブルを結合またはストリーミングするかどうかに関係なく、合計メモリフットプリントは同様になると思います。

大きなファイルを処理する方法を示すここの手順に従うことができますが、これらはすべてを使用します.Q.fs。私の推測では、あなたはすでにこれを見てきました。

テーブルをスプレイテーブルとしてディスクに直接保存する場合は、各列を読み取ってから個別に書き出すことができます。次に、次の列に移動する前に、列をメモリから削除します。

于 2013-03-27T14:35:52.677 に答える