#amazon-web-services #amazon-redshift #cross-database #federated-queries
#amazon-web-services #amazon-redshift #кросс-база данных #федеративные запросы
Вопрос:
хотя запросы к базам данных между базами данных (в кластерах на основе узлов ra3) и объединенные запросы по отдельности, похоже, работают, вместе кажется, что они не будут работать. Я, скорее всего, что-то упускаю, отсюда и вопрос. Ниже приведены подробности:
- В RDS Aurora MySQL есть база данных, скажем, DB1
- Кластер Redshift, скажем, c1 имеет базы данных, например, RSDB1 и RSDB2
- Я могу настроить DB1 как внешнюю схему в RSDB1, скажем, ext_mdb, и также могу запрашивать, например: как показано ниже
выберите count(1) из ext_mdb.Table2;
выберите count(1) из RSDB1.ext_mdb.Table2; # это также работает
- Я также могу использовать схему запросов между базами данных RSDB1.public.Таблица1, пока я подключен к RSDB2.
- Когда я пытаюсь запросить RSDB1.ext_mdb.Table2 из RSDB2, происходит сбой с ошибкой ниже
выберите count(1) из RSDB1.ext_mdb.Table2; # это не из RSDB2
ОШИБКА: таблица отношений 2 не существует в базе данных.
Ответ №1:
На данный момент это похоже на ограничение для запросов между базами данных в redshift из того, что я понял, прочитав это: https://docs.aws.amazon.com/redshift/latest/dg/cross-database_limitation.html
где говорится
Amazon Redshift не поддерживает объекты каталога запросов в AWS Glue или объединенных базах данных. Чтобы запросить эти объекты, сначала создайте внешние схемы, которые ссылаются на эти внешние источники данных в каждой базе данных.