だから私はSQLite3データベースに変換したようなCSV形式の1GBファイルを持っています
column1;column2;column3
1212;abcd;20090909
1543;efgh;20120120
12列あることを除いて。ここで、このデータを読み取って並べ替え、出力用に再フォーマットする必要がありますが、これを実行しようとすると、(ベクターを使用して) RAM が不足しているように見えます。私はそれを SQLite から読み込み、ファイルの各行を構造体に格納し、それを両端キューにプッシュします。私が言ったように、RAM の使用量が 2GB に近づくとメモリが不足し、アプリがクラッシュします。STXXL を使用してみましたが、POD 以外の型のベクトルをサポートしていないようです (したがって、long int、double、char などである必要があります)。価値。
基本的に、特定の列に同じ値を持つすべての「行」をグループ化する必要があります。つまり、1 つの列に基づいてデータを並べ替えてから、それを操作する必要があります。
すべてを読み取る方法、または少なくとも並べ替える方法についてのアプローチはありますか? 私は SQLite3 でそれを行いますが、時間がかかるようです。おそらく私は間違っています。
ありがとう。