Interroger des données externes à l'aide du catalogue de données AWS Glue
Autonomous AI Database prend en charge un système de synchronisation avec une instance Amazon AWS Glue Data Catalog.
À propos de l'interrogation avec AWS Glue Data Catalog
Autonomous AI Database vous permet de synchroniser avec les métadonnées du catalogue de données de colle Amazon Web Service (AWS). Une table externe de base de données est automatiquement créée par Autonomous AI Database pour chaque table collectée par AWS Glue sur les données stockées dans Amazon Simple Storage Service (S3). Les utilisateurs peuvent interroger les données stockées dans S3 à partir d'Autonomous AI Database sans avoir à dériver manuellement le schéma pour les sources de données externes et créer des tables externes.
Amazon AWS Glue Data Catalog est un service centralisé de gestion des métadonnées qui aide les professionnels des données à découvrir des données et prend en charge la gouvernance des données dans le cloud AWS. Une instance de base de données d'IA autonome a la possibilité de synchroniser automatiquement les métadonnées du catalogue de données avec AWS Glue Data Catalog, ce qui permet aux utilisateurs de base de données d'utiliser immédiatement une base de données d'IA autonome pour interroger les données stockées dans le nuage AWS.
La synchronisation avec AWS Glue Data Catalog a les mêmes propriétés que la synchronisation avec OCI Data Catalog. La synchronisation est dynamique, ce qui permet de tenir la base de données à jour en ce qui concerne les modifications apportées aux données sous-jacentes, ce qui réduit les coûts d'administration car elle gère automatiquement des centaines à des milliers de tables.
Concepts liés à l'interrogation avec AWS Glue Data Catalog
Une compréhension des concepts suivants est nécessaire pour effectuer des interrogations avec les catalogues de données Amazon Web Service (AWS) Glue.
Catalogue de données AWS Glue : Base de données
Une base de données AWS Glue représente un ensemble de définitions de table relationnelle, organisées en un groupe logique. Chaque instance de catalogue de données AWS Glue gère plusieurs bases de données.
Catalogue de données de colle AWS : Table
Une table AWS Glue représente une table relationnelle sur les données stockées dans le cloud AWS. Une table AWS Glue définit le schéma des données sous-jacentes et se compose d'informations de colonne, d'informations de partition, d'informations de sérialisation, d'informations de stockage, de statistiques, de métadonnées définies par l'utilisateur et d'autres métadonnées. Les tables du catalogue de données AWS Glue peuvent être créées manuellement ou automatiquement à l'aide d'un robot d'indexation AWS Glue.
Catalogue de données de colle : Robot d'indexation
Vous pouvez utiliser un robot d'indexation pour alimenter le catalogue de données AWS Glue avec des tables. Il s'agit de la méthode principale utilisée par la plupart des utilisateurs d'AWS Glue. Un robot d'indexation peut analyser plusieurs magasins de données en une seule exécution. Une fois terminé, le robot d'indexation crée ou met à jour une ou plusieurs tables dans votre catalogue de données. Les tâches d'extraction, de transformation et de chargement (ETL) que vous définissez dans AWS Glue utilisent ces tables de catalogue de données comme sources et cibles. La tâche d'ETC lit et écrit dans les magasins de données indiqués dans les tables du catalogue de données source et cible.
Les tables AWS Glue peuvent être créées manuellement par l'utilisateur ou automatiquement à l'aide d'un robot d'indexation prédéfini ou personnalisé. Les robots d'indexation se connectent aux magasins de données sous-jacents (par exemple, Amazon S3), appellent des classificateurs pour dériver le schéma des données et créent des tables AWS Glue pour stocker les métadonnées déduites. AWS Glue fournit des classificateurs pour les types de fichier courants, tels que CSV, JSON, Parquet et AVRO.
Mappage entre la base de données IA autonome et la colle AWS
Au cours du processus de synchronisation, des tables externes sont créées dans la base de données Autonomous AI Database dérivée des bases de données AWS Glue Data Catalog et des tables sur Amazon S3.
AWS Glue organise les métadonnées collectées dans les bases de données et les tables. Une base de données AWS Glue est un ensemble de définitions de table relationnelle. Tables AWS Glue qui décrivent le schéma commun et les propriétés des fichiers associés à la table.
AWS Glue suit le modèle relationnel de représentation des attributs. Pour le mappage de schémas hiérarchiques à des schémas relationnels, AWS Glue infère le schéma des données semi-structurées et affleure les données à un schéma relationnel à l'aide d'un processus ETL.
Le tableau suivant représente le mappage entre les concepts du catalogue de données OCI et les concepts du catalogue de données AWS Glue.
| Catalogue de données OCI | Catalogue de données AWS Glue | Oracle Database |
|---|---|---|
| Ressource de données | Base de données | Schéma |
| Dossier | (Intervalle) | Schéma |
| Entité logique | Table | Table |
Flux de travail d'utilisateur pour l'interrogation avec AWS Glue Data Catalog
Le flux de travail utilisateur de base pour l'interrogation des données AWS S3 avec AWS Glue Data Catalog implique la connexion à AWS Glue Data Catalog, la synchronisation avec Autonomous AI Database pour créer automatiquement des tables externes, puis l'interrogation des données S3.
L'administrateur du catalogue de données de base de données crée une connexion entre l'instance de base de données d'IA autonome et une instance de catalogue de données AWS Glue, puis configure et exécute une synchronisation (synchronisation) entre le catalogue de données AWS Glue et la base de données Autonomous AI. Autonomous AI Database crée automatiquement une table externe pour les tables collectées par AWS Glue sur les données stockées dans S3.
L'administrateur d'interrogation du catalogue de données de base de données ou l'administrateur de base de données accorde l'accès en lecture aux tables externes générées afin que les analystes de données et les autres utilisateurs de base de données puissent parcourir et interroger la base de données IA autonome sans avoir à dériver manuellement le schéma pour les sources de données externes et créer des tables externes.
Utilisateurs
Le tableau ci-dessous décrit les différents types d'utilisateur qui effectuent les actions de flux de travail des utilisateurs.
| Utilisateur | Description |
|---|---|
| Administrateur du catalogue de données de base de données | Utilisateur de base de données doté du rôle DCAT_SYNC. |
| Administrateur d'interrogation du catalogue de données de base de données | L'utilisateur de base de données peut accorder l'accès aux tables externes créées automatiquement à d'autres utilisateurs. |
| Analyste des données | Utilisateur de base de données sur Autonomous AI Database interrogeant des données dans AWS S3 soit en interrogeant des tables externes créées automatiquement, soit en interagissant directement avec AWS Glue Data Catalog. |
| Utilisateur du catalogue de données AWS Glue | Utilisateur AWS ayant accès à un catalogue de données AWS Glue. |
| Utilisateur du stockage d'objets AWS S3 | Utilisateur AWS ayant accès aux données stockées dans AWS S3 |
Flux de travail d'utilisateur
Note : L'ensemble DBMS_DCAT est disponible pour effectuer les tâches requises pour interroger le stockage d'objets AWS S3 à l'aide du catalogue de données AWS Glue. Voir Ensemble DBMS_DCAT.
| Action | Qui est l'utilisateur | Description |
|---|---|---|
| Créer des politiques | Administrateur du catalogue de données de base de données | Les données d'identification de l'utilisateur Autonomous AI Database doivent disposer des autorisations appropriées pour accéder au catalogue de données AWS Glue et pour effectuer des lectures à partir du stockage d'objets S3. Plus d'informations : Données d'identification requises et politiques IAM. |
| Créer des données d'identification | Administrateur du catalogue de données de base de données | { : :nomarkdown} <p>Assurez-vous que les données d'identification de base de données sont en place pour accéder au catalogue de données AWS Glue et pour interroger le stockage d'objets S3. L'utilisateur appelle DBMS_CLOUD.CREATE_CREDENTIAL pour créer des données d'identification d'utilisateur.</p><p>Note : Seules les données d'identification Amazon Web Services (AWS) sont prises en charge. Les données d'identification AWS Amazon Resource Names (ARN) ne sont pas prises en charge.</p><p>Informations supplémentaires : Procédure DBMS_CLOUD CREATE_CREDENTIAL,</p> |
| Connectez-vous | Administrateur du catalogue de données de base de données | Établissez une connexion entre une instance de base de données d'IA autonome et une instance de catalogue de données AWS Glue. La connexion utilise les privilèges de l'utilisateur du catalogue de données AWS Glue. Les connexions d'une instance Autonomous AI Database à plusieurs instances AWS Glue Data Catalog sont prises en charge. Pour lancer une connexion entre une instance Autonomous AI Database et une instance AWS Glue Data Catalog, l'utilisateur :
Une fois la connexion établie, Autonomous AI Database stocke les métadonnées associées, telles que l'ID catalogue AWS Glue, la région, le point d'extrémité et les objets de données d'identification. Plus d'informations : Procédure SET_DATA_CATALOG_CONN, Procédure UNSET_DATA_CATALOG_CONN, DBMS_DCAT. SET_DATA_CATALOG_CREDENTIAL, DBMS_DCAT.SET_OBJECT_STORE_CREDENTIAL. |
| Synchroniser | Administrateur du catalogue de données de base de données | L'utilisateur peut démarrer manuellement une synchronisation avec les catalogues de données AWS Glue connectés à l'aide de La synchronisation effectue les opérations suivantes :
|
| Surveiller la synchronisation | Administrateur du catalogue de données de base de données | L'utilisateur peut voir le statut de synchronisation en interrogeant la vue USER_LOAD_OPERATIONS. Une fois le processus de synchronisation terminé, l'utilisateur peut consulter un journal des résultats de la synchronisation, y compris des détails sur les mappings avec des tables externes. |
| Accorder des privilèges | Administrateur d'interrogation du catalogue de données de base de données, administrateur de base de données | L'administrateur d'interrogation du catalogue de données de la base de données ou l'administrateur de base de données doit accorder aux utilisateurs analystes de données les privilèges READ sur les tables externes générées. Cela permet aux analystes de données d'interroger les tables externes générées. |
| Interrogation | Analyste des données | Les analystes de données peuvent examiner les schémas et les tables synchronisés dans les schémas GLUE$* et interroger les tables externes au moyen de tout outil ou application prenant en charge Oracle SQL. Les données de S3 sont accessibles à l'aide des privilèges de l'utilisateur du stockage d'objets AWS S3. Plus d'informations : Exemple : Interrogation avec le catalogue de données AWS Glue |
| Mettre fin aux connexions | Administrateur du catalogue de données de base de données | Pour supprimer une association de catalogue de données existante, l'utilisateur appelle la procédure Cette action n'est effectuée que lorsque vous ne prévoyez plus d'utiliser le catalogue de données AWS Glue connecté et les tables externes dérivées du catalogue. Cette action supprime les métadonnées du catalogue de données AWS Glue et supprime les tables externes synchronisées de l'instance de base de données IA autonome. Plus d'informations : Procédure UNSET_DATA_CATALOG_CONN |
Exemple : Interrogation avec AWS Glue Data Catalog
Cet exemple montre comment exécuter des requêtes sur des jeux de données stockés dans Amazon Simple Storage Service (Amazon S3) à l'aide d'un catalogue de données AWS Glue.
Dans cet exemple, les métadonnées d'un catalogue de données AWS Glue sont inspectées pour voir quels objets Amazon S3 ont déjà été balayés et existent dans le catalogue de données. Autonomous AI Database est ensuite associé au catalogue de données AWS Glue et à Amazon S3. Le catalogue de données est synchronisé avec Autonomous AI Database pour créer des tables externes sur les jeux de données stockés dans Amazon S3. Les tables externes sont utilisées pour interroger les jeux de données dans Amazon S3.
-
Examinez les métadonnées dans AWS Glue Data Catalog.
-
Lancez la console AWS Glue.

