Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d'informations, consultez le billet de blog
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWS Glue Data Catalog vues
Cette rubrique décrit comment créer des vues dans le AWS Glue Data Catalog. Vous pouvez utiliser les vues du catalogue de données pour accéder aux données de différentes sources de données en utilisant le même schéma.
En créant des vues dans le catalogue de données, vous pouvez créer un schéma de vue et un objet de métadonnées communs uniques à utiliser sur des moteurs tels qu'Amazon Athena et Amazon EMR Spark. Cela vous permet d’utiliser les mêmes vues sur l’ensemble de vos lacs de données et de vos entrepôts des données pour répondre à vos cas d’utilisation. Les vues du catalogue de données ont ceci de particulier qu’elles sont classées dans la catégorie des vues de définisseur, où les autorisations d’accès sont définies par l’utilisateur qui a créé la vue et non par l’utilisateur qui interroge la vue. Voici quelques cas d’utilisation et avantages de la création de vues dans le catalogue de données :
-
Créer une vue qui restreint l’accès aux données en fonction des autorisations dont l’utilisateur a besoin. Par exemple, vous pouvez utiliser des vues 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 (PII).
-
S’assurer que les utilisateurs ne peuvent pas accéder aux enregistrements incomplets. En appliquant certains filtres aux vues du catalogue de données, vous vous assurez que les enregistrements de données d’une vue du catalogue de données sont toujours complets.
-
Les vues du catalogue de données présentent un avantage en matière de sécurité, car la définition de requête utilisée pour créer la vue doit être complète pour que la vue soit créée. Cet avantage en matière de sécurité signifie que les vues du catalogue de données ne sont pas sensibles aux commandes SQL provenant d’acteurs malveillants.
-
Les vues du catalogue de données présentent les mêmes avantages que les vues normales, notamment en permettant aux utilisateurs d’accéder à une vue sans mettre la table sous-jacente à leur disposition.
Pour créer une vue dans le catalogue de données, vous devez disposer d’une table externe Spectrum, d’un objet contenu dans une unité de partage des données gérée par Lake Formation ou d’une table Apache Iceberg.
Les définitions des vues du catalogue de données sont stockées dans le AWS Glue Data Catalog. AWS Lake Formation À utiliser 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 dans Lake Formation, consultez Octroi et révocation d’autorisations liées aux ressources du catalogue de données.
Lorsque vous utilisez Amazon Redshift pour exécuter une requête faisant référence à de telles AWS Glue Data Catalog vues, Amazon Redshift masque automatiquement les champs de certaines tables système et colonnes de vue lors de l'enregistrement des métadonnées relatives à cette requête. Pour plus d'informations, consultez la section Connexion sécurisée dans le guide de gestion Amazon Redshift.
Prérequis
Avant de pouvoir créer une vue dans le catalogue de données, assurez-vous que les conditions préalables suivantes sont remplies :
Assurez-vous que votre rôle IAM possède la stratégie d’approbation suivante.
-
Vous avez aussi besoin de la stratégie de transmission de rôle suivante.
Enfin, vous aurez également besoin des autorisations suivantes.
Glue:GetDatabase
Glue:GetDatabases
Glue:CreateTable
Glue:GetTable
Glue:UpdateTable
Glue:DeleteTable
Glue:GetTables
Glue:SearchTables
Glue:BatchGetPartition
Glue:GetPartitions
Glue:GetPartition
Glue:GetTableVersion
Glue:GetTableVersions
End-to-end exemple
Commencez par créer un schéma externe basé sur la base de données de votre catalogue de données.
CREATE EXTERNAL SCHEMA IF NOT EXISTS external_schema FROM DATA CATALOG DATABASE 'external_data_catalog_db' IAM_ROLE 'arn:aws:iam::123456789012:role/sample-role';
Vous pouvez désormais créer une vue du catalogue de données.
CREATE EXTERNAL PROTECTED VIEW external_schema.remote_view AS SELECT * FROM external_schema.remote_table;
Vous pouvez ensuite commencer à interroger cette vue.
SELECT * FROM external_schema.remote_view;
Pour plus d’informations sur les commandes SQL associées aux vues du catalogue de données, consultez CREATE EXTERNAL VIEW, ALTER EXTERNAL VIEW et DROP EXTERNAL VIEW.
Considérations et restrictions
Les considérations et restrictions suivantes s’appliquent aux vues créées dans le catalogue de données.
AWS Glue Data Catalog les vues ne sont prises en charge que sur les clusters RA3 provisionnés ou les groupes de travail Redshift Serverless.
Vous ne pouvez pas créer une vue du catalogue de données basée sur une autre vue.
Une vue du catalogue de données ne peut comporter que 10 tables de base.
Le définisseur de la vue doit disposer d’autorisations
SELECT GRANTABLE
complètes sur les tables de base.Les vues ne peuvent contenir que des éléments intégrés et des objets Lake Formation. Les objets suivants ne sont pas autorisés à l’intérieur d’une vue.
Tables système
Fonctions définies par l'utilisateur () UDFs
Tables, vues, vues matérialisées et vues à liaison tardive Redshift qui ne se trouvent pas dans une unité de partage des données gérée par Lake Formation.
Les vues ne peuvent pas contenir de tables Redshift Spectrum imbriquées.
AWS Glue les représentations des objets de base d'une vue doivent être dans la même Compte AWS région que la vue.