CREATE VIEW and CREATE PROTECTED MULTI DIALECT VIEW - Amazon Athena

CREATE VIEW and CREATE PROTECTED MULTI DIALECT VIEW

Une vue est une table logique qui peut être référencée par de futures requêtes. Les vues ne contiennent pas de données et n'écrivent pas de données. Au lieu de cela, la requête spécifiée par la vue s'exécute chaque fois que vous référencez la vue par une autre requête.

  • L’instruction CREATE VIEW crée une vue Athena à partir d’une requête SELECT spécifiée. Les vues Athena fonctionnent au sein d’Athena. Pour plus d’informations sur les vues Athena, consultez Utilisation de vues.

  • L’instruction CREATE PROTECTED MULTI DIALECT VIEW crée une vue AWS Glue Data Catalog dans le AWS Glue Data Catalog. Les vues AWS Glue Data Catalog fournissent un seul et même affichage pour des Services AWS tels qu’Amazon Athena et Amazon Redshift. Pour plus d’informations sur les vues du AWS Glue Data Catalog, consultez Utilisation des vues de catalogue de données dans Athena.

CREATE VIEW

Cette instruction crée une vue à utiliser dans Athena.

Résumé

CREATE [ OR REPLACE ] VIEW view_name AS query

La clause OR REPLACE en option vous permet de mettre à jour la vue existante en la remplaçant. Pour plus d’informations, consultez Création de vues.

Exemples

Pour créer une vue test à partir de la table orders, utilisez une requête semblable à la suivante :

CREATE VIEW test AS SELECT orderkey, orderstatus, totalprice / 2 AS half FROM orders;

Pour créer une vue orders_by_date à partir de la table orders, utilisez la requête suivante :

CREATE VIEW orders_by_date AS SELECT orderdate, sum(totalprice) AS price FROM orders GROUP BY orderdate;

Pour mettre à jour une vue existante, utilisez un exemple semblable à ce qui suit :

CREATE OR REPLACE VIEW test AS SELECT orderkey, orderstatus, totalprice / 4 AS quarter FROM orders;

Pour plus d’informations sur l’utilisation des vues Athena, consultez Utilisation de vues.

CREATE PROTECTED MULTI DIALECT VIEW

Cette instruction crée une vue du AWS Glue Data Catalog dans le AWS Glue Data Catalog. Une vue du Catalogue de données est un schéma de vue unique qui fonctionne avec Athena et d’autres moteurs SQL tels qu’Amazon Redshift et Amazon EMR.

Syntaxe

CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW view_name SECURITY DEFINER [ SHOW VIEW JSON ] AS query
OR REPLACE

(Facultatif) Met à jour la vue existante en la remplaçant. Un affichage du Catalogue de données ne peut pas être remplacé si des dialectes SQL provenant d’autres moteurs sont présents dans l’affichage. Si le moteur appelant possède le seul dialecte SQL présent dans l’affichage, celui-ci peut être remplacé.

PROTECTED

Mot-clé requis. Spécifie que l’affichage est protégé contre les fuites de données. Les affichages du Catalogue de données ne peuvent être créés qu’en tant qu’affichages PROTECTED.

MULTI DIALECT

Spécifie que l’affichage prend en charge les dialectes SQL des différents moteurs de requête et peut donc être lu par ces moteurs.

SECURITY DEFINER

Spécifie que la sémantique du définisseur est en vigueur pour cet affichage. La sémantique du définisseur signifie que les autorisations de lecture effectives sur les tables sous-jacentes appartiennent au principal ou au rôle qui a défini l’affichage, et non au principal qui effectue la lecture proprement dite.

SHOW VIEW JSON

(Facultatif) Renvoie le format JSON pour la spécification de vue du Catalogue de données sans créer réellement de vue. Cette option de « test à blanc » est utile lorsque vous souhaitez valider le code SQL de la vue et renvoyer les métadonnées de table qui seront utilisées par AWS Glue.

Exemple

L’exemple suivant crée l’affichage orders_by_date du Catalogue de données basé sur une requête sur la table orders.

CREATE PROTECTED MULTI DIALECT VIEW orders_by_date SECURITY DEFINER AS SELECT orderdate, sum(totalprice) AS price FROM orders WHERE order_city = 'SEATTLE' GROUP BY orderdate

Pour plus d’informations sur l’utilisation des vues AWS Glue Data Catalog, consultez Utilisation des vues de catalogue de données dans Athena.