Sql 无法在红移频谱外部架构中创建视图

Sql 无法在红移频谱外部架构中创建视图,sql,amazon-web-services,amazon-redshift,amazon-redshift-spectrum,Sql,Amazon Web Services,Amazon Redshift,Amazon Redshift Spectrum,在频谱外部表的外部模式中创建视图时,我面临一个问题。下面是我用来创建视图的脚本 create or replace view external_schema.test_view as select id, name from external_schema.external_table with no schema binding; 我在犯错误 错误:未启用对外部架构中的本地对象的操作 请帮助在spectrum external table下创建视图外部表是在外部架构中创建的。Amazon红移

在频谱外部表的外部模式中创建视图时,我面临一个问题。下面是我用来创建视图的脚本

create or replace view external_schema.test_view as
select id, name from external_schema.external_table with no schema binding;
我在犯错误

错误:未启用对外部架构中的本地对象的操作


请帮助在spectrum external table下创建视图

外部表是在外部架构中创建的。Amazon红移外部模式引用AWS Glue或Amazon Athena中的外部数据目录中的数据库,或Hive metastore中的数据库,如Amazon EMR

红移集群中不存在外部模式,而是从它们的源中查找。出于同样的原因,外部表也是只读的

因此,您将无法将正在创建的视图绑定到集群中未存储的架构。您可以在外部表的顶部创建一个视图(不带模式绑定子句),但该视图将驻留在红移的本地模式中

TL;DR Redshift尚不支持在外部架构中创建视图,因此该视图只能驻留在Redshift本地的架构中

external_schema
替换为
internal_schema
,如下所示:

create or replace view internal_schema.test_view as
select id, name from external_schema.external_table with no schema binding;

外部表是在外部架构中创建的。Amazon红移外部模式引用AWS Glue或Amazon Athena中的外部数据目录中的数据库,或Hive metastore中的数据库,如Amazon EMR

红移集群中不存在外部模式,而是从它们的源中查找。出于同样的原因,外部表也是只读的

因此,您将无法将正在创建的视图绑定到集群中未存储的架构。您可以在外部表的顶部创建一个视图(不带模式绑定子句),但该视图将驻留在红移的本地模式中

TL;DR Redshift尚不支持在外部架构中创建视图,因此该视图只能驻留在Redshift本地的架构中

external_schema
替换为
internal_schema
,如下所示:

create or replace view internal_schema.test_view as
select id, name from external_schema.external_table with no schema binding;

你犯了什么错误?此外,是否允许您在频谱模式中创建视图?我从未尝试过。错误是:未启用外部架构中本地对象的操作。您遇到了什么错误?此外,是否允许您在频谱模式中创建视图?我从未尝试过。错误是:外部架构中的本地对象操作未启用。