Catalogues externes

Créez des catalogues externes pour extraire des données à partir d'un emplacement en dehors d'Oracle AI Data Platform.

Icône de tutoriel Sprint LiveLabs

Les catalogues externes connectent AI Data Platform à des sources de données externes, telles qu'Oracle Autonomous AI Lakehouse, Oracle AI Database et Oracle Autonomous AI Transaction Processing, ainsi qu'à des magasins tiers tels que Snowflake, Azure SQL et MySQL. AI Data Platform repère et synchronise les métadonnées de ces sources dans le catalogue maître, ce qui permet aux utilisateurs de parcourir et d'interroger les tables et schémas distants sans dupliquer les données sous-jacentes.

Les catalogues externes utilisent les informations d'identification fournies lors de la création du catalogue externe pour interroger la source externe. Pour plus d'informations sur les sources de données, reportez-vous à Sources internes.

Par exemple, si vous créez un catalogue externe pour une instance Autonomous AI Lakehouse où les informations d'identification utilisateur Autonomous AI Lakehouse utilisées ont accès à schema1, mais pas à schema2, seul schema1 apparaît dans le catalogue externe. Les utilisateurs disposant de droits d'accès pour le catalogue externe peuvent uniquement interroger le schéma auquel l'utilisateur Autonomous AI Lakehouse a accès.

Remarques :

AI Data Platform ne prend pas en charge la collecte de données à partir de schémas et de tables partagés entre des bases de données pluggables ou à partir de schémas et de tables gérés par Oracle.

Droits d'accès requis pour Autonomous AI Lakehouse et Autonomous AI Transaction Processing

Lorsque vous créez un catalogue externe dans AI Data Platform, les informations d'identification utilisateur que vous utilisez pour vous connecter doivent disposer au moins des autorisations suivantes :
  • CREATE SESSION pour se connecter à la base de données
  • Accès SELECT sur les objets requis (tables/vues/tables externes) via des autorisations de moindre privilège ou un rôle de lecture dédié
  • READ, WRITE sur DIRECTORY DATA_PUMP_DIR
Si vous insérez des données ou que vous créez une table dans le catalogue externe, assurez-vous que l'utilisateur fait partie du DWROLE. Pour plus d'informations, reportez-vous à la documentation Oracle Autonomous AI Transaction Processing, Gérer les privilèges utilisateur sur Autonomous AI Database - Connexion à un outil client.

Limites

L'opération UPDATE n'est pas prise en charge pour les catalogues externes. Utiliser des tables de catalogue externes pour le repérage et l'accès aux requêtes.

Le langage DDL n'est pas pris en charge, même lorsque les informations d'identification utilisées pour créer le catalogue externe sont autorisées à exécuter des instructions DDL.

La casse des noms de table affecte la façon dont la table est créée dans Oracle Autonomous AI Lakehouse :
  • Si vous indiquez le nom de la table en majuscules, la table est créée à l'aide de lettres majuscules et suit le comportement par défaut non sensible à la casse dans Autonomous AI Lakehouse.
  • Si vous indiquez le nom de la table en minuscules, la table est créée en respectant la casse dans Autonomous AI Lakehouse. Les noms de colonne des tables créées via Autonomous AI Lakehouse sont toujours créés en respectant la casse.
  • Les commentaires de colonne source sont limités à 256 octets UTF-8 lors de l'ingestion et de l'actualisation du catalogue externe. La limite est mesurée en octets et non en caractères, de sorte que les commentaires contenant des caractères multioctets peuvent dépasser la limite lorsqu'ils contiennent 256 caractères ou moins. Le dépassement de la limite peut entraîner l'échec de l'inclusion ou de l'actualisation des métadonnées. Réduisez le commentaire de la colonne source à 256 octets UTF-8 ou moins, puis réessayez.

Créer un catalogue externe

