Denominazione file per output testo (CSV, JSON, parquet o XML)

Descrive la denominazione dei file di output utilizzando DBMS_CLOUD.EXPORT_DATA con l'output di file di testo CSV, JSON, Parquet o XML.

DBMS_CLOUD.EXPORT_DATA esegue la query specificata con il parametro query e invia i risultati ai file di testo nel bucket dell'area di memorizzazione degli oggetti cloud o in una directory. Il formato di output dipende dal parametro format type specificato (uno dei seguenti: CSV, JSON, Parquet o XML).

Per accelerare la procedura e generare l'output il più velocemente possibile, DBMS_CLOUD.EXPORT_DATA divide il suo lavoro. Ciò significa che, a seconda delle risorse di sistema, quando si esegue DBMS_CLOUD.EXPORT_DATA, la procedura crea più file di output nel bucket dell'area di memorizzazione degli oggetti cloud o nella directory.

Il formato per ogni file generato è:

[FileNamePrefix | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]

  • FileNamePrefix: (facoltativo) se si fornisce un valore FileNamePrefix, DBMS_CLOUD.EXPORT_DATA utilizza il prefisso del nome file per generare i nomi dei file per i risultati. Il valore FileNamePrefix viene specificato utilizzando il testo fornito dopo il nome del bucket o della directory nel valore del parametro file_uri_list.

    Non è possibile fornire più valori per FileNamePrefix nel file file_uri_list.

  • client_info_module_action: If a file name prefix is not supplied with the file_uri_list parameter, DBMS_CLOUD.EXPORT_DATA uses the combination of client_info, application module and action as the file name prefix (when this information is available). La procedura ottiene questi nomi dalle informazioni dell'applicazione per la sessione di database che esegue la query. Vedere DBMS_APPLICATION_INFO per informazioni su client_info, nome modulo e nome azione.

    Se il prefisso del nome file non viene fornito con file_uri_list e gli attributi della sessione del database non sono disponibili, DBMS_CLOUD.EXPORT_DATA utilizza il prefisso del nome file "data".

  • sequenceNum: numero di sequenza associato alla query DBMS_CLOUD.EXPORT_DATA. A seconda della query, del servizio di database e del numero di ECPU (OCPU, se il database utilizza le OCPU), sono disponibili uno o più sequenceNum. Inoltre, a seconda delle dimensioni dei risultati, sono disponibili uno o più file di output per ogni sequenceNum.

    Per informazioni sui servizi di database, vedere Gestire l'accesso concorrente e le priorità in Autonomous Database.

  • indicatore orario: indicatore orario quando il file viene caricato.

  • format_extension: il valore predefinito dipende dal valore format type:

    • Formato CSV: .csv
    • Formato JSON: .json
    • Formato PARQUET .parquet
    • Formato XML: .xml

    Per ulteriori informazioni, vedere la descrizione dell'opzione format fileextension in DBMS_CLOUD Opzioni formato pacchetto per EXPORT_DATA.

  • compression_extension: quando si include il parametro format con l'opzione compression con il valore gzip, il valore è "gz".

    Se format type è parquet, è supportato anche il valore compression snappy, che è l'impostazione predefinita.

Ad esempio, il prefisso del nome file nella seguente procedura DBMS_CLOUD.EXPORT_DATA è specificato nel parametro file_uri_list, come dept_export. L'esempio genera l'output nell'area di memorizzazione degli oggetti fornita nel formato specificato.

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 'json'));
END;
/

Quando si specifica un prefisso di nome file, i file di output generati includono il prefisso di nome file, simile al seguente:

dept_export_1_20210809T173033Z.json
dept_export_2_20210809T173034Z.json
dept_export_3_20210809T173041Z.json
dept_export_4_20210809T173035Z.json

Il numero di file di output generati dipende dalla dimensione dei risultati, dal servizio di database e dal numero di ECPU (OCPU, se il database utilizza le OCPU) nell'istanza di Autonomous Database.

