Ensemble DBMS_CLOUD_PIPELINE

L'ensemble DBMS_CLOUD_PIPELINE vous permet de créer des pipelines de données pour charger et exporter des données dans le nuage. Ce package prend en charge le chargement incrémentiel continu des données des fichiers du magasin d'objets dans la base de données. DBMS_CLOUD_PIPELINE prend également en charge l'exportation incrémentielle continue des données de table ou des résultats d'interrogation de la base de données vers le magasin d'objets en fonction d'une colonne d'horodatage.

Conditions requises

En tant que développeur, vous pouvez utiliser les procédures DBMS_CLOUD avec des bases de données d'IA autonomes déployées sur Oracle Public Cloud, Multicloud ou Exadata Cloud@Customer.

Selon le choix de déploiement, les préalables suivants doivent être respectés pour utiliser les procédures DBMS_CLOUD avec les fournisseurs de services Amazon S3, Azure Blob Storage et Google Cloud Storage.

Sommaire des sous-programmes DBMS_CLOUD_PIPELINE

Ce tableau résume les sous-programmes inclus dans l'ensemble DBMS_CLOUD_PIPELINE.

Sous-programme Description
Procédure CREATE_PIPELINE Crée un pipeline de données.
Procédure DROP_PIPELINE Supprime un pipeline de données existant.
Procédure RESET_PIPELINE Réinitialise l'état de suivi d'un pipeline de données. Utilisez le pipeline de réinitialisation pour redémarrer le pipeline à partir de l'état initial de chargement ou d'exportation des données. Facultativement, la réinitialisation du pipeline peut épurer les données dans la base de données ou dans le magasin d'objets, selon le type de pipeline.
Procédure RUN_PIPELINE_ONCE Exécute une exécution sur demande du pipeline dans la session en avant-plan courante, au lieu d'une tâche programmée.
Procédure SET_ATTRIBUTE Définit les attributs de pipeline. Il existe deux procédures surchargées, l'une pour définir un seul attribut et l'autre pour définir plusieurs attributs à l'aide d'un document JSON de paires nom/valeur d'attribut
Procédure START_PIPELINE Démarre le pipeline de données. Lorsqu'un pipeline est démarré, l'opération de pipeline s'exécute en continu dans une tâche programmée en fonction de l'"intervalle" configuré dans les attributs de pipeline.
Procédure STOP_PIPELINE Arrête le pipeline de données. Lorsqu'un pipeline est arrêté, aucune tâche future n'est programmée pour le pipeline.

Procédure CREATE_PIPELINE

La procédure crée un nouveau pipeline de données.

Syntaxe

DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
      pipeline_name        IN   VARCHAR2,
      pipeline_type        IN   VARCHAR2,
      attributes           IN   CLOB        DEFAULT NULL,
      description          IN   VARCHAR2    DEFAULT NULL
);

Paramètres

Paramètre Description
pipeline_name

Spécifie un nom pour le pipeline. Le nom du pipeline doit respecter les règles d'attribution de nom des identificateurs SQL Oracle. Pour plus d'informations, voir Identificateurs dans Informations de référence sur le langage PL/SQL pour Oracle Database Database ou Informations de référence sur le langage PL/SQL pour Oracle Database 26ai Database.

Ce paramètre est obligatoire.

pipeline_type

Spécifie le type de pipeline.

Valeurs valides : LOAD, EXPORT

Ce paramètre est obligatoire.

attributes

Attributs de pipeline au format JSON.

Valeur par défaut : NULL

Pour plus d'informations, voir Attributs DBMS_CLOUD_PIPELINE.

description

Description du pipeline.

Valeur par défaut : NULL

Procédure DROP_PIPELINE

La procédure supprime un pipeline de données existant. Si un pipeline a été démarré, il doit être arrêté avant d'être supprimé.

Syntaxe

DBMS_CLOUD_PIPELINE.DROP_PIPELINE(
       pipeline_name        IN   VARCHAR2,
       force                IN   BOOLEAN DEFAULT FALSE
 );

Paramètres

Paramètre Description
pipeline_name

Spécifie un nom de pipeline.

Ce paramètre est obligatoire.

force

Supprimez de force un pipeline, même s'il est à l'état Démarré.

Valeurs valides : TRUE, FALSE

Valeur par défaut : FALSE

Note d'utilisation

Procédure RESET_PIPELINE

Réinitialise l'état de suivi d'un pipeline de données. Utilisez le pipeline de réinitialisation pour redémarrer le pipeline à partir de l'état initial de chargement ou d'exportation des données. Facultativement, la réinitialisation du pipeline peut épurer les données dans la base de données ou dans le magasin d'objets, selon le type de pipeline. Un pipeline de données doit être à l'état Arrêté pour être réinitialisé.

Syntaxe

DBMS_CLOUD_PIPELINE.RESET_PIPELINE(
       pipeline_name        IN   VARCHAR2,
       purge_data           IN   BOOLEAN DEFAULT FALSE
 );

