mongodb - Mongoexport 到多个 csv 文件

标签 mongodb csv 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 ...
} 

考虑到您的文档大小大致相等。

但是请注意,大的跳过速度很慢。

下限迭代将比上限迭代更快。

关于mongodb - Mongoexport 到多个 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29081431/

相关文章:

mysql - 将 .csv 导入 MySQL 时如何跳过中间行

ruby - 在不读取 Ruby 中的标题行的情况下打开 CSV

java - 将文件路径更改为更常见的文件夹

javascript - Mongo findOne 在数组里面

MongoDB 全文搜索和查找运算符

regex - golang正则表达式删除csv文件中的字段中的双引号

python - 更新 csv 中的州列以在 Python 中显示 IL 而不是伊利诺伊州 - 数据质量

javascript - 如何使用 Mongoose 将两个元素分组?

javascript - 将文档添加到 mongodb,并预先填充字符串的开头和结尾

python - 使用 zip() 函数时如何解决以下错误?类型错误 : 'list' object is not callable