Esporta dati come parquet nello storage degli oggetti cloud

Mostra i passi per esportare i dati delle tabelle da Autonomous Database nello storage degli oggetti cloud come dati Parquet specificando una query.

Questo metodo di esportazione supporta tutti gli archivi degli oggetti cloud supportati da Autonomous Database ed è possibile utilizzare un principal delle risorse Oracle Cloud Infrastructure per accedere all'area di memorizzazione degli oggetti Oracle Cloud Infrastructure, ai nomi delle risorse Amazon (ARN) per accedere ad AWS Simple Storage Service (S3), a un principal del servizio Azure per accedere allo storage BLOB di Azure o allo storage Azure Data Lake oppure a un account del servizio Google per accedere alle risorse Google Cloud Platform (GCP).

  1. Connettersi all'istanza di Autonomous Database.

    Per ulteriori informazioni, consulta la sezione relativa alla connessione ad Autonomous Database.

  2. Memorizzare le credenziali dello storage degli oggetti cloud utilizzando DBMS_CLOUD.CREATE_CREDENTIAL.

    Ad esempio:

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

    I valori forniti per username e password dipendono dal servizio di storage degli oggetti cloud in uso.

    La creazione di una credenziale per accedere all'area di memorizzazione degli oggetti di Oracle Cloud Infrastructure non è necessaria se si abilitano le credenziali del principal risorsa. Per ulteriori informazioni, consulta la sezione relativa all'uso del principal delle risorse per accedere alle risorse di Oracle Cloud Infrastructure.

  3. Eseguire DBMS_CLOUD.EXPORT_DATA e specificare il parametro format type con il valore parquet per esportare i risultati come file di parquet nello storage degli oggetti cloud.
    Per generare i file di output del parquet sono disponibili due opzioni per il parametro file_uri_list:
    • Impostare il valore file_uri_list sull'URL per un bucket esistente nello storage degli oggetti cloud.

    • Impostare il valore file_uri_list sull'URL di un bucket esistente nello storage degli oggetti cloud e includere un prefisso di nome file da utilizzare durante la generazione dei nomi file per i file parquet esportati.

    Se non si include il prefisso del nome file nel file file_uri_list, DBMS_CLOUD.EXPORT_DATA fornisce un prefisso del nome file. Per ulteriori informazioni, vedere Denominazione dei file per l'output di testo (CSV, JSON, Parquet o XML).

    Ad esempio, quanto segue mostra DBMS_CLOUD.EXPORT_DATA con un prefisso di nome file specificato in 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;
    /

    In questo esempio, namespace-string è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.

    Per informazioni dettagliate sui parametri, vedere EXPORT_DATA Procedura.

    Per informazioni dettagliate sui parametri format disponibili che è possibile utilizzare con DBMS_CLOUD.EXPORT_DATA, vedere DBMS_CLOUD Opzioni formato pacchetto per EXPORT_DATA.

Note per l'esportazione con DBMS_CLOUD.EXPORT_DATA:

  • Il parametro query fornito può essere una query avanzata, se necessario, ad esempio una query che include join o subquery.

  • Specificare il parametro format con l'opzione compression per comprimere i file di output. Il valore predefinito compression per type parquet è snappy.

  • Quando non sono più necessari i file esportati, utilizzare la procedura DBMS_CLOUD.DELETE_OBJECT o i comandi nativi dello storage degli oggetti cloud per eliminare i file.

  • Per informazioni dettagliate sul mapping tra tipo Oracle e tipo di parquet, vedere DBMS_CLOUD Mapping tra tipo di dati Oracle e tipo di parquet.

    I seguenti tipi non sono supportati o prevedono limitazioni per il supporto per l'esportazione di Parquet con DBMS_CLOUD.EXPORT_DATA:

    Tipo Oracle Note

    BFILE

    Non supportata

    BLOB

    Non supportata

    DATE

    Supportato con la seguente limitazione: il formato DATE supporta solo data, mese e anno. Ora, minuti e secondi non sono supportati.

    Per informazioni dettagliate sulle limitazioni del formato NLS per l'esportazione di DATE in Parquet, vedere DBMS_CLOUD Package Oracle Data Type to Parquet Mapping.

    INTERVAL DAY TO SECOND

    Supportato e considerato come stringa internamente

    INTERVAL YEAR TO MONTH

    Supportato e considerato come stringa internamente

    LONG

    Non supportata

    LONG RAW

    Non supportata

    NUMBER

    Supportato dalle seguenti limitazioni:

    • Può avere una precisione massima di 38 e una scala inferiore alla precisione.
    • Se per la colonna NUMBER non sono disponibili precisione e scala, per impostazione predefinita viene utilizzata la precisione 38 e la scala 20.
    • La scala negativa non è supportata per i tipi NUMBER.

    Object Types

    Non supportata

    TIMESTAMP

    Supportato dalle seguenti limitazioni:

    • Se sono presenti più colonne con precisione diversa, verrà eseguita la massima precisione.
    • TIMESTAMP WITH TIME ZONE Il tipo di dati Oracle utilizzerà solo l'indicatore orario.

    Per informazioni dettagliate sulle limitazioni del formato NLS per l'esportazione di TIMESTAMP in Parquet, vedere DBMS_CLOUD Package Oracle Data Type to Parquet Mapping.