-
Naviguez jusqu'au catalogue de données, aux bases de données et aux tables pour rechercher des objets existants.
Dans cet exemple, certains objets existent dans Amazon S3 pour lesquels AWS Glue a précédemment balayé et créé des tables, comme illustré ci-dessous :

-
-
Associer AWS Glue à Autonomous AI Database.
-
Créez des données d'identification dans Autonomous AI Database.
L'appel de procédure suivant inclut l'ID d'accès et la clé secrète pour fournir à Autonomous AI Database l'accès aux données sous-jacentes dans Amazon S3.
exec dbms_cloud.create_credential('CRED_AWS','<access id>', '<access key>'); -
Associez les informations d'identification au catalogue de données AWS Glue et au stockage d'objets Amazon S3.
Ces appels de procédure associent respectivement le catalogue de données et le stockage d'objets aux informations d'identification et de connexion.
exec dbms_dcat.set_data_catalog_credential('CRED_AWS'); exec dbms_dcat.set_object_store_credential('CRED_AWS'); -
Configurez une région AWS dans laquelle Glue s'exécute.
exec dbms_dcat.set_data_catalog_conn(region => 'us-west-2', catalog_type=>'AWS_GLUE');
-
-
Synchronisez les métadonnées pour créer des tables externes dans la base de données IA autonome dérivée des bases de données et des tables AWS Glue.
-
Maintenant que l'association est terminée, utilisez la vue
all_glue_databasespour rechercher les bases de données qui se trouvent dans un catalogue de données AWS Glue.select * from all_glue_databases order by name; -
Utilisez la vue
all_glue_tablespour obtenir la liste des tables disponibles pour la synchronisation.select * from all_glue_tables order by database_name, name;
-
Synchronisez la base de données autonome avec deux tables,
storeetitem, trouvées dans la base de donnéesparq.begin dbms_dcat.run_sync( synced_objects => ' { "database_list": [ { "database": "parq", "table_list": ["store","item"] } ] }', error_semantics => 'STOP_ON_ERROR'); end; /
-
-
Inspectez de nouveaux objets dans Autonomous AI Database et exécutez une interrogation au-dessus de S3.
-
Utilisez SQL Developer pour afficher les nouveaux objets créés par l'opération de synchronisation précédente.
Le schéma
GLUE$PARQ_TPCDS_ORACLE_PARQa été généré et nommé automatiquement par l'appel de procéduredbms_dcat.run_sync.
-
Exécutez une interrogation SQL sur les magasins de jeux de données dans Amazon S3.
SELECT * FROM glue$parq_tpcds_oracle_parq.store;
-