将文件(带有特定后缀)从 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的主要内容,如果未能解决你的问题,请参考以下文章
如何在创建实例时将文件夹从 S3 复制到弹性 beanstalk 实例
将 s3 文件复制到带有 IDENTITY 列且不带 EXPLICIT_IDS 的 Redshift 表
有没有办法使用 RedShiftCopyActivity 仅将特定列从 RedShift 复制到 S3?