我有一个很大的 mongoDB 集合。我想将此集合导出为 CSV,以便我可以将其导入统计包中以进行数据分析。
该集合中包含大约 15 GB 的文档。我想将集合拆分为 ~100 个大小相同的 CSV 文件。有什么办法可以使用 mongoexport 实现这一目标吗?我也可以在 pymongo 中查询整个集合,将其拆分并手动写入 csv 文件,但我想这会更慢并且需要更多编码。
感谢您的输入。
最佳答案
您可以使用 --skip
和 --limit
选项。
例如,如果您的集合包含 1,000 个文档,您可以使用脚本循环(伪代码)来完成:
loops = 100
count = db.collection.count()
batch_size = count / loops
for (i = 0; i < loops; i++) {
mongoexport --skip (batch_size * i) --limit batch_size --out export${i}.json ...
}
考虑到您的文档大小大致相等。
但是请注意,大的跳过速度很慢。
下限迭代将比上限迭代更快。
关于mongodb - Mongoexport 到多个 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29081431/