是否可以使用通配符将S3存储桶中的所有对象复制到Redshift?

问题描述

我有一个S3 Bucket的{​​{1}}

结构如下:

Facebook

是否可以将所有Facebook/AUS/transformedfiles/YYYYMMDDHH/payments.csv Facebook/IND/transformedfiles/YYYYMMDDHH/payments.csv Facebook/SEA/transformedfiles/YYYYMMDDHH/payments.csv 复制到payments.csv? 像:

AWS Redshift

解决方法

否,因为FROM子句接受对象前缀,并暗示尾随通配符。

如果要加载特定文件,则需要use a manifest文件。您可以通过调用ListObjects并以编程方式选择所需的文件来构建此清单。

如果要创建文件并立即上传它们,则清单文件也是必需的,因为S3最终是一致的-如果依靠它选择带有前缀的文件,则可能会丢失某些文件。