【问题标题】:Is there a way to bulk insert into Amazon Aurora RDS directly from Amazon S3 tab delimited files in C#?有没有办法直接从 C# 中的 Amazon S3 制表符分隔文件批量插入 Amazon Aurora RDS?
【发布时间】:2015-09-17 16:51:26
【问题描述】:

我目前正在使用 Amazon Redshift 存储每天推送到 Amazon S3 中的存储桶的 50 - 100 GB(即数百万行)制表符分隔文件的聚合数据。

Redshift 提供了一个copy 命令,可以直接定位到 S3 存储桶以批量加载数据,从而使这一过程变得简单。

我想将 Amazon Aurora RDS 用于同样的目的。目前关于 Aurora 的文档最多。有没有办法直接从 S3 批量加载到 Aurora?

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

我还尝试将 tsv 读入内存并构造多个 insert 语句。这显然是缓慢而笨重的。

想法?

2016 年 11 月更新:

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

LOAD DATA FROM S3

LOAD XML FROM S3

Aurora Load From S3


2018 年 7 月更新:

更新了 AWS 文档链接。大喊马克福尔摩斯抓住了这一点。


【问题讨论】:

    标签: c# amazon-s3 amazon-aurora


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      仅供参考,截至 2018 年 7 月,上面的“来自 S3 的 Aurora 加载”链接只是转到用户指南主页。此链接直接转到描述 IAM 角色和其他安全先决条件的主题,然后 LOAD FROM S3 将成功:

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

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

      【讨论】:

      • 谢谢。我会更新我的问题中的链接。
      • 好像不支持加密。
      猜你喜欢
      • 2012-11-07
      • 2014-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多