В процессоре PutS3Object для загрузки файлов в AWS S3 используется метод putObject или метод множественной загрузки.За кулисами оба эти метода доступны как часть AWS SDK для Java.
Amazon S3 предлагает следующие параметры:
- Загрузка объектов за одну операцию - с одним PUTОперация позволяет загружать объекты размером до 5 ГБ.
- Загрузка объектов по частям - с помощью API многоэтапной загрузки можно загружать большие объекты размером до 5 ТБ.
В процессоре PutS3Object многокомпонентная загрузка включается только тогда, когда размер файла превышает пороговое значение, установленное с помощью атрибута Multipart Threshold .Если размер файла меньше порогового размера, то нет возможности для многоэтапной загрузки.
Есть ли способ загрузить эти фрагменты файлов в AWS S3, а затем выполнить окончательное объединение после всех загрузок дляэта конкретная таблица заполнена?
Могут быть способы, но не использование процессора PutS3Object.На самом деле, API многократной загрузки AWS S3 работает следующим образом - разбивает больший файл, загружает его по частям и объединяет в конце.
Я разбиваю его по нескольким SQL-запросам, создаю меньшие потоковые файлы,затем объединить и затем загрузить в AWS S3
Один из возможных способов - создать больший файл потока со всеми данными реляционной базы данных, если это возможно, вместо создания файлов меньшего потока и позволить процессору PutS3Object обрабатывать загрузку файла,
Многоэтапная загрузка состоит из трех этапов: инициируйте загрузку, загрузите части и завершите загрузку.Этот процесс сохраняет состояние, локально отслеживая идентификатор загрузки и загруженные части, после каждого шага, чтобы можно было возобновить большую загрузку с минимальными потерями, если процессор или кластер остановлен и перезапущен.
Надеюсь, этот ответ решит ваш запрос.