2013-11-07 2 views
0

Я пытаюсь экспортировать большое количество документов (300K +) со средним размером 20K в CSV или JSON.MongoDB Экспортировать большое количество документов в CSV или JSON String эффективно

Mongoexport берет> 20 минут для CSV и> 10 м для JSON.
Использование Javascript printjson() намного хуже.

PyMongo получает около 5 мин

Любые другие предложения?

ответ

0

Рекомендуемый способ экспорта в CSV: mongoexport, и я очень сомневаюсь, что будет более быстрый способ. Также вы должны понимать, что вы читаете 6 ГБ данных, а затем записываете 6 ГБ данных на диск. Поэтому я не ожидал, что это произойдет через мгновение.

Поведение printjson будет намного медленнее, потому что вам нужно вывести весь этот текст на экране.

Вопрос в том, почему вы это делаете? Если вы хотите скопировать данные из одной базы данных в другую, есть db.copyDatabase(), если вы хотите создать резервную копию, то лучше будет mongodump/mongorestore.

P.S. mongo is schemaless, поэтому вам нужно указать, какое поле вы хотите, когда экспортируете в csv, и я предполагаю, что это добавляет дополнительное время по сравнению с конвертированием в JSON.

Смежные вопросы