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 VIEWcrée une vue Athena à partir d’une requêteSELECTspé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 VIEWcré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 VIEWview_nameSECURITY DEFINER [ SHOW VIEW JSON ] ASquery
- 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.