Création et configuration de pipelines

Vous pouvez créer des pipelines de chargement ou d'exportation. Lorsque vous créez un pipeline, vous utilisez des paramètres et définissez des attributs de pipeline pour configurer le pipeline.

Voici les options permettant de créer et de configurer un pipeline :

Création et configuration d'un pipeline pour le chargement de données

Vous pouvez créer un pipeline pour charger des données de fichiers externes dans la banque d'objets vers des tables dans Autonomous Database.

Un pipeline de chargement consomme les données placées dans la banque d'objets et les charge dans une table d'Autonomous Database. Lorsque vous créez un pipeline de chargement, ce dernier est exécuté à intervalles réguliers pour utiliser les données placées dans la banque d'objets, lorsque de nouveaux fichiers de données arrivent, le pipeline charge les nouvelles données. Vous pouvez également utiliser un pipeline pour copier de manière fiable des fichiers, avec des fonctionnalités de reprise et de nouvelle tentative, de la banque d'objets vers une table de la base de données.

Avec un pipeline de chargement, le package de pipeline utilise DBMS_CLOUD.COPY_DATA pour charger les données.

Sur votre instance Autonomous Database, utilisez une table existante ou créez la table de base de données dans laquelle vous chargez les données. Par exemple :

CREATE TABLE EMPLOYEE
            (name     VARCHAR2(128),
             age      NUMBER,
             salary   NUMBER);
  1. Créez un pipeline pour charger des données à partir de la banque d'objets.
    BEGIN
         DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
            pipeline_name => 'MY_PIPE1',
            pipeline_type => 'LOAD',
            description   => 'Load metrics from object store into a table'
      );
    END;
    /

    Pour plus d'informations, reportez-vous à Procédure CREATE_PIPELINE.

  2. Créez un objet d'informations d'identification pour accéder à la banque d'objets contenant les fichiers que vous chargez.

    Vous indiquez les informations d'identification de l'emplacement de source de pipeline avec l'attribut credential_name. Si vous ne fournissez pas de valeur credential_name à l'étape suivante, la valeur credential_name est définie sur NULL. Vous pouvez utiliser la valeur NULL par défaut lorsque l'attribut location est une URL publique ou pré-authentifiée.

    Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

  3. Définissez les attributs de pipeline, y compris les attributs requis : location, table_name et format.
    BEGIN
         DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
           pipeline_name => 'MY_PIPE1',
           attributes    => JSON_OBJECT(
                'credential_name' VALUE 'OBJECT_STORE_CRED',
                'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
                'table_name' VALUE 'employee',
                'format' VALUE '{"type":"json", "columnpath":["$.NAME", "$.AGE", "$.SALARY"]}',
                'priority' VALUE 'HIGH',
                'interval' VALUE '20')
      );
    END;
    /

    Les attributs suivants doivent être définis pour exécuter un pipeline de chargement :

    • location : indique l'emplacement du fichier source dans la banque d'objets.

    • table_name : indique la table de la base de données dans laquelle vous chargez les données. La valeur location que vous indiquez concerne une valeur table_name par pipeline.

    • format : décrit le format des données que vous chargez.

      Pour plus d'informations, reportez-vous à DBMS_CLOUD Options de format de package.

    credential_name correspond aux informations d'identification que vous avez créées à l'étape précédente.

    La valeur priority détermine le nombre de fichiers chargés en parallèle. Un pipeline avec une priorité plus élevée consomme plus de ressources de base de données et exécute chaque exécution plus rapidement, par rapport à une exécution avec une priorité plus faible.

    La valeur interval indique l'intervalle de temps en minutes entre les exécutions consécutives d'un travail de pipeline. L'intervalle interval par défaut est de 15 minutes.

    Pour plus de détails sur les attributs de pipeline, reportez-vous à Attributs DBMS_CLOUD_PIPELINE.

    Après avoir créé un pipeline, vous pouvez le tester ou le démarrer :

Vous pouvez également utiliser le format suivant pour définir le format JSON :

BEGIN
    DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
        pipeline_name   => 'MY_PIPE1',
        attribute_name  => 'format',
        attribute_value => JSON_OBJECT('type' value 'json', 'columnpath' value '["$.NAME", "$.AGE", "$.SALARY"]')
    );
END;
/

Création et configuration d'un pipeline pour l'export avec une colonne d'horodatage

Vous pouvez créer un pipeline d'export pour exporter automatiquement les données de série temporelle de votre instance Autonomous Database vers la banque d'objets.

A l'aide de cette option de pipeline d'export, vous indiquez une table ou une requête SQL et une colonne avec un horodatage que le pipeline utilise pour suivre l'heure du dernier téléchargement. Vous pouvez utiliser un pipeline d'export pour partager des données à des fins de consommation par d'autres applications ou pour enregistrer des données dans la banque d'objets.

Avec un pipeline d'export, le package de pipeline utilise DBMS_CLOUD.EXPORT_DATA pour exporter des données.

