是否有一种方法可以在c#中直接从Amazon S3 tab分隔的文件批量插入到Amazon Aurora RDS中?

本文关键字:Amazon 分隔 tab 文件 S3 RDS Aurora 插入 一种 方法 是否 | 更新日期: 2023-09-27 18:13:15

我目前正在使用Amazon Redshift来存储50 - 100gb的聚合数据。每天有数百万行以制表符分隔的文件被推送到Amazon S3的bucket中。

Redshift提供了一个copy命令,可以直接针对S3桶来批量加载数据,从而使这一点变得容易。

我想使用Amazon Aurora RDS来达到同样的目的。目前,关于极光的资料很少。是否有办法直接从S3批量加载到Aurora?

据我所知,MySql的LOAD DATA INFILE需要磁盘上的文件路径,我想我可以通过将tsv下载到AWS实例并从那里运行命令来解决这个问题,尽管这不是理想的。

我还试图将tsv读取到内存中并构建多个insert语句。这显然是缓慢和笨拙的。

想法?

更新11/2016:

在Aurora 1.8版本中,您现在可以使用以下命令批量加载S3数据:

LOAD DATA FROM S3

LOAD XML FROM S3

Aurora Load From S3


更新7/2018:

更新的AWS文档链接。大声喊出马克·霍尔姆斯抓住了这一点。


是否有一种方法可以在c#中直接从Amazon S3 tab分隔的文件批量插入到Amazon Aurora RDS中?

您可以使用AWS Data Pipeline。甚至还有一个用于将数据从S3加载到RDS的模板:

http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-template-copys3tords.html

仅供参考,截至2018年7月,上面的"Aurora Load From S3"链接仅转到用户指南主页。此链接直接跳转到描述IAM角色和LOAD FROM S3成功之前的其他安全先决条件的主题:

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Integrating.LoadFromS3.html

这篇文章出现在我搜索结果的顶部,所以我想用当前信息更新它。