Redshift 复制命令追加、替换或更新插入?

Posted

技术标签:

【中文标题】Redshift 复制命令追加、替换或更新插入?【英文标题】:Redshift copy command append, replace or upsert? 【发布时间】:2018-11-29 06:58:57 【问题描述】:

假设我对现有数据所在的表运行 Redshift COPY 命令。然后执行命令:

    将数据追加到现有表中? 擦除现有数据并添加新数据? 插入数据。即,如果表中存在具有相同主键的数据,则更新,否则插入

【问题讨论】:

【参考方案1】:

COPY 命令总是将数据附加到表中。

【讨论】:

【参考方案2】:

为了使用“复制”命令在 Redshift 中有效地进行 upsert,您需要首先将数据(从您的副本)加载到临时表,然后在 redshift 上运行一些 sql 来处理这些数据。

AWS 在此处记录了一种方法https://docs.aws.amazon.com/redshift/latest/dg/t_updating-inserting-using-staging-tables-.html

【讨论】:

以上是关于Redshift 复制命令追加、替换或更新插入?的主要内容,如果未能解决你的问题,请参考以下文章

AWS Glue to Redshift:是否可以替换,更新或删除数据?

Vim 常用操作

vim基础命令

RedShift 复制命令返回

AWS:使用从 s3 到 redshift 的复制命令时没有插入任何内容

Sed 实记 · laoless‘s Blog