AWS Импорт большого файла CSV - PullRequest
0 голосов
/ 08 января 2019

Какой будет правильный набор инструментов и шагов для импорта ZIP-файла CSV с веб-сайта на регулярной основе?

Логически мне нужно:

  1. Усеченная цель
  2. Скачать ZIP файл
  3. Распакуйте
  4. Импорт (в RDS - здесь можно использовать любой тип RDS)
  5. Экспорт в целевую базу данных (другой RDS - SQL Server)

Я смотрю на S3, Клей, Лямбда и т. Д ...

1 Ответ

0 голосов
/ 13 января 2019

Мои мысли ..

  1. Упомянутые пошаговые функции AWS - это хороший подход для реализации всего рабочего процесса в одном месте.
  2. Вам не нужно реализовывать шаг распаковки в каждом случае, потому что многие инструменты могут считывать данные непосредственно из сжатого файла, например, AWS Glue.
  3. Если у вас очень большой файл, вы должны помнить, что некоторые форматы сжатия не являются разделяемыми. Это важно, например, если вы используете AWS Glue. Больше информации об этом ( Использование AWS Glue для преобразования очень большого csv.gz (30-40 ГБ каждый) в паркет ).
  4. Вы можете использовать как AWS Glue, так и AWS Data Pipeline. Подробнее о различиях в https://aws.amazon.com/glue/faqs/ (Вопрос: когда мне следует использовать AWS Glue против AWS Data Pipeline?)
  5. У большинства движков БД есть специальный инструмент для импорта данных, например, PostgreSql / Aurora PostgreSQL / Redshift - команда COPY (https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html), MySql, Aurora MySQL - ЗАГРУЗКА ДАННЫХ INFILE (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.LoadFromS3.html)
  6. Преимущество инструментов, упомянутых в пункте № 5, заключается в том, что они используют внутренний механизм БД для загрузки данных, он работает быстрее, чем в случае использования JDBC или других драйверов. Например, насколько я помню, AWS Glue использует этот подход только в случае AWS Redshift.
  7. Более подробную информацию об архитектурах вы можете найти в (https://aws.amazon.com/architecture/)

Надеюсь, эта информация поможет вам.

...