Vous pouvez connecter un catalogue à partir de votre instance Oracle AI Data Platform à une source externe.

  1. Cliquez sur Créer dans le panneau de navigation de gauche et sélectionnez Catalogue. Vous pouvez également accéder au catalogue maître et cliquer sur Icône Créer un catalogue Créer un catalogue dans le catalogue maître.
  2. Renseignez les champs de nom et de description.
  3. Dans la liste déroulante Type de catalogue, sélectionnez Catalogue externe.
  4. Sélectionnez le type de source externe.
  5. Indiquez le nom d'utilisateur et le mot de passe, le cas échéant.
  6. SSL est activé par défaut. Décochez la case pour désactiver SSL.
  7. Cliquez sur Créer.
    Les catalogues externes qui extraient des données à partir d'une source externe affichent une icône en forme de cercle.
    Vue de l'arborescence du catalogue principal avec l'icône de rotation En cours en regard du catalogue en surbrillance

    Vous pouvez également surveiller la progression à partir des exécutions de travail.

Création d'un catalogue externe pour les réseaux privés

Vous pouvez créer un catalogue externe qui accède aux sources de données dans un réseau privé.

  1. Cliquez sur Créer dans le panneau de navigation de gauche et sélectionnez Catalogue. Vous pouvez également accéder au catalogue maître et cliquer sur Icône Créer un catalogue Créer un catalogue dans le catalogue maître.
  2. Renseignez les champs de nom et de description.
  3. Dans la liste déroulante Type de catalogue, sélectionnez Catalogue externe.
  4. Sélectionnez le type de source externe :
  5. Indiquez le nom d'utilisateur et le mot de passe, le cas échéant.
  6. SSL est activé par défaut. Décochez la case pour désactiver SSL.
  7. Sélectionnez Activer le réseau privée.
  8. Sélectionnez l'espace de travail avec la configuration de réseau privé souhaitée.
    Pour plus d'informations sur la configuration d'un espace de travail configuré pour les réseaux privés, reportez-vous à Création d'un espace de travail avec accès au réseau privé activé.
  9. Cliquez sur Créer.
    Les catalogues externes qui extraient des données à partir d'une source externe affichent une icône en forme de cercle.
    Vue de l'arborescence du catalogue principal avec l'icône de rotation En cours en regard du catalogue en surbrillance

    Vous pouvez également surveiller la progression à partir des exécutions de travail.

Comment connecter Oracle Autonomous AI Database on Exadata Cloud@Customer à Oracle AI Data Platform

Vous pouvez créer un catalogue externe pour une base de données Oracle Autonomous AI Transaction Processing, Oracle Autonomous AI Database ou Oracle Autonomous AI Lakehouse exécutée sur Oracle Autonomous AI Database on Exadata Cloud@Customer. Lorsque la base de données est accessible uniquement via un réseau privé, configurez un espace de travail AI Data Platform avec un accès au réseau privé et les détails SCAN de la base de données.

La connexion utilise TLS avec un portefeuille d'informations d'identification client.

Exigences

Avant de commencer, vérifiez les points suivants :
  • La base de données est provisionnée et disponible.
  • Vous avez téléchargé le portefeuille d'informations d'identification client de base de données.
  • Vous connaissez le nom de domaine complet SCAN de base de données et le port de processus d'écoute TLS.
  • Le nom SCAN peut être résolu à partir du réseau privé utilisé par l'espace de travail AI Data Platform.
  • Les routages réseau et les règles de sécurité autorisent le trafic entre le réseau de l'espace de travail et le port du processus d'écoute de base de données.
  • Vous êtes autorisé à inspecter le VCN, le sous-réseau et les groupes de sécurité réseau requis.
  • L'utilisateur de base de données dispose des privilèges CREATE SESSION et SELECT sur les schémas et objets que vous souhaitez afficher via le catalogue externe.
  • L'utilisateur de base de données dispose des droits d'accès supplémentaires requis pour les opérations de lecture ou d'écriture prévues.
