6

我在 S3 中压缩了 JSON 文件,我想在 EC2 中设置 MongoDB 以服务器包含在这些文件中的 json 文档。压缩文件>100M,有1000个。每个文件包含 100000 个小文档。

将这些数据导入 Mongo 的最佳方法是什么?如果有办法为 Mongo 提供 S3 路径并让它自己检索它们,那将是最好的。我有什么比将数据下载到服务器并执行 mongoimport 更好的方法吗?

此外,Mongo 处理这么多数据的能力如何?

4

2 回答 2

8

您不需要存储中间文件,您可以将 s3 文件的输出通过管道传输到标准输出,您可以mongoimport从标准输入获取输入。

您的完整命令如下所示:

s3cmd get s3://<yourFilename> - | mongoimport -d <dbName> -c <collectionName>

注意-它说将文件发送到stdout而不是文件名。

于 2013-06-07T16:18:39.270 回答
0

使用的替代方法s3cmd是使用aws s3功能较少但随 AWS CLI 一起安装的。

该命令如下所示:

aws S3 cp <your s3 URI> - | \
mongoimport \
--db <dbName> \
--collection <collectionName> \

-文件发送到stdout

于 2020-11-15T10:54:29.143 回答