ВЫБЕРИТЕ * В OUTFILE на S3 из производительности RDS Aurora - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь загрузить данные в S3 из Aurora RDS, используя следующий запрос

SELECT * FROM my_table INTO OUTFILE S3 's3-bucket/sample_data' 
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';

Он работает нормально, но потребовалось 2 часа, чтобы загрузить 4,5 ГБ данных в корзину S3, и около 7 минут, чтобы экспортировать данные для красного смещения от S3 с помощью запроса копирования.

Существует еще одна транзакция, объем которой составляет около 1,5 ГБ, а загрузка данных в корзину S3 из RDS занимает около 2 часов.

OUTFILE S3 пока не поддерживает сжатый формат.

Я нашел это из AWS документации "Поскольку каждый оператор SELECT в Aurora MySQL выполняется как транзакция atomi c, оператор SELECT INTO OUTFILE S3, который выбирает большие данные set может работать в течение некоторого времени "

Другая опция - записать данные в CSV из запроса, сжать файл и загрузить на S3.

Есть еще какие-нибудь предложения по ускорению?

PS: я использую запрос на соединение и не занял много времени для получения результата.

Спасибо.

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