Загрузка данных CSV в кластер БД Aurora Serverles MySQL 5.6 - PullRequest
0 голосов
/ 17 октября 2018

Aurora Serverless необходимо загрузить данные из текстового файла в S3.В настоящее время это невозможно.Что может быть обходным путем, поскольку пользователь веб-приложения должен загружать данные в безсерверную БД Aurora.Буду благодарен за любые ценные предложения.С уважением, PG

1 Ответ

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

Обходной путь, который мне нужно было сделать, - взять небольшой экземпляр Linux EC2, который у нас был, запустить некоторый java-код, который обернул команду AWS cli s3 cp, используя Runtime.getRuntime (). Exec, чтобы скопировать файл (ы) из s3.Я хотел перейти к экземпляру EC2, затем java-код запустил команду LOAD INFILE файла (ов) в Aurora без сервера.

Причина, по которой я написал оболочку для команды cs aws cli s3 (что было немного хакерской атакой), заключалась в том, что Java AWS SDK для загрузки файлов s3 является болезненной.Существует ограничение в 5 ГБ для стандартного API, который вы используете для загрузки файлов s3 через SDK.Таким образом, вы должны разделить файл на части для загрузки его из s3 через другой API.Затем после написания всего кода для этого производительность была низкой.Потратив на это примерно один день, я решил, почему бы просто не обернуть команду aws cli s3 cp и позволить мне позаботиться об ограничениях в 5 ГБ, многопоточности и т. Д.Также вы можете настроить различные параметры в нем для дальнейшего повышения пропускной способности.Кроме того, используя Runtime.getRuntime (). Exec, вы можете проверить код возврата из команды aws cli, чтобы убедиться, что он выполняется правильно или нет.

...