将gzip归档中的数据导入MongoDB的最优方案咨询
将大体积Gzip压缩JSON数据导入MongoDB的最佳方案
直接使用MongoDB官方工具mongoimport的内置gzip支持即可,无需提前解压文件,完美解决本地磁盘空间不足的问题。
核心命令示例
导入单个gzip文件:
mongoimport --uri "mongodb://<用户名>:<密码>@<主机地址>:<端口>/<目标数据库>?authSource=admin" \ --collection <目标集合名> \ --file /path/to/your/datafile.gz \ --gzip
批量处理文件夹下所有gzip归档文件(Linux/macOS环境):
for gz_file in /path/to/archive/*.gz; do mongoimport --uri "mongodb://<用户名>:<密码>@<主机地址>:<端口>/<目标数据库>?authSource=admin" \ --collection <目标集合名> \ --file "$gz_file" \ --gzip done
关键参数说明
--gzip:让工具识别gzip压缩格式,导入时流式解压,完全不占用本地磁盘存储解压后的大文件--uri:指定MongoDB的连接信息,包含认证、主机、端口和目标数据库--collection:指定数据要导入的目标集合- 若需优化导入速度,可添加
--batchSize <数值>(比如--batchSize 10000)调整批量插入的记录数,减少数据库交互次数
注意事项
- 确保
mongoimport工具版本与MongoDB服务器版本兼容,避免兼容性问题 - 你的数据是每行一个独立JSON对象(JSON Lines格式),这是
mongoimport默认支持的格式,无需额外添加--jsonArray参数(该参数用于处理整个文件为单个JSON数组的场景)
内容的提问来源于stack exchange,提问作者Ido Segal
相关产品推荐
相关产品推荐

