Utilisation de vues
Une vue dans Amazon Athena est une table logique et non physique. La requête qui définit une vue est exécutée chaque fois qu'elle est référencée dans une requête. Vous pouvez créer une vue à partir d'une requête SELECT, puis référencer cette vue dans de futures requêtes.
Athéna prend en charge deux types de vues : les vues Athena et les vues AWS Glue Data Catalog.
Quand utiliser des vues Athena ?
Les vues Athena peuvent être utiles pour les tâches suivantes :
-
Interroger un sous-ensemble de données – Vous pouvez par exemple créer une vue avec un sous-ensemble de colonnes à partir de la table d’origine pour simplifier l’interrogation des données.
-
Combiner des tables – Vous pouvez utiliser des vues pour combiner plusieurs tables en une seule requête. Lorsque vous avez plusieurs tables et que vous souhaitez les combiner avec
UNION ALL, vous pouvez créer une vue avec cette expression pour simplifier les requêtes sur les tables combinées. -
Masquer la complexité – Utilisez des vues pour masquer la complexité des requêtes de base existantes et simplifier les requêtes exécutées par les utilisateurs. Les requêtes de base incluent souvent des jointures entre les tables, les expressions dans la liste de colonnes, et d'autres syntaxes SQL, ce qui complique leur compréhension et leur débogage. Vous pouvez créer une vue qui masque la complexité et simplifie les requêtes.
-
Optimiser les requêtes – Vous pouvez utiliser des vues pour expérimenter des techniques d’optimisation afin de créer des requêtes optimisées. Par exemple, si vous trouvez une combinaison de conditions
WHERE, l'ordreJOIN, ou d'autres expressions qui illustrent les meilleures performances, vous pouvez créer une vue avec ces clauses et expressions. Les applications peuvent ensuite créer des requêtes relativement simples pour cette vue. Si, par la suite, vous trouvez un meilleur moyen d'optimiser la requête d'origine, lorsque vous recréez la vue, toutes les applications tirent immédiatement parti de la requête de base optimisée. -
Masquer les noms sous-jacents – Vous pouvez utiliser des vues pour masquer les noms de table et de colonne sous-jacents et limiter les problèmes de maintenance en cas de changement de ces noms. Si les noms changent, il vous suffit de recréer la vue en utilisant les nouveaux noms. Toutes les requêtes qui utilisent la vue au lieu des tables continuent de s’exécuter normalement.
Pour de plus amples informations, consultez Utilisation de vues Athena.
Quand utiliser des vues AWS Glue Data Catalog ?
Utilisez les affichages AWS Glue Data Catalog lorsque vous souhaitez disposer du même affichage pour les Services AWS tels qu’Amazon Athena et Amazon Redshift. Dans les affichages du Catalogue de données, les autorisations d’accès sont définies par l’utilisateur qui a créé l’affichage, et non par l’utilisateur qui interroge l’affichage. Cette méthode d’octroi d’autorisations est appelée sémantique du définisseur.
Les cas d’utilisation suivants montrent comment vous pouvez utiliser les affichages du Catalogue de données.
-
Meilleur contrôle d’accès : vous créez un affichage qui limite l’accès aux données en fonction du niveau d’autorisation requis par l’utilisateur. Par exemple, vous pouvez utiliser des affichages du Catalogue de données pour empêcher les employés qui ne travaillent pas dans le service des ressources humaines (RH) de voir des données d’identification personnelle.
-
Garantir la caractère complet des enregistrements : en appliquant certains filtres à l’affichage de votre Catalogue de données, vous vous assurez que les enregistrements de données d’un affichage du Catalogue de données sont toujours complets.
-
Sécurité renforcée : dans les affichages du Catalogue de données, la définition de requête qui crée l’affichage doit être intacte pour que l’affichage soit créé. Cela rend les affichages du Catalogue de données moins vulnérables aux commandes SQL provenant d’acteurs malveillants.
-
Empêcher l’accès aux tables sous-jacentes : la sémantique du définisseur permet aux utilisateurs d’accéder à un affichage sans mettre la table sous-jacente à leur disposition. Seul l’utilisateur qui définit l’affichage nécessite d’accéder aux tables.
Les définitions des affichages du Catalogue de données sont stockées dans l’AWS Glue Data Catalog. Cela signifie que vous pouvez utiliser AWS Lake Formation pour accorder l’accès via des autorisations de ressources, des autorisations de colonnes ou des contrôles d’accès basés sur des balises. Pour plus d’informations sur l’octroi et la révocation de l’accès à Lake Formation, consultez la rubrique Granting and revoking permissions on Data Catalog resources dans le Guide du développeur AWS Lake Formation.
Pour de plus amples informations, consultez Utilisation des vues de catalogue de données dans Athena.