如何将 CSV 导出复制到添加了新列的 Redshift 表中?
Posted
技术标签:
【中文标题】如何将 CSV 导出复制到添加了新列的 Redshift 表中?【英文标题】:How to COPY CSV exports into a Redshift table that had a new column added? 【发布时间】:2015-12-03 17:41:16 【问题描述】:我们在 S3 中有许多 CSV 文件,但其中一个表添加了新列,因此在导入这些 CSV 文件时,我们收到错误“未找到分隔符。新列可以为空并添加到末尾表,所以我希望有一种方法可以为新表列导入带有 NULL 的旧 mysql 导出。
有没有办法在不编辑所有导出文件以添加该列的情况下执行此操作?
【问题讨论】:
【参考方案1】:您可以在 COPY 命令中映射列:
http://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-column-mapping.html
【讨论】:
【参考方案2】:您可以在 COPY 命令中指定文件中存在的列(与它们在 CSV 文件中的顺序相同)。使用 EMPTYASNULL 参数,没有数据的列将获得 NULL 值。
COPY table_name (column_a, column_b)
FROM 's3://xxx'
CSV
[...]
EMPTYASNULL
;
【讨论】:
以上是关于如何将 CSV 导出复制到添加了新列的 Redshift 表中?的主要内容,如果未能解决你的问题,请参考以下文章
如何将包含 1 列的 phpmyadmin 的 csv 文件导入到我的 mysql 数据库中?