是否有一种方法可以在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文档链接。大声喊出马克·霍尔姆斯抓住了这一点。
您可以使用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这篇文章出现在我搜索结果的顶部,所以我想用当前信息更新它。