Paramètres

Paramètre Description
pipeline_name

Spécifie un nom pour le pipeline.

Ce paramètre est obligatoire.

purge_data

L'épuration des données s'applique à un pipeline de chargement ou à un pipeline d'exportation :

  • Pour un pipeline de chargement, lorsque TRUE, tronquez les données de la table de base de données.

  • Pour un pipeline d'exportation, lorsque TRUE, supprimez les fichiers de l'emplacement du magasin d'objets.

Valeurs valides : TRUE, FALSE

Valeur par défaut : FALSE

Notes d'utilisation

Procédure RUN_PIPELINE_ONCE

Cette procédure effectue une exécution sur demande du pipeline dans la session en avant-plan courante, au lieu d'une exécution dans une tâche programmée. Utilisez DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE pour tester un pipeline avant de le démarrer en tant que tâche continue.

Syntaxe

DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE(
       pipeline_name  IN  VARCHAR2
);

Paramètres

Paramètre Description
pipeline_name

Spécifie un nom pour l'exécution du pipeline.

Ce paramètre est obligatoire.

Notes d'utilisation

Procédure SET_ATTRIBUTE

Cette procédure définit les attributs de pipeline. Il existe deux procédures surchargées, l'une pour définir un seul attribut et l'autre pour définir plusieurs attributs à l'aide d'un document JSON de paires nom/valeur d'attribut.

Syntaxe

PROCEDURE DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
      pipeline_name        IN   VARCHAR2,
      attribute_name       IN   VARCHAR2,
      attribute_value      IN   CLOB
);

PROCEDURE DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
      pipeline_name        IN   VARCHAR2,
      attributes           IN   CLOB
);

Paramètres

Paramètre Description
pipeline_name

Spécifie un nom pour le pipeline de définition des attributs.

Ce paramètre est obligatoire.

attribute_name

Indique le nom de l'attribut à définir.

Pour plus d'informations, voir Attributs DBMS_CLOUD_PIPELINE.

attribute_value

Spécifie la valeur de l'attribut de pipeline à définir.

Pour plus d'informations, voir Attributs DBMS_CLOUD_PIPELINE.

attributes

Spécifie un document JSON contenant des noms et des valeurs d'attribut.

Pour plus d'informations, voir Attributs DBMS_CLOUD_PIPELINE.

Note d'utilisation

Lorsque vous utilisez DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE pour définir plusieurs attributs avec le paramètre attributes, tous les attributs existants sont supprimés et remplacés par les attributs spécifiés dans le document JSON.

Procédure START_PIPELINE

La procédure démarre le pipeline de données. Lorsqu'un pipeline est démarré, l'opération de pipeline s'exécute en continu dans une tâche programmée en fonction de interval configurée avec les attributs de pipeline.

Syntaxe

DBMS_CLOUD_PIPELINE.START_PIPELINE(
      pipeline_name        IN   VARCHAR2,
      start_date           IN   TIMESTAMP WITH TIME ZONE DEFAULT NULL
);

Paramètres

Paramètre Description
pipeline_name

Spécifie un nom pour le pipeline.

Ce paramètre est obligatoire.

start_date

Spécifie la date de début de la tâche de pipeline.

Valeur par défaut : NULL

Notes d'utilisation

Procédure STOP_PIPELINE

La procédure arrête le pipeline de données. Lorsqu'un pipeline est arrêté, aucune tâche future n'est programmée pour le pipeline.

Syntaxe

DBMS_CLOUD_PIPELINE.STOP_PIPELINE(
      pipeline_name        IN   VARCHAR2,
      force                IN   BOOLEAN  DEFAULTFALSE
);

Paramètres

Paramètre Description
pipeline_name

Spécifie un nom pour le pipeline.

Ce paramètre est obligatoire.

force

Si le paramètre force est transmis en tant que TRUE, il mettra fin à toutes les tâches en cours d'exécution pour le pipeline.

Valeurs valides : TRUE, FALSE

Valeur par défaut : FALSE

Attributs DBMS_CLOUD_PIPELINE

Les attributs permettent de contrôler et de configurer le comportement d'un pipeline de données.

Attributs

Note : Comme indiqué dans la colonne Type de pipeline, selon le type de pipeline LOAD ou EXPORT, un pipeline prend en charge un jeu d'attributs différent.

Nom d'attribut Description Type de pipeline Modifiable après le démarrage du pipeline
credential_name

Nom des données d'identification pour accéder au stockage d'objets en nuage source.

Valeur par défaut : NULL.

Si vous n'indiquez pas credential_name, credential_name est réglé à NULL.

LOAD, EXPORT Oui
field_list

Identifie les champs des fichiers sources et leur type de données. La syntaxe de cet argument est identique à celle de la clause field_list dans les tables externes Oracle standard. Pour plus d'informations, voir field_list dans Utilitaires Oracle Database 19c ou Utilitaires Oracle Database 26ai.