Un pipeline d'export exporte des données de votre instance Autonomous Database vers la banque d'objets. Lorsque vous créez un pipeline d'export, ce dernier est exécuté à intervalles réguliers et place les données dans la banque d'objets.

  1. Créez un pipeline pour exporter des données vers la banque d'objets.
    BEGIN
         DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
            pipeline_name=>'EXP_PIPE1',
            pipeline_type=>'EXPORT',
            description=>'Export time series metrics to object store');
    END;
    /

    Pour plus d'informations, reportez-vous à Procédure CREATE_PIPELINE.

  2. Créez un objet d'informations d'identification pour accéder à l'emplacement de la banque d'objets de destination où vous exportez les fichiers de données.

    Vous indiquez les informations d'identification de l'emplacement de destination de pipeline avec l'attribut credential_name. Si vous ne fournissez pas de valeur credential_name à l'étape suivante, la valeur credential_name est définie sur NULL. Vous pouvez utiliser la valeur NULL par défaut lorsque l'attribut location est une URL publique ou pré-authentifiée.

    Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

  3. Définissez les attributs de pipeline d'export.

    Lorsque vous indiquez un paramètre table_name, les lignes de table sont exportées vers la banque d'objets. Lorsque vous indiquez un paramètre query, la requête indique une instruction SELECT de sorte que seules les données requises soient exportées vers la banque d'objets.

    • Utilisation d'un paramètre table_name :

      BEGIN
           DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
             pipeline_name => 'EXP_PIPE1',
             attributes    => JSON_OBJECT('credential_name' VALUE 'OBJECT_STORE_CRED',
                'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
                'table_name' VALUE 'metric_table',
                'key_column' VALUE 'metric_time',
                'format' VALUE '{"type": "json"}',
                'priority' VALUE 'MEDIUM',
                'interval' VALUE '20')
        );
      END;
      /
    • Utilisation d'un paramètre query :

      BEGIN
           DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
             pipeline_name => 'EXP_PIPE1',
             attributes    => JSON_OBJECT('credential_name' VALUE 'OBJECT_STORE_CRED',
                 'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
                 'query' VALUE 'SELECT * from metrics_table',
                 'key_column' VALUE 'metric_time',
                 'format' VALUE '{"type": "json"}',
                 'priority' VALUE 'MEDIUM',
                 'interval' VALUE '20')
        );
      END;
      /

    credential_name correspond aux informations d'identification que vous avez créées à l'étape précédente.

    Les attributs suivants doivent être définis pour exécuter un pipeline d'export :

    • location : indique l'emplacement de la banque d'objets de destination. La valeur location que vous indiquez concerne une valeur table_name par pipeline.

    • table_name : indique la table de la base de données qui contient les données que vous exportez (le paramètre table_name ou le paramètre query est requis).

    • query : indique la requête à exécuter dans la base de données qui fournit les données que vous exportez (le paramètre table_name ou le paramètre query est requis).

    • format : décrit le format des données que vous exportez.

      Pour plus d'informations, reportez-vous à DBMS_CLOUD Options de format de package pour EXPORT_DATA.

    La valeur priority détermine le degré de parallélisme pour l'extraction des données de la base de données.

    La valeur interval indique l'intervalle de temps en minutes entre les exécutions consécutives d'un travail de pipeline. L'intervalle interval par défaut est de 15 minutes.

    Pour plus de détails sur les attributs de pipeline, reportez-vous à Attributs DBMS_CLOUD_PIPELINE.

    Après avoir créé un pipeline, vous pouvez le tester ou le démarrer :

Création et configuration d'un pipeline pour exporter des résultats de requête (sans horodatage)

Vous pouvez créer un pipeline d'export pour exporter automatiquement les données de votre instance Autonomous Database vers la banque d'objets. A l'aide de cette option de pipeline d'export, vous indiquez une requête SQL que le pipeline exécute régulièrement pour exporter des données vers la banque d'objets. Vous pouvez utiliser cette option d'export pour partager les dernières données de votre instance Autonomous Database vers la banque d'objets afin que d'autres applications puissent les utiliser.

Un pipeline d'export exporte des données de votre instance Autonomous Database vers la banque d'objets. Lorsque vous créez un pipeline d'export, ce dernier est exécuté à intervalles réguliers et place les données dans la banque d'objets.

  1. Créez un pipeline pour exporter des données vers la banque d'objets.
    BEGIN
         DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
            pipeline_name=>'EXP_PIPE2',
            pipeline_type=>'EXPORT',
            description=>'Export query results to object store.');
    END;
    /

    Pour plus d'informations, reportez-vous à Procédure CREATE_PIPELINE.

  2. Créez un objet d'informations d'identification pour accéder à l'emplacement de la banque d'objets de destination où vous exportez les fichiers de données.

    Vous indiquez les informations d'identification de l'emplacement de destination de pipeline avec l'attribut credential_name. Si vous ne fournissez pas de valeur credential_name à l'étape suivante, la valeur credential_name est définie sur NULL. Vous pouvez utiliser la valeur NULL par défaut lorsque l'attribut location est une URL publique ou pré-authentifiée.

    Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

  3. Définissez les attributs de pipeline d'export.
    BEGIN
         DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
           pipeline_name => 'EXP_PIPE2',
           attributes    => JSON_OBJECT(
              'credential_name' VALUE 'OBJECT_STORE_CRED',
              'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
              'query' VALUE 'SELECT * FROM table_name',
              'format' VALUE '{"type": "json"}',
              'priority' VALUE 'MEDIUM',
              'interval' VALUE '20')
      );
    END;
    /

    credential_name correspond aux informations d'identification que vous avez créées à l'étape précédente.

    Les attributs suivants doivent être définis pour exécuter un pipeline d'export :

    • location : indique l'emplacement de la banque d'objets de destination.

    • query : indique la requête à exécuter dans la base de données qui fournit les données que vous exportez.

    • format : décrit le format des données que vous exportez.

      Pour plus d'informations, reportez-vous à DBMS_CLOUD Options de format de package pour EXPORT_DATA.

    La valeur priority détermine le degré de parallélisme pour l'extraction des données de la base de données.

    La valeur interval indique l'intervalle de temps en minutes entre les exécutions consécutives d'un travail de pipeline. L'intervalle interval par défaut est de 15 minutes.

    Pour plus de détails sur les attributs de pipeline, reportez-vous à Attributs DBMS_CLOUD_PIPELINE.

    Après avoir créé un pipeline, vous pouvez le tester ou le démarrer :