Nell'esempio seguente il parametro file_uri_list non include un prefisso di nome file e viene fornito il parametro compression con il valore gzip:

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/',
    query           => 'SELECT * FROM DEPT',
    format          => json_object('type' value 'json', 'compression' value 'gzip'));
END;
/

Quando un prefisso di nome file non si trova nel parametro file_uri_list, DBMS_CLOUD.EXPORT_DATA utilizza un prefisso di nome file nel formato: client_info_modulo_azione. Per questo esempio i file di output generati includono il prefisso del nome file fornito da DBMS_CLOUD.EXPORT_DATA e i file vengono compressi con gzip e viene aggiunta l'estensione file .gz, come indicato di seguito.

Client1_Module1_Action1_1_20210809T173033Z.json.gz
Client1_Module1_Action1_2_20210809T173034Z.json.gz
Client1_Module1_Action1_3_20210809T173041Z.json.gz
Client1_Module1_Action1_4_20210809T173035Z.json.gz

Se le informazioni sulla sessione client_info_modulo_action non sono disponibili quando si esegue DBMS_CLOUD.EXPORT_DATA, il prefisso del nome file viene impostato su data. Ad esempio:

data_1_20210809T173033Z.json.gz
data_2_20210809T173034Z.json.gz
data_3_20210809T173041Z.json.gz
data_4_20210809T173035Z.json.gz

Ad esempio, il prefisso del nome file nella seguente procedura DBMS_CLOUD.EXPORT_DATA è specificato nel parametro file_uri_list, come dept_export. L'esempio genera l'output nella directory fornita nel formato specificato.

BEGIN
  DBMS_CLOUD.EXPORT_DATA(
    file_uri_list   => 'DATA_PUMP_DIR:sales.json',
    query           => 'SELECT * FROM SALES',
    format          => JSON_OBJECT('type' value 'json'));
END;
/

Quando si specifica un prefisso di nome file, il file di output generato include il prefisso di nome file, simile al seguente:

sales_1_20230705T124523275915Z.csv

Note per la denominazione dei file con DBMS_CLOUD.EXPORT_DATA:

  • DBMS_CLOUD.EXPORT_DATA non crea bucket o directory.

  • Il numero di file generati da DBMS_CLOUD.EXPORT_DATA è determinato dal numero di ECPU (OCPU, se il database utilizza OCPU), dal servizio di database e dalla dimensione dei dati dei risultati.

  • Quando si fornisce un nome oggetto directory nel parametro file_uri_list, si applica quanto riportato di seguito.

    • La directory specificata deve esistere ed è necessario disporre dell'accesso WRITE alla directory.

    • Il nome della directory fa distinzione tra maiuscole e minuscole quando è racchiuso tra virgolette.

    • Non è necessario fornire il parametro del nome della credenziale.

  • Per l'output CSV, JSON o XML, per impostazione predefinita quando un file generato contiene 10 MB di dati, viene creato un nuovo file di output. Tuttavia, se hai meno di 10 MB di dati dei risultati, potresti avere più file di output, a seconda del servizio di database e del numero di ECPU (OCPU se il tuo database utilizza OCPU) per l'istanza di Autonomous Database.

    La dimensione predefinita del chunk del file di output è 10 MB per CSV, JSON o XML. È possibile modificare questo valore con l'opzione maxfilesize del parametro format. Per ulteriori informazioni, vedere DBMS_CLOUD Opzioni formato pacchetto per EXPORT_DATA.

  • Per l'output Parquet, ogni file generato è inferiore a 128 MB ed è possibile generare più file di output. Tuttavia, se hai meno di 128 MB di dati dei risultati, potresti avere più file di output a seconda del servizio di database e del numero di ECPU (OCPU se il tuo database utilizza OCPU) per l'istanza di Autonomous Database.

    L'opzione maxfilesize del parametro format non si applica ai file Parquet.