Valeur par défaut : NULL

La valeur par défaut spécifie les champs et leurs types de données sont déterminés par les colonnes de la table spécifiée dans l'attribut table_name.

LOAD Oui
format

Options décrivant le format du type de pipeline.

L'extraction de données format n'est pas prise en charge pour un pipeline d'exportation.

Cet attribut est obligatoire pour les pipelines LOAD et EXPORT.

LOAD, EXPORT Oui
interval

Intervalle en minutes entre les exécutions consécutives de la tâche de pipeline programmée.

Valeur par défaut : 15 minutes

LOAD, EXPORT Oui
key_column

Une colonne d'horodatage ou de date dans table ou query spécifié pour exporter des données plus récentes en continu vers le magasin d'objets. L'horodatage ou la date de la dernière exécution est suivi par le pipeline d'exportation et comparé à la valeur dans key_column pour identifier les nouvelles données à exporter vers le magasin d'objets.

Valeur par défaut : NULL

Si key_column n'est pas spécifié pour un pipeline d'exportation, tout le contenu de table ou query est chargé dans le magasin d'objets de chaque exécution de tâche de pipeline.

EXPORT Non
location

Ce paramètre spécifie l'URI du fichier source ou les répertoires et les fichiers sources. Vous pouvez utiliser des caractères génériques dans les noms de fichier.

Ce paramètre est obligatoire.

URI de fichier source en nuage

Vous pouvez spécifier un URI de fichier source pour le seau ou le sous-dossier. Vous pouvez utiliser des caractères génériques pour spécifier des sous-dossiers ou des modèles de nom de fichier. Le caractère "\*" peut être utilisé comme caractère générique pour plusieurs caractères, et le caractère "?" peut être utilisé comme caractère générique pour un seul caractère.

Exemple utilisant des caractères génériques :

location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv

Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez. Pour plus de détails, voir Formats d'URI du service de stockage d'objets en nuage.

Répertoire

Vous pouvez spécifier un répertoire et un nom de fichier. Le format pour spécifier un répertoire est 'MY_DIR:filename.ext'. Par défaut, le nom de répertoire MY_DIR est un objet de base de données non sensible à la casse. Le nom du fichier est sensible à la casse.

Vous ne pouvez utiliser que des caractères génériques pour spécifier des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé comme caractère générique pour plusieurs caractères, et le caractère "?" peut être utilisé comme caractère générique pour un seul caractère.

Par exemple : 'MY_DIR:*" ou 'MY_DIR:test?'

Utilisez des guillemets doubles pour spécifier un nom de répertoire sensible à la casse.

Par exemple : '"my_dir1":*, "my_dir2":Test?'

Pour inclure un caractère de guillemet, utilisez deux guillemets.

Par exemple : 'MY_DIR:''filename.ext'. Cela spécifie que le nom de fichier commence par un guillemet (').

   
priority

Spécifie une valeur de chaîne qui détermine le nombre d'opérations parallèles effectuées pour le pipeline.

  • Dans un pipeline de chargement, il détermine le nombre de fichiers chargés en parallèle.

  • Dans un pipeline d'exportation, il détermine le degré de parallélisme pour l'extraction des données de la base de données.

Une opération avec une priorité plus élevée consomme plus de ressources de base de données et est terminée plus tôt.

Valeurs valides :

  • HIGH : Détermine le nombre de fichiers parallèles traités à l'aide du nombre d'ECPU de la base de données (nombre d'OCPU si votre base de données utilise des OCPU).
  • MEDIUM : Détermine le nombre de processus simultanés à l'aide de la limite d'accès simultané pour le service Medium. La valeur par défaut est 4.
  • LOW : Exécutez la tâche de pipeline dans l'ordre des numéros de série.

Valeur par défaut : MEDIUM

Le nombre maximal d'opérations de fichier concurrent est limité à 64.

LOAD, EXPORT Oui
query

Spécifie un énoncé SELECT afin que seules les données requises soient exportées. L'interrogation détermine le contenu des fichiers que vous exportez en tant que fichiers texte (CSV, JSON, Parquet ou XML) ou fichiers de vidage.

Par exemple :

SELECT warehouse_id, quantity FROM inventories;

Valeur par défaut : NULL

Pour un pipeline d'exportation, table_name ou query est obligatoire.

EXPORT Non
table_name

Spécifie le nom de la table cible pour le chargement ou l'exportation des données.

Pour un pipeline de chargement, table_name est obligatoire.

Pour un pipeline d'exportation, table_name ou query est obligatoire.

LOAD, EXPORT Non
table_owner

Nom du schéma dans lequel réside la table cible pour le chargement ou l'exportation des données.

Valeur par défaut : NULL

Avec une valeur NULL, la table cible se trouve dans le même schéma que l'utilisateur exécutant la procédure.

LOAD, EXPORT Non

Contenu connexe