我目前正在使用 Amazon Redshift 存储每天推送到 Amazon S3 中的存储桶的 50 - 100 GB(即数百万行)制表符分隔文件的聚合数据。
Redshift 通过提供一个copy可以直接针对 S3 存储桶的命令来批量加载数据,从而简化了这一过程。
我想将 Amazon Aurora RDS 用于同样的目的。目前关于 Aurora 的文档最多。有没有办法直接从 S3 批量加载到 Aurora?
据我所知,MySqlLOAD DATA INFILE需要磁盘上文件的路径,我想我可以通过将 tsv 下载到 AWS 实例并从那里运行命令来解决这个问题,但这并不理想。
我还尝试将 tsv 读入内存并构造多个insert语句。这显然是缓慢而笨重的。
想法?
2016 年 11 月更新:
从 Aurora 1.8 版开始,您现在可以使用以下命令批量加载 S3 数据:
LOAD DATA FROM S3
或者
LOAD XML FROM S3
2018 年 7 月更新:
更新了 AWS 文档链接。大喊马克福尔摩斯抓住了这一点。