【发布时间】:2017-03-02 13:43:07
【问题描述】:
我正在尝试将数据从 S3 上的两个不同存储桶加载到 Redshift 表。每个bucket中都有名称中带有日期的目录,每个目录包含很多文件,但没有manifest。
示例 S3 结构:
# Bucket 1
s3://bucket1/20170201/part-01
s3://bucket1/20170201/part-02
s3://bucket1/20170202/part-01
s3://bucket1/20170203/part-00
s3://bucket1/20170203/part-01
# Bucket 2
s3://bucket2/20170201/part-00
s3://bucket2/20170202/part-00
s3://bucket2/20170202/part-01
s3://bucket2/20170203/part-00
假设应加载 20170201 和 20170202 两个存储桶中的数据。其中一个解决方案可以运行 4 次 COPY 命令 - 每个存储桶日期对一个。但我很好奇它是否可以在单个 COPY 调用中完成。我已经看到清单文件允许指定几个不同的文件(包括来自不同存储桶的文件)。然而:
- 是否可以选择在清单中使用前缀而不是完整路径,
- 我可以在 SQL 中以某种方式使用清单,将其作为字符串而不是文件位置传递 - 我想避免在 S3 上创建临时文件吗?
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-redshift