Esportare i dati come parquet nello storage degli oggetti cloud

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

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

  1. Connettersi all'istanza di Autonomous Database.

    See Connect to Autonomous Database for more information.

  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 Usa principal risorsa 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 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 per un bucket esistente nello storage degli oggetti cloud e includere un prefisso del 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 informazioni dettagliate, vedere Denominazione file per 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 Procedure.

    Per informazioni dettagliate sui parametri format disponibili, è possibile utilizzare DBMS_CLOUD.EXPORT_DATA, vedere DBMS_CLOUD Package Format Options for 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 oppure i comandi dello storage degli oggetti cloud nativo 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 hanno limitazioni sul supporto per l'esportazione di Parquet con DBMS_CLOUD.EXPORT_DATA:

    Tipo specifico Oracle Note

    BFILE

    Non supportato

    BLOB

    Non supportato

    DATE

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

    Per i dettagli 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 trattato internamente come stringa

    INTERVAL YEAR TO MONTH

    Supportato e trattato internamente come stringa

    LONG

    Non supportato

    LONG RAW

    Non supportato

    NUMBER

    Supportato con le seguenti limitazioni:

    • Può avere una precisione massima di 38 e una scala uguale a meno della precisione.
    • Se non viene fornita alcuna precisione e scala per il tipo di colonna NUMBER, per impostazione predefinita viene utilizzata la precisione 38 e la scala 20.
    • La scala negativa non è supportata per i tipi NUMBER.

    Object Types

    Non supportato

    TIMESTAMP

    Supportato con le seguenti limitazioni:

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

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