Большой анализ данных на Amazon Aurora RDS - PullRequest
0 голосов
/ 09 октября 2018

У меня есть таблица Aurora, в которой 500 миллионов записей.Мне нужно выполнить анализ больших данных, например, найти разницу между двумя таблицами.До сих пор я делал это, используя HIVE в файловой системе, но теперь мы вставили все строки файлов в Aurora DB.Но все же ежемесячно мне нужно делать то же самое, находя diff.

Так что, какой colud будет лучшим вариантом?

  1. Экспорт данных Aurora обратно в S3 в виде файлов и затем запуск HIVEзапрос на это (сколько времени может занять экспорт всех строк Aurora в S3)?
  2. Могу ли я выполнить запрос HIVE для таблицы Aurora? (я полагаю, куст на Aurora не поддерживает)
  3. Запуск спарк SQL на Авроре (как будет производительность)?

Или есть ли лучший способ для этого.

1 Ответ

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

По моему мнению, Aurora MySQL не является хорошим вариантом для анализа больших данных.Это вытекает из ограничений MySQL InnoDB, а также из-за дополнительных ограничений для Aurora по отношению к MySQL InnoDB.Например, вы не найдете там таких функций, как сжатие данных или столбчатый формат.

Когда речь идет о Aurora, вы можете использовать, например, Aurora Parallel Query, но он не поддерживает многораздельные таблицы.

https://aws.amazon.com/blogs/aws/new-parallel-query-for-amazon-aurora/

Другой вариант - подключиться напрямую к Aurora с помощью AWS Glue и выполнить анализ, но в этом случае у вас могут возникнуть проблемы с производительностью базы данных.Это может быть узким местом.

https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html

Я предлагаю импортировать / экспортировать данные в s3, используя LOAD DATA FROM S3 / SELECT INTO OUTFILE S3 в S3, а затем выполнить анализ с помощьюиспользуя клей или EMR.Вам также следует рассмотреть возможность использования Redshift вместо Aurora.

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