在 Amazon Redshift 中的表之间传输数据

Posted

技术标签:

【中文标题】在 Amazon Redshift 中的表之间传输数据【英文标题】:Transfer data between tables in Amazon Redshift 【发布时间】:2017-12-18 19:40:52 【问题描述】:

如何在 AWS Redshift 中处理和更新/追加表 1 中的数据到表 2?

每当数据从 S3 加载到 table1 时,表之间的数据传输需要自动进行。

Table1 数据通过 AWS Data Pipeline 从 AWS S3 复制。

【问题讨论】:

你可以使用视图吗? 【参考方案1】:

您可以运行SQL命令来复制数据,例如:

INSERT INTO table2
SELECT * FROM table1

但是,没有机制可以自动触发。

【讨论】:

感谢您的回复。如果我必须自动化整个过程,例如通过数据管道从 s3 更新 table1 后立即将数据加载到 table2,我需要卸载到 s3 并通过管道再次将其加载到 table2? 让 Pipeline 触发一些在 Redshift 集群中运行 SQL 命令的脚本可能更容易——比执行导出/导入要简单得多,但它需要您编写脚本。例如,使用psql 或连接到 PostgreSQL 的 Python 库,但将其指向 Redshift 集群。

以上是关于在 Amazon Redshift 中的表之间传输数据的主要内容,如果未能解决你的问题,请参考以下文章

在 Amazon Redshift 中使用 Diststyle ALL 的表应该有多小?

使用 lambda 函数 nodejs 从 Amazon Redshift 查询选择

使用大表连接更新 Amazon Redshift 中的列

RedShift 中更新语句中的表别名

使用 Avro 文件批量复制到 Amazon Redshift 中的异常处理

删除由 Amazon Redshift 创建的临时表