Tob*_*ias 2 csv mongodb export-to-csv mongoexport
我有一个很大的 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 ...
}
Run Code Online (Sandbox Code Playgroud)
考虑到您的文档大小大致相同。
但是请注意,大跳跃很慢。
下限迭代将比上限迭代更快。