Amazon redshift 将表从一个红移集群复制到另一个红移集群(不使用s3)

Amazon redshift 将表从一个红移集群复制到另一个红移集群(不使用s3),amazon-redshift,Amazon Redshift,我们可以直接将表从一个红移集群复制到另一个红移集群吗 我知道使用s3作为临时存储可以实现表复制(即从第一个集群卸载到s3,然后从s3复制到另一个集群)。因此答案是否定的。 以下是我从AWS支持部门得到的回复 你好,, 非常感谢您联系AWS支持部门。使用AmazonRedshift,我们没有将数据从RedShift集群中的一个表直接复制到另一个RedShift集群中的另一个表的机制。实现类似结果的正常程序为: (1) 卸载到S3,然后从S3复制 通过这种方法,您可以使用S3作为中间存储。首先将数据

我们可以直接将表从一个红移集群复制到另一个红移集群吗

我知道使用s3作为临时存储可以实现表复制(即从第一个集群卸载到s3,然后从s3复制到另一个集群)。

因此答案是否定的。 以下是我从AWS支持部门得到的回复

你好,, 非常感谢您联系AWS支持部门。使用AmazonRedshift,我们没有将数据从RedShift集群中的一个表直接复制到另一个RedShift集群中的另一个表的机制。实现类似结果的正常程序为:

(1) 卸载到S3,然后从S3复制

通过这种方法,您可以使用S3作为中间存储。首先将数据从源集群卸载到S3,然后将数据从S3复制到目标集群。这是您熟悉的方法,也是我们推荐的方法。RedShift设计用于S3,可以以相对较低的成本实现高效率。有关红移中添加和复制操作的更多信息,请参阅以下AWS文档:

(2) 使用群集快照

另一种方法是创建源集群的快照,然后将快照恢复为目标集群。然后,从目标集群中删除不必要的表。问题是,如果您只需要目标集群上的一小部分数据(例如,十个表中的一个),那么您可能会将(相对)大的集群用于(相对)小的应用程序

有关管理红移群集快照的更多信息,请参阅以下AWS文档:


总之,我们更喜欢卸载和复制过程,这是非常直接和经济高效的

但是卸载/复制非常简单-就像两个命令一样-一个在源集群中,另一个在新集群中…您现在可以从集群快照恢复单个表。这是一项新功能~ 2016年3月只能在同一群集内还原表。请确保测试您的复制/卸载脚本。例如,默认值不会转义分隔符,您可能会在文件中发现错误,如额外的列。我们现在将“addquotes escape”包含到卸载命令中(以及相关副本的“removequotes escape”)。同样要在空模式中为copy命令构建ddl,请查看amazons github redshift中的“admin.v_generate_tbl_ddl”utilities@Prakash你知道除了你提到的那两个,还有没有其他(可能更快的)解决方案?