【问题标题】:Is it feasible to perform a cross database federated query in redshift?在 redshift 中执行跨数据库联合查询是否可行?
【发布时间】:2021-12-01 06:48:12
【问题描述】:

虽然跨数据库查询(在基于 ra3 节点的集群中)和联合查询似乎可以单独工作,但它们似乎无法一起工作。我很可能遗漏了一些东西,因此提出了这个问题。详情如下:

  • RDS Aurora MySQL 有一个数据库,比如 DB1
  • Redshift 集群说 c1 有数据库说 RSDB1 和 RSDB2
  • 我可以将 DB1 配置为 RSDB1 中的外部架构,比如 ext_mdb,并且还可以查询例如:如下所示

从 ext_mdb.Table2 中选择 count(1);

从 RSDB1.ext_mdb.Table2 中选择 count(1); # 这也有效

  • 当我连接到 RSDB2 时,我还可以使用跨数据库查询架构 RSDB1.public.Table1。
  • 当我尝试从 RSDB2 查询 RSDB1.ext_mdb.Table2 失败并出现以下错误

从 RSDB1.ext_mdb.Table2 中选择 count(1); # 这不是来自 RSDB2

错误:数据库中不存在关系表 2。

【问题讨论】:

    标签: amazon-web-services amazon-redshift cross-database federated-queries


    【解决方案1】:

    从我的理解来看,目前 redshift 中的跨数据库查询似乎是一个限制:https://docs.aws.amazon.com/redshift/latest/dg/cross-database_limitation.html

    它说的地方

    Amazon Redshift 不支持在 AWS Glue 或联合数据库上查询目录对象。要查询这些对象,首先要创建引用每个数据库中的那些外部数据源的外部模式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-07
      • 2014-11-29
      • 1970-01-01
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-08
      相关资源
      最近更新 更多