1

平均サイズが 20K の大量のドキュメント (300K+) を CSV または JSON にエクスポートしようとしています。

Mongoexport は、CSV の場合は 20 分以上、JSON の場合は 10 分以上かかります。
Javascript printjson() を使用すると、さらに悪化します。

PyMongo は約 5 分かかります

他の提案はありますか?

4

1 に答える 1

0

CSV にエクスポートする推奨される方法はmongoexport、より高速な方法があるとは思えません。また、6 GB のデータを読み込んでから、ディスクに 6 GB のデータを書き込んでいることも理解する必要があります。だから私はこれが一瞬で起こるとは思っていません。

このすべてのテキストを画面に出力する必要があるため、printjson の動作は非常に遅くなります。

問題は、なぜこれを行うのかということです。ある DB から別の DB にデータをコピーする場合はdb.copyDatabase()があり、バックアップを作成する場合はmongodump / mongorestore が適しています。

PS mongo はスキーマレスなので、csv にエクスポートするときに必要なフィールドを指定する必要があります。これにより、JSON に変換する場合と比較して、この余分な時間が追加されると思います。

于 2013-11-07T08:42:47.650 に答える