Seuls les schémas et objets accessibles à l'utilisateur de base de données indiqué sont repérés et ajoutés au catalogue externe.

Créer un espace de travail avec une connectivité privée

Suivez les étapes décrites dans Création d'un espace de travail avec accès au réseau privé activé, avec les modifications suivantes :
  • Fournissez le VCN et le sous-réseau qui fournissent la connectivité à votre environnement Oracle Exadata Cloud@Customer.
  • Sous Options réseau avancées, sélectionnez Mes sources de données nécessitent un accès via un proxy SCAN.
  • Entrez le nom de domaine complet SCAN de la base de données.
  • Entrez le port du processus d'écoute TLS de la base de données.

Créer le catalogue externe

Suivez les étapes fournies dans Création d'un catalogue externe pour les réseaux privés avec les sélections suivantes :
  • Pour Type de source externe, sélectionnez Oracle Autonomous AI Transaction Processing.
  • Pour Méthode de connexion, sélectionnez Portefeuille.
  • Téléchargez le portefeuille des informations d'identification client téléchargé à partir de la base de données.
  • Sélectionnez le service de base de données requis dans le portefeuille.
  • Le cas échéant, indiquez le mot du portefeuille.
  • Sélectionnez l'espace de travail configuré ci-dessus avec accès au réseau de base de données et à l'adresse SCAN.
  • Testez la connexion pour vérifier que tout est configuré correctement.

Valider la connexions

Une fois le catalogue créé et le repérage des métadonnées terminé :
  • Vérifiez que les schémas et les tables attendus apparaissent dans le catalogue externe.
  • Démarrez ou sélectionnez un cluster de calcul dans l'espace de travail privé.
  • Interrogez une table repérée à l'aide de son nom en trois parties :
SELECT *
FROM <catalog_name>.<schema_name>.<table_name>;

Actualiser un catalogue de données externe

Vous pouvez actualiser un catalogue externe dans Oracle AI Data Platform pour synchroniser son contenu avec la source externe.

  1. Dans le panneau de navigation de gauche, cliquez sur Icône Catalogue maître Catalogue maître.
  2. Dans l'arborescence du catalogue principal, sélectionnez le catalogue externe à actualiser.
  3. Cliquez sur icône Actualiser Actualiser.
    Le catalogue externe s'affiche sous Catalogue maître avec une icône en forme de cercle tandis qu'il extrait les données et met à jour les métadonnées de la source externe.
    Vue de l'arborescence du catalogue principal avec l'icône de rotation En cours en regard du catalogue en surbrillance

    Vous pouvez également surveiller la progression à partir des exécutions de travail. Reportez-vous à Surveillance des travaux.

Actualiser un catalogue externe à l'aide de SQL

Vous pouvez utiliser la grammaire SQL pour actualiser les métadonnées d'un catalogue externe, ainsi que son schéma et ses tables, afin de synchroniser le contenu avec la source externe.

Pour actualiser un catalogue externe, utilisez les commandes SQL suivantes dans un bloc-notes :

REFRESH EXTERNAL CATALOG <<catalog_name>>

Pour actualiser un schéma dans un catalogue externe, utilisez :

REFRESH SCHEMA IN EXTERNAL CATALOG <<catalog_name.schema_name>>

Pour actualiser une table dans un schéma d'un catalogue externe, utilisez :

REFRESH TABLE IN EXTERNAL CATALOG <<catalog_name.schema_name.table_name>>

Pour plus d'informations, reportez-vous à Grammaire SQL.

Renommer un catalogue externe

Vous pouvez renommer un catalogue externe si son contenu ou son objectif a changé.

  1. Dans le panneau de navigation de gauche, cliquez sur Icône Catalogue maître Catalogue maître.
  2. Dans l'onglet Catalogues, localisez votre catalogue, cliquez sur Icône Actions à trois points Actions, puis sur Renommer.

    Menu Actions à trois points ouvert pour le catalogue avec Renommer mis en évidence

  3. Modifiez le nom du catalogue et appuyez sur Entrée.

