将文件(带有特定后缀)从 S3 复制到 Redshift

Posted

技术标签:

【中文标题】将文件(带有特定后缀)从 S3 复制到 Redshift【英文标题】:Copy files (with specific suffix) from S3 to Redshift 【发布时间】:2017-10-02 18:30:01 【问题描述】:

我正在尝试将 CSV 文件从 S3 导入 Redshift 集群。我的存储桶的输出文件夹中有两种类型的文件:1. jobid_output.csv 和 jobid_maps.zip。我只想将 output.csv 文件从 S3 复制到 RS。

这是我的命令:

copy mytable from 's3://mybucket/output/*output.csv' credentials 'aws_access_key_id=xxxxxxx;aws_secret_access_key=xxxxxxxx' region 'us-west-2' ignoreheader 1 fillrecord timeformat 'auto' dateformat 'auto' csv;

这是我得到的错误: 错误:XX000:指定的 S3 前缀 'output/*output.csv' 不存在

我认为我构建的 S3 URL 错误,但我应该怎么做?

谢谢

【问题讨论】:

【参考方案1】:

S3 不支持通配符。星号是 S3 密钥名称空间中的有效字符。星号不是推荐字符,但您可以使用它。您必须在自己的代码中实现更高级别的目录搜索。

【讨论】:

以上是关于将文件(带有特定后缀)从 S3 复制到 Redshift的主要内容,如果未能解决你的问题,请参考以下文章