AWS Import大型CSV文件

时间:2019-01-08 18:29:36

标签: amazon-web-services etl aws-glue

定期从网站导入ZIP CSV文件的正确工具和步骤是什么?

逻辑上我需要:

  1. 截断目标
  2. 下载ZIP文件
  3. 解压缩
  4. 导入(在RDS中-此处可以使用任何RDS类型)
  5. 导出到目标数据库(另一个RDS-SQL Server)

我正在看S3,胶水,Lambda等...

1 个答案:

答案 0 :(得分:1)

我的想法。

  1. 提到的AWS Step Functions是在一个地方实现整个工作流程的好方法。
  2. 您无需在每种情况下都执行解压缩步骤,因为许多工具可以直接从压缩文件(例如AWS Glue)读取数据。
  3. 如果文件很大,则需要记住某些压缩格式不可拆分。例如,如果您使用AWS Glue,这一点很重要。有关(Using AWS Glue to convert very big csv.gz (30-40 gb each) to parquet)的更多信息。
  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-LOAD DATA INFILE(https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.LoadFromS3.html
  6. 第5点中提到的工具的优点在于它们使用内部db机制来加载数据,这比使用JDBC或其他驱动程序的速度更快。例如,我记得AWS Glue仅在AWS Redshift的情况下才使用这种方法。
  7. 有关您可以在(https://aws.amazon.com/architecture/)中找到的体系结构的更多信息

希望这些信息对您有所帮助。