Modifier une description de catalogue externe

Vous pouvez modifier la description d'un catalogue externe si son contenu ou son objectif a changé.

  1. Dans le panneau de navigation de gauche, cliquez sur Icône Catalogue maître Catalogue maître.
  2. Dans l'onglet Catalogues, localisez votre catalogue et cliquez sur Icône Actions à trois points Actions, puis sur Modifier la description.

    Menu Actions à trois points pour un catalogue ouvert avec l'option Modifier la description mise en évidence

  3. Modifiez la description du catalogue et cliquez sur Enregistrer.

Modifier le mot de passe d'un catalogue externe

Vous pouvez mettre à jour le mot de passe requis pour un catalogue externe afin qu'il puisse continuer à accéder à la source.

  1. Dans le panneau de navigation de gauche, cliquez sur Icône Catalogue maître Catalogue maître.
  2. Dans l'onglet Catalogues, localisez votre catalogue et cliquez sur Icône Actions à trois points Actions, puis sur Modifier le mot de passe.
  3. Entrez le nouveau mot de passe du catalogue externe et cliquez sur Enregistrer.

Supprimer un catalogue externe

Vous pouvez supprimer un catalogue externe lorsqu'il n'est plus nécessaire.

La suppression d'un catalogue externe supprime uniquement les métadonnées stockées localement. Les données de la source de données externe ne sont pas affectées.

  1. Dans le panneau de navigation de gauche, cliquez sur Icône Catalogue maître Catalogue maître.
  2. Dans l'onglet Catalogues, localisez votre catalogue, cliquez sur Icône Actions à trois points Actions, puis sur Supprimer.

    Menu Actions à trois points ouvert pour le catalogue avec suppression en surbrillance

  3. Sélectionnez Confirmer la suppression des catalogues.
  4. Cliquez sur Supprimer.

Supprimer des données de tables d'un catalogue externe

Vous pouvez utiliser le chemin d'écriture Spark pour supprimer des lignes d'une table de catalogue externe lorsque le catalogue et la table sont configurés pour prendre en charge la suppression SQL DELETE.

Utiliser l'ID de catalogue pour supprimer des données de table : Exemple Python

from pyspark.sql.types import StructType

df = spark.createDataFrame([], StructType([]))


    df.write
      .format("aidataplatform")
      .option("catalog.id", "<catalog>")
      .option("pushdown.sql", "DELETE FROM <schema>.<target_table> WHERE ID = 2")
      .save()

Utiliser l'ID de catalogue pour supprimer les données de table : Exemple Scala

val df = spark.emptyDataFrame

df.write
  .format("aidataplatform")
  .option("catalog.id", "<catalog>")
  .option("pushdown.sql", "DELETE FROM <schema>.<target_table> WHERE ID = 2")
  .save()

Exemple de type ingestion pour la suppression de données de table : Exemple Python

from pyspark.sql.types import StructType
df = spark.createDataFrame([], StructType([]))

df.write
  .format("aidataplatform")
  .option("data.asset.type", "ORACLE_ALH")
  .option("tns.alias", alhTns)
  .option("user.name", userName)
  .option("wallet.content", alhWalletContent)
  .option("password", alhPassword)
  .option("pushdown.sql", "DELETE FROM ADMIN.PUSHDOWN_FEATURE WHERE ID = 2")
  .save()

Exemple de type ingestion pour la suppression de données de table : Exemple Scala

val df = spark.emptyDataFrame

df.write
  .format("aidataplatform")
  .option("data.asset.type", "ORACLE_ALH")
  .option("tns.alias", alhTns)
  .option("user.name", userName)
  .option("wallet.content", alhWalletContent)
  .option("password", alhPassword)
  .option("pushdown.sql", "DELETE FROM ADMIN.PUSHDOWN_FEATURE WHERE ID = 2")
  .save()