在单个查询中查询两个单独的Redshift集群?

时间:2017-11-21 15:08:12

标签: sql amazon-web-services amazon-redshift

我正在设计我的数据库结构,并想知道是否可以针对两个单独的Redshift集群运行单个查询?

如果可能,对区域,可用区域,VPC组等有任何限制吗?

2 个答案:

答案 0 :(得分:2)

不,直接在Redshift中不可能。此外,您无法在相同群集上的多个数据库中进行查询。

您可以使用在EMR群集上运行的外部工具(如Amazon Athena或Presto)来执行此操作。您可以将每个Redshift群集定义为外部数据源。但请注意,您将失去Redshift的大部分性能优化,并且必须将大量数据撤回到Athena / Presto以回答您的问题。

作为跨群集查询的替代方案,请考虑将数据放在分区良好的Parquet或ORC文件中的S3上,并使用Redshift Spectrum(或Amazon Athena)进行查询。此方法允许多个集群查询公共数据集,同时保持良好的查询性能。 https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/

答案 1 :(得分:0)

使用Amazon Redshift中的联合查询,可以将第二个集群表作为外部模式访问

您可以参考文档https://docs.aws.amazon.com/redshift/latest/dg/federated_query_example.html