Export de données en tant que parquet vers le stockage d'objet cloud

Présente les étapes consistant à exporter des données de table à partir d'Autonomous Database vers le stockage d'objet cloud au format de données Parquet en indiquant une requête.

Cette méthode d'export prend en charge tous les stockages d'objet cloud pris en charge par Autonomous Database. Vous pouvez utiliser un principal de ressource Oracle Cloud Infrastructure pour accéder à Oracle Cloud Infrastructure Object Store, des noms de ressource Amazon pour accéder à AWS Simple Storage Service (S3), un principal de service Azure pour accéder au stockage BLOB Azure, Azure Data Lake Storage, ou un compte de service Google pour accéder aux ressources Google Cloud Platform (GCP).

  1. Connectez-vous à votre instance Autonomous Database.

    Pour plus d'informations, reportez-vous à Connexion à Autonomous Database.

  2. Stockez vos informations d'identification de stockage d'objet cloud à l'aide de DBMS_CLOUD.CREATE_CREDENTIAL.

    Par exemple :

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'user1@example.com',
        password => 'password'
      );
    END;
    /

    Les valeurs fournies pour username et password dépendent du service Cloud Object Storage que vous utilisez .

    La création d'informations d'identification pour accéder à Oracle Cloud Infrastructure Object Storage n'est pas requise si vous activez les informations d'identification de principal de ressource. Pour plus d'informations, reportez-vous à Utilisation du principal de ressource pour accéder aux ressources Oracle Cloud Infrastructure.

  3. Exécutez DBMS_CLOUD.EXPORT_DATA et indiquez le paramètre de format type sur la valeur parquet pour exporter les résultats en tant que fichiers de parquet sur le stockage d'objet cloud.
    Pour générer les fichiers de sortie du parquet, deux options sont disponibles pour le paramètre file_uri_list :
    • Définissez la valeur file_uri_list sur l'URL d'un bucket existant sur votre stockage d'objet cloud.

    • Définissez la valeur file_uri_list sur l'URL d'un bucket existant dans votre cloud Object Storage et ajoutez un préfixe de nom de fichier à utiliser lors de la génération des noms de fichier pour les fichiers parquet exportés.

    Si vous n'ajoutez pas de préfixe de nom de fichier dans file_uri_list, DBMS_CLOUD.EXPORT_DATA fournit un préfixe de nom de fichier. Pour plus d'informations, reportez-vous à Dénomination de fichier pour la sortie texte (CSV, JSON, Parquet ou XML).

    L'exemple suivant montre DBMS_CLOUD.EXPORT_DATA avec un préfixe de nom de fichier indiqué dans file_uri_list :

    BEGIN
      DBMS_CLOUD.EXPORT_DATA(
        credential_name => 'DEF_CRED_NAME',
        file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
        query           => 'SELECT * FROM DEPT',
        format          => JSON_OBJECT('type' value 'parquet', 'compression' value 'snappy'));
    END;
    /

    Dans cet exemple, namespace-string est l'espace de noms de stockage d'objet Oracle Cloud Infrastructure et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.

    Pour obtenir des informations détaillées sur les paramètres, reportez-vous à Procédure EXPORT_DATA.

    Pour plus d'informations sur les paramètres format disponibles que vous pouvez utiliser avec DBMS_CLOUD.EXPORT_DATA, reportez-vous à Options de format de package DBMS_CLOUD pour EXPORT_DATA.

Remarques relatives à l'export avec DBMS_CLOUD.EXPORT_DATA :

  • Le paramètre query que vous indiquez peut être une requête avancée, si nécessaire, telle qu'une requête incluant des jointures ou des sous-requêtes.

  • Pour compresser les fichiers de sortie, indiquez le paramètre de format sur l'option compression. La valeur par défaut de compression pour type parquet est snappy.

  • Lorsque vous n'avez plus besoin des fichiers exportés, utilisez la procédure DBMS_CLOUD.DELETE_OBJECT ou utilisez des commandes natives du stockage d'objet cloud pour supprimer les fichiers.

  • See DBMS_CLOUD Package Oracle Data Type to Parquet Mapping for details on Oracle Type to Parquet Type mapping.

    Les types suivants ne sont pas pris en charge ou présentent des limites quant à leur prise en charge pour l'export de Parquet avec DBMS_CLOUD.EXPORT_DATA :

    Type Oracle Remarques

    BFILE

    Non pris en charge

    BLOB

    Non pris en charge

    DATE

    Prise en charge avec la limitation suivante : le format DATE ne prend en charge que la date, le mois et l'année. Les heures, les minutes et les secondes ne sont pas prises en charge.

    Pour plus d'informations sur les limites de format NLS pour l'export de DATE vers Parquet, reportez-vous à Mise en correspondance de types de données Oracle vers Parquet dans un package DBMS_CLOUD.

    INTERVAL DAY TO SECOND

    Pris en charge et traité en tant que chaîne en interne

    INTERVAL YEAR TO MONTH

    Pris en charge et traité en tant que chaîne en interne

    LONG

    Non pris en charge

    LONG RAW

    Non pris en charge

    NUMBER

    Pris en charge avec les limitations suivantes :

    • Peut avoir une précision maximale de 38 et une échelle inférieure à la précision.
    • Si aucune précision et échelle n'est fournie pour le type de colonne NUMBER, la précision par défaut 38 et l'échelle 20 sont utilisées.
    • L'échelle négative n'est pas prise en charge pour les types NUMBER.

    Object Types

    Non pris en charge

    TIMESTAMP

    Pris en charge avec les limitations suivantes :

    • S'il y a plusieurs colonnes avec une précision différente, la plus haute précision sera prise.
    • TIMESTAMP WITH TIME ZONE Le type de données Oracle utilise uniquement l'horodatage.

    Pour plus d'informations sur les limites de format NLS pour l'export de TIMESTAMP vers Parquet, reportez-vous à Mise en correspondance de types de données Oracle vers Parquet dans un package DBMS_CLOUD.