ALTER VIEW DIALECT - Amazon Athena

ALTER VIEW DIALECT

エンジンダイアレクトを AWS Glue Data Catalog ビューに追加したり、ビューから削除したりします。AWS Glue Data Catalog ビューにのみ適用されます。Lake Formation 管理者または定義者の許可が必要です。

AWS Glue Data Catalog ビューの詳細については、「Athena でデータカタログビューを使用する」を参照してください。

構文

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

FORCE キーワードにより、ビュー内の競合するエンジンダイアレクト情報が新しい定義で上書きされます。FORCE キーワードは、データカタログビューの更新後に、既存のエンジンダイアレクト間でビュー定義に競合が発生した場合に役立ちます。例えば、データカタログビューに Athena と Amazon Redshift の両方のダイアレクトがあり、更新後に、ビュー定義で Amazon Redshift と競合が発生したとします。この場合は、FORCE キーワードを使用して更新を完了させ、Amazon Redshift ダイアレクトを古いものとしてマークできます。古いとマークされたエンジンがビューをクエリすると、クエリは失敗します。エンジンは例外をスローして、古い結果を許可しません。これを修正するには、ビュー内の古いダイアレクトを更新します。

ADD

データカタログビューに新しいエンジンダイアレクトを追加します。指定するエンジンは、データカタログビューに既に存在していない必要があります。

UPDATE

データカタログビューに既に存在するエンジンダイアレクトを更新します。

DROP

既存のエンジンダイアレクトをデータカタログビューから削除します。データカタログビューからエンジンを削除すると、削除されたエンジンからデータカタログビューをクエリできなくなります。ビュー内の他のエンジンダイアレクトは引き続きビューをクエリできます。

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