ALTER VIEW DIALECT - Amazon Athena

ALTER VIEW DIALECT

从 AWS Glue Data Catalog 视图中添加或删除引擎方言。仅适用于 AWS Glue Data Catalog 视图。需要 Lake Formation 管理员或定义者权限。

有关 AWS Glue Data Catalog 视图的更多信息,请参阅在 Athena 中使用 Data Catalog 视图

语法

ALTER VIEW name [ FORCE ] [ ADD|UPDATE ] DIALECT AS query
ALTER VIEW name [ DROP ] DIALECT
FORCE

FORCE 关键字会导致视图中相互冲突的引擎方言信息被新定义覆盖。当 Data Catalog 视图更新导致现有引擎方言中的视图定义相互冲突时,FORCE 关键字很有用。假设 Data Catalog 视图同时使用 Athena 和 Amazon Redshift 方言,并且更新导致与视图定义中的 Amazon Redshift 发生冲突。在这种情况下,您可以使用 FORCE 关键字来允许更新完成,并将 Amazon Redshift 方言标记为过时。当标记为过时的引擎查询视图时,查询会失败。引擎会抛出异常以禁止过时结果。要更正此问题,请更新视图中的过时方言。

ADD

为 Data Catalog 视图添加新的引擎方言。指定的引擎不得已存在于 Data Catalog 视图中。

UPDATE

更新 Data Catalog 视图中已存在的引擎方言。

DROP

从 Data Catalog 视图中删除现有的引擎方言。从 Data Catalog 视图中删除引擎后,已删除的引擎无法查询 Data Catalog 视图。视图中的其他引擎方言仍然可以查询视图。

DIALECT AS

引入特定于引擎的 SQL 查询。

示例

ALTER VIEW orders_by_date FORCE ADD DIALECT AS SELECT orderdate, sum(totalprice) AS price FROM orders GROUP BY orderdate
ALTER VIEW orders_by_date FORCE UPDATE DIALECT AS SELECT orderdate, sum(totalprice) AS price FROM orders GROUP BY orderdate
ALTER VIEW orders_by_date DROP DIALECT