在两个环境之间复制表 - Redshift
Posted
技术标签:
【中文标题】在两个环境之间复制表 - Redshift【英文标题】:Copy tables between two environments - Redshift 【发布时间】:2018-07-13 18:44:19 【问题描述】:我需要在 redshift 中两个不同实例的表之间复制数据。
第一个是开发环境,第二个是舞台环境。
要求是将表从 dev 复制到 stage。
Instance 1: Dev
URL : link1
username : userdev
password: passdev
schema : schema1
tablename: table1
Instance 2: Stage
URL: link2
username: userstage
password: passstage
schema: schema2
tablename: table2
有没有办法在这些实例之间进行复制?
我不想使用复制实用程序。我需要一个脚本。
【问题讨论】:
卸载到s3然后从s3复制是你需要走的路线 好的。它是复制实用程序吗?请告诉我步骤和代码。 Copying a table from one redshift cluster to another redshift cluster(without using s3)的可能重复 你可以参考下面的链接,它详细讨论了数据从一个环境移动到另一个环境的最佳实践,***.com/questions/48719339/… 【参考方案1】:请查看卸载/复制实用程序:https://github.com/awslabs/amazon-redshift-utils/tree/master/src/UnloadCopyUtility
该实用程序会自动执行您在上面描述的过程。
【讨论】:
【参考方案2】:如果有一次可以使用copy command。
首先将数据从实例 1 复制到 S3。 然后从 S3 到 instance-2。
如果您需要每天执行此操作,请使用带有 JDBC 连接的 AWS Lambda,以 S3 作为中介。
【讨论】:
以上是关于在两个环境之间复制表 - Redshift的主要内容,如果未能解决你的问题,请参考以下文章
如何将数据从一个表复制到位于不同 Redshift 实例中的另一个表?
在 Redshift 中,如何复制表、添加 dist 和排序键以及保留列编码?
将数据从本地复制到 S3 到 Redshift 表时出现问题