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:是否可以替换,更新或删除数据?