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.

Sommaire des sous-programmes DBMS_CLOUD_PIPELINE

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

Sous-programme Description

CREATE_PIPELINE Procédure

Crée un pipeline de données.

DROP_PIPELINE Procédure

Supprime un pipeline de données existant.

RESET_PIPELINE Procédure

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.

RUN_PIPELINE_ONCE Procédure

Exécute une exécution sur demande du pipeline dans la session en avant-plan courante, au lieu d'une tâche programmée.

SET_ATTRIBUTE 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

START_PIPELINE 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 l'"intervalle" configuré dans les attributs de pipeline.

STOP_PIPELINE 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.

CREATE_PIPELINE Procédure

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

Indique le nom du pipeline. Le nom du pipeline doit respecter les règles d'attribution de nom des identificateurs SQL Oracle. Pour plus d'informations, voir Identificateurs.

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 AttributsDBMS_CLOUD_PIPELINE.

description

Description du pipeline.

Valeur par défaut : NULL

DROP_PIPELINE Procédure

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

  • Pour supprimer un pipeline qui est à l'état Démarré, réglez le paramètre force à TRUE.

RESET_PIPELINE Procédure

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

Indique le nom du 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

  • Un pipeline de données doit être à l'état Arrêté pour être réinitialisé. Pour plus d'informations, voir ProcédureSTOP_PIPELINE.

  • Pour un pipeline de chargement, la réinitialisation du pipeline efface l'enregistrement des fichiers en cours de chargement par le pipeline. Lorsque vous appelez START_PIPELINE ou RUN_PIPELINE_ONCE après avoir réinitialisé un pipeline de chargement, celui-ci répète le chargement de données et inclut tous les fichiers présents dans l'emplacement du magasin d'objets.

    Lorsque purge_data est réglé à TRUE, DBMS_CLOUD_PIPELINE.RESET_PIPELINE effectue les opérations suivantes :

    • Tronque les données de la table de base de données du pipeline que vous spécifiez avec l'attribut table_name.

    • Supprime la table de statut du pipeline, ainsi que la table de fichiers incorrects et la table d'erreurs du pipeline (s'ils existent).

  • Pour un pipeline d'exportation, la réinitialisation du pipeline efface les dernières données suivies dans la table de base de données. Lorsque vous appelez START_PIPELINE ou RUN_PIPELINE_ONCE après avoir réinitialisé un pipeline d'exportation, le pipeline répète l'exportation des données à partir de la table ou de l'interrogation.

    Lorsque purge_data est réglé à TRUE, DBMS_CLOUD_PIPELINE.RESET_PIPELINE supprime les fichiers existants dans l'emplacement de magasin d'objets spécifié avec l'attribut location.

RUN_PIPELINE_ONCE Procédure

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

  • Après avoir effectué une exécution de test d'un pipeline, vous pouvez réinitialiser l'état du pipeline à l'aide de DBMS_CLOUD_PIPELINE.RESET_PIPELINE. Cela vous permet de réinitialiser l'état du pipeline avant de démarrer le pipeline dans une tâche programmée.

  • Si un pipeline est à l'état Démarré, il ne peut pas être exécuté dans la session en avant-plan.

SET_ATTRIBUTE Procédure

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

Spécifie le nom d'attribut pour l'attribut à définir.

Pour plus d'informations, voir AttributsDBMS_CLOUD_PIPELINE.

attribute_value

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

Pour plus d'informations, voir AttributsDBMS_CLOUD_PIPELINE.

attributes

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

Pour plus d'informations, voir AttributsDBMS_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.

START_PIPELINE Procédure

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

Indique le nom du 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

  • Par défaut, une tâche de pipeline commence immédiatement, dès que le pipeline est démarré. Pour démarrer une tâche de pipeline ultérieurement, spécifiez une date ou un horodatage valide à l'aide du paramètre start_date.

  • Voir Attributs DBMS_CLOUD_PIPELINE pour plus d'informations sur le pipeline interval et d'autres attributs de pipeline.

STOP_PIPELINE Procédure

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  DEFAULT  FALSE
);

Paramètres

Paramètre Description

pipeline_name

Indique le nom du 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 permettant d'accéder au service de stockage d'objets en nuage source.

Vous pouvez utiliser 'OCI$RESOURCE_PRINCIPAL' comme credential_name lorsque le principal de ressource est activé. Les données d'identification spécifiées avec les éléments suivants sont également prises en charge : Noms de ressource Amazon, Principal de service Azure ou Compte de service Google. Pour plus d'informations, voir Configurer les politiques et les rôles pour accéder aux ressources.

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 sur field_list, voir Utilitaires d'Oracle® Database.

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 Nombre
location

Ce paramètre spécifie l'un des éléments suivants :

  • Liste délimitée par des virgules d'URI de fichier source

  • Un ou plusieurs répertoires et fichiers sources

Vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier dans les URI de fichier source Cloud.

Ce paramètre est obligatoire.

URI de fichier source en nuage

Ce paramètre spécifie une liste délimitée par des virgules d'URI de fichier source ou un ou plusieurs répertoires et fichiers sources.

Les expressions rationnelles ne peuvent être utilisées que lorsque le paramètre regexuri format est réglé à TRUE.

Les caractères "*" et "?" sont considérés comme des caractères génériques lorsque le paramètre regexuri est réglé à FALSE. Lorsque le paramètre regexuri est réglé à TRUE, les caractères "*" et "?" font partie du modèle d'expression rationnelle spécifié.

Les modèles d'expression rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction REGEXP_LIKE.

Exemple utilisant des expressions rationnelles :

location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

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 DBMS_CLOUD.

Voir Condition REGEXP_LIKE pour plus d'informations sur la condition REGEXP_LIKE.

Répertoire

Vous pouvez spécifier un répertoire et un ou plusieurs noms de fichier ou utiliser une liste de répertoires et de noms de fichier séparés par des virgules. 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.

Les expressions rationnelles ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. 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é pour plusieurs caractères, et le caractère "?" peut être utilisé pour un seul caractère. Par exemple :'MY_DIR:*" ou 'MY_DIR:test?'

Pour spécifier plusieurs répertoires, utilisez une liste de répertoires séparés par des virgules : Par exemple :'MY_DIR1:*, MY_DIR2: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 filename commence par une soumission (').

Note

Le format de répertoire pour l'attribut location n'est pas applicable à l'aide de la procédure DBMS_CLOUD_PIPELINE.CREATE_PIPELINE pour créer des pipelines d'exportation.

Cet attribut est obligatoire pour les pipelines LOAD et EXPORT.

LOAD, EXPORT Nombre
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'UC 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.

Exemple :

SELECT warehouse_id, quantity FROM inventories

Valeur par défaut : NULL

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

EXPORT Nombre
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 Nombre
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 qui exécute la procédure.

LOAD, EXPORT Nombre