【发布时间】:2018-09-03 11:21:41
【问题描述】:
我有一些代码可以将 CSV 从 S3 提取到 Redshift 表中。我遇到的问题是,如果 CSV 以特定的列顺序存储,则复制命令与 CSV 标题中的列顺序不匹配。
因此,如果我有一个包含 id|age|name 列的 CSV 并且我有一个包含 id|name|age 列的 Redshift 表,它将尝试按 CSV 标题顺序拉入数据。因此在这种情况下,它会尝试将名称 CSV 列拉入 Redshift 中的年龄列,这会导致类型错误。
我的查询是:
copy schema.#tmp from <s3file>
iam_role <iamrole>
acceptinvchars
truncatecolumns
IGNOREBLANKLINES
ignoreheader 1
COMPUPDATE OFF
STATUPDATE OFF
delimiter ','
timeformat 'auto'
dateformat 'auto';
是否需要在复制命令中定义列顺序以使两者匹配?
【问题讨论】:
标签: csv amazon-s3 amazon-redshift