私はこれが非常にばかげた質問だと感じますが、私はもう問題について考えることができません。Pythonで非常に大きなcsvファイルのインデックスを作成
IがID順に並べたCSV形式のデータの非常に大量(60 + GB)を有する:
id, "{data}"
id2, "{data}"
...
I辞書形式でこのデータと組み合わせることが必要なデータの別のセットを(有します現在、いくつかのピクルスファイルに分割されています)。
{player_id: {rating, [ids]}, player_id2: {rating, [ids]}, ... }
ここで、csvデータのIDは上記のリストのIDに対応しています。私は各IDの詳細をcsvデータからこのデータに入れたいと思っています。つまり、IDを取得し、csvデータでそれを探し、それをこの辞書形式に書き込む必要があります。したがって、ここでの大きなボトルネックは、IDでcsvファイルのデータを検索し、ディスクから読み込みます。
私の現在の解決策は、csvデータを多数の小さなファイル(1〜2MB)に分割し、どのファイルにどのIDが含まれているかを索引付けすることで、データの検索はcsvデータ全体を解析するよりもはるかに簡単です。それでもまだ一定ではなく、すべてのステップでcsvファイルを開く必要があります。
これを行うより速い方法がありますか?私は、私が非常にばかげているように感じ、より速い方法があります。私のソリューションであるマルチプロセッシングは、まだ2週間の領域で終了する予定です。
私の質問が不明な場合は明確にしてください。ありがとう。そのはまだ...あなたは...データベースを使用して考えなければならない痛々しいほど遅いことになるだろうか、非常に少なくとも
ここでは、60GBのデータにCSVを使用するのは良い考えではありません。それを[NoSQL](https://en.wikipedia.org/wiki/NoSQL)データベースに移動することは可能ですか? – Tim
は常に逐次IDですか? (1,2、...、N)?あなたはちょうど1つを見つけようとしています(ID X?) –
pandas pandas.pydata.org –