Скачать миллион файлов из S3 Bucket - PullRequest
0 голосов
/ 30 октября 2018

У меня есть миллион файлов в разных папках на корзине S3.

Файлы очень маленькие. Я хочу скачать все файлы, которые в папке с именем VER1. Папка VER1 содержит много подпапок, Я хочу загрузить все миллионы файлов во всех подпапках VER1.

(например, VER1 -> sub1 -> file1.txt, VER1 -> sub1 -> subsub1 -> file2.text и т. Д.)

Какой самый быстрый способ загрузить все файлы?

Используя s3 cp? s3 sync

Есть ли способ загрузить все файлы, расположенные в папке, параллельно?

1 Ответ

0 голосов
/ 31 октября 2018

Использование интерфейса командной строки (CLI) :

aws s3 sync s3://bucket/VER1 [name-of-local-directory]

По моему опыту, он будет загружаться параллельно, но он не обязательно будет использовать полную полосу пропускания, потому что для каждого объекта накладные расходы. (Это более эффективно для больших объектов, так как затраты меньше.)

возможно , что aws s3 sync может иметь проблемы с большим количеством файлов. Вы должны попробовать его, чтобы увидеть, работает ли он.

Если вы действительно хотите полной производительности, вы можете написать свой собственный код, который загружается в виде массивной параллели, но экономия времени, вероятно, будет потеряна, если вам понадобится написать и протестировать такую ​​программу.

Другой вариант - использовать aws s3 sync для загрузки в экземпляр Amazon EC2, затем архивировать файлы и просто загрузить zip-файл. Это уменьшит требования к пропускной способности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...