Interrogation du AWS Glue Data Catalog - Amazon Redshift

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.

Interrogation du AWS Glue Data Catalog

Vous pouvez utiliser l'éditeur de requête v2 pour interroger les données cataloguées dans votre  AWS Glue Data Catalog. Par défaut, il AWS Glue Data Catalog est répertorié sous la forme d'une base de données de l'éditeur de requêtes v2 nomméeawsdatacatalog. L'interrogation de n' AWS Glue Data Catalog est pas disponible dans tous les Amazon Régions AWS Redshift. Pour savoir si elle est disponible, utilisez la commande SHOW. Pour plus d'informations AWS Glue, voir Qu'est-ce que c'est AWS Glue ? dans le Guide AWS Glue du développeur.

Note

L'interrogation n' AWS Glue Data Catalog est prise en charge que dans les clusters de type nœud Amazon Redshift RA3 et Amazon Redshift Serverless.

Vous pouvez configurer votre entrepôt de données et afficher les objets de AWS Glue base de données catalogués à l'aide des commandes SQL suivantes :

  • SHOW – pour déterminer si le awsdatacatalog est monté pour l'entrepôt de données actuellement connecté. Par exemple, pour afficher la valeur du paramètre data_catalog_auto_mount, exécutez :

    SHOW data_catalog_auto_mount;

    Pour en savoir plus, consultez SHOW dans le Guide du développeur de base de données Amazon Redshift.

  • ALTER SYSTEM – pour modifier la configuration au niveau du système de data_catalog_auto_mount. Par exemple, pour faire passer la valeur du paramètre data_catalog_auto_mount à on, exécutez :

    ALTER SYSTEM SET data_catalog_auto_mount = on;

    La modification prend effet lorsqu'un cluster provisionné est redémarré ou que l'activité d'un groupe de travail sans serveur est automatiquement suspendue puis reprise. Pour en savoir plus, consultez ALTER SYSTEM dans le Guide du développeur de base de données Amazon Redshift.

  • SHOW SCHEMAS – affiche une liste de schémas. Les schémas de la base de données nommée awsdatacatalog représentent les AWS Glue bases de données cataloguées dans le. AWS Glue Data Catalog Par exemple, pour afficher ces schémas, exécutez :

    SHOW SCHEMAS FROM DATABASE awsdatacatalog;

    Pour en savoir plus, consultez SHOW SCHEMAS dans le Guide du développeur de base de données Amazon Redshift.

  • SHOW TABLES – affiche la liste des tables d'un schéma. Par exemple, pour afficher les tables de la AWS Glue Data Catalog base de données nommée awsdatacatalog qui sont dans le schéma, myglue exécutez :

    SHOW TABLES FROM SCHEMA awsdatacatalog.myschema;

    Pour en savoir plus, consultez SHOW TABLES dans le Guide du développeur de base de données Amazon Redshift.

  • SHOW COLUMNS – affiche la liste des colonnes d'une table. Par exemple, pour afficher les colonnes de la AWS Glue Data Catalog base de données nommée awsdatacatalog qui figurent dans le schéma myglue et la table, mytable exécutez :

    SHOW COLUMNS FROM TABLE awsdatacatalog.myglue.mytable;

    Pour en savoir plus, consultez SHOW COLUMNS dans le Guide du développeur de base de données Amazon Redshift.

Pour accorder à votre utilisateur ou rôle IAM l'autorisation d'interroger le AWS Glue Data Catalog, procédez comme suit
  1. Dans le volet d'arborescence, connectez-vous à votre base de données initiale dans votre cluster provisionné ou votre groupe de travail sans serveur en utilisant la méthode d'authentification Nom d'utilisateur et mot de passe de la base de données. Par exemple, connectez-vous à la base de données dev en utilisant le nom d'utilisateur et le mot de passe d'administrateur que vous avez utilisés au moment de créer le cluster ou le groupe de travail.

  2. Dans un onglet de l'éditeur, exécutez l'instruction SQL suivante pour accorder à un utilisateur IAM l'accès au AWS Glue Data Catalog.

    GRANT USAGE ON DATABASE awsdatacatalog to "IAM:myIAMUser"

    IAM:myIAMUser est un utilisateur IAM auquel vous souhaitez accorder des privilèges d'utilisation du AWS Glue Data Catalog. Vous pouvez également accorder des privilèges d'utilisation à IAMR:myIAMRole pour un rôle IAM.

  3. Dans le volet d'arborescence, modifiez ou supprimez la connexion au cluster ou groupe de travail que vous avez créé précédemment. Connectez-vous à votre cluster ou groupe de travail de l'une des manières suivantes :

    • Pour accéder à la base de données awsdatacatalog à partir d'un cluster, vous devez utiliser la méthode d'authentification Informations d'identification temporaires utilisant votre identité IAM. Pour en savoir plus sur cette méthode d'authentification, consultez Connexion à une base de données Amazon Redshift. Votre administrateur de l'éditeur de requête v2 devra peut-être configurer les Paramètres du compte pour que le compte affiche cette méthode d'authentification dans la fenêtre de connexion.

    • Pour accéder à la base de données awsdatacatalog à partir d'un groupe de travail, vous devez utiliser la méthode d'authentification Utilisateur fédéré. Pour en savoir plus sur cette méthode d'authentification, consultez Connexion à une base de données Amazon Redshift.

  4. Avec le privilège accordé, vous pouvez utiliser votre identité IAM pour exécuter des requêtes SQL sur votre AWS Glue Data Catalog.

Après vous être connecté, vous pouvez utiliser l'éditeur de requête v2 pour interroger les données cataloguées dans AWS Glue Data Catalog. Dans le volet d'arborescence de l'éditeur de requête v2, choisissez le cluster ou le groupe de travail et la base de données awsdatacatalog. Dans le volet de l'éditeur ou du bloc-notes, vérifiez que le cluster ou le groupe de travail approprié est sélectionné. La base de données choisie doit être la base de données Amazon Redshift initiale, comme dev. Pour en savoir plus sur la création de requêtes, consultez Création et exécution de requêtes et Création et exécution de blocs-notes. La base de données nommée awsdatacatalog est réservée pour référencer la base de données du catalogue de données externe dans votre compte. Les requêtes exécutées sur la base de données awsdatacatalog peuvent être uniquement en lecture seule. Utilisez une notation en trois parties pour référencer la table dans votre instruction SELECT, Où la première partie est le nom de la base de données, la deuxième partie est le nom AWS Glue de la base de données et la troisième partie est le nom de la AWS Glue table.

SELECT * FROM awsdatacatalog.<aws-glue-db-name>.<aws-glue-table-name>;

Vous pouvez exécuter différents scénarios pour lire les AWS Glue Data Catalog données et remplir les tables Amazon Redshift.

L'exemple de code SQL suivant joint deux tables définies dans AWS Glue.

SELECT pn.emp_id, alias, role, project_name FROM "awsdatacatalog"."empl_db"."project_name_table" pn, "awsdatacatalog"."empl_db"."project_alias_table" pa WHERE pn.emp_id = pa.emp_id;

L'exemple de code SQL suivant crée une table Amazon Redshift et la remplit avec les données d'une jointure de deux tables. AWS Glue

CREATE TABLE dev.public.glue AS SELECT pn.emp_id, alias, role, project_name FROM "awsdatacatalog"."empl_db"."project_name_table" pn, "awsdatacatalog"."empl_db"."project_alias_table" pa WHERE pn.emp_id = pa.emp_id;