Nombre de archivo para salida de texto (CSV, JSON, Parquet o XML)

Describe la denominación de los archivos de salida mediante DBMS_CLOUD.EXPORT_DATA con salida de archivo de texto CSV, JSON, Parquet o XML.

DBMS_CLOUD.EXPORT_DATA realiza la consulta especificada con el parámetro query y envía los resultados a los archivos de texto del cubo del almacén de objetos en la nube o a un directorio. El formato de salida depende del parámetro format type que especifique (uno de los parámetros CSV, JSON, Parquet o XML).

Para acelerar el procedimiento y generar la salida lo más rápido posible, DBMS_CLOUD.EXPORT_DATA divide su trabajo. Esto significa que, según los recursos del sistema, al ejecutar DBMS_CLOUD.EXPORT_DATA, el procedimiento crea varios archivos de salida en el cubo del almacén de objetos en la nube o en el directorio.

El formato de cada archivo generado es:

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

  • FileNamePrefix: (Opcional) si se proporciona FileNamePrefix, DBMS_CLOUD.EXPORT_DATA utiliza el prefijo del nombre de archivo para generar nombres de archivo para los resultados. FileNamePrefix se especifica mediante el texto proporcionado después del nombre del directorio o del cubo en el valor del parámetro file_uri_list.

    No puede proporcionar varios valores para FileNamePrefix en 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). El procedimiento obtiene estos nombres de la información de la aplicación para la sesión de base de datos que ejecuta la consulta. Consulte DBMS_APPLICATION_INFO para obtener información sobre el nombre de client_info, module y action.

    Si no se proporciona un prefijo de nombre de archivo con file_uri_list y los atributos de sesión de base de datos no están disponibles, DBMS_CLOUD.EXPORT_DATA utiliza el prefijo de nombre de archivo "data".

  • sequenceNum: número de secuencia asociado a la consulta DBMS_CLOUD.EXPORT_DATA. Según la consulta, el servicio de base de datos y el número de ECPU (OCPU si la base de datos utiliza OCPU), hay uno o más valores sequenceNum. Además, según el tamaño de los resultados, hay uno o más archivos de salida para cada valor sequenceNum.

    Consulte Gestión de la simultaneidad y las prioridades en Autonomous Database para obtener información sobre los servicios de base de datos.

  • timestamp: registro de hora cuando se carga el archivo.

  • format_extension: el valor por defecto depende del valor format type:

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

    Para obtener más información, consulte la descripción de la opción format fileextension en DBMS_CLOUD Package Format Options for EXPORT_DATA.

  • compression_extension: cuando se incluye el parámetro format con la opción compression con el valor gzip, es decir, "gz".

    Cuando format type es parquet, el valor compression snappy también está soportado y es el valor por defecto.

Por ejemplo, el prefijo del nombre de archivo en el siguiente procedimiento DBMS_CLOUD.EXPORT_DATA se especifica en el parámetro file_uri_list, como dept_export. El ejemplo genera la salida en el almacén de objetos proporcionado en el formato especificado.

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;
/

Al especificar un prefijo de nombre de archivo, los archivos de salida generados incluyen el prefijo de nombre de archivo, similar al siguiente:

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

El número de archivos de salida generados depende del tamaño de los resultados, del servicio de la base de datos y del número de ECPU (OCPU si la base de datos utiliza OCPU) en la instancia de Autonomous Database.

En el siguiente ejemplo, el parámetro file_uri_list no incluye un nombre de archivo y se proporciona el parámetro compression, con el valor 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;
/

When a file name prefix is not in the file_uri_list parameter, DBMS_CLOUD.EXPORT_DATA uses a file name prefix of the form: client_info_module_action. Para este ejemplo, los archivos de salida generados incluyen el prefijo de nombre de archivo que proporciona DBMS_CLOUD.EXPORT_DATA y los archivos se comprimen con gzip y se agrega la extensión de archivo .gz, de la siguiente manera:

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

Si la información de la sesión client_info_módulo_acción no está disponible cuando ejecuta DBMS_CLOUD.EXPORT_DATA, el prefijo del nombre de archivo se define en data. Por ejemplo:

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

Por ejemplo, el prefijo del nombre de archivo en el siguiente procedimiento DBMS_CLOUD.EXPORT_DATA se especifica en el parámetro file_uri_list, como dept_export. El ejemplo genera la salida en el directorio proporcionado en el formato especificado.

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

Al especificar un prefijo de nombre de archivo, el archivo de salida generado incluye el prefijo de nombre de archivo, similar al siguiente:

sales_1_20230705T124523275915Z.csv

Notas sobre la asignación de nombres de archivos con DBMS_CLOUD.EXPORT_DATA:

  • DBMS_CLOUD.EXPORT_DATA does not create buckets or directories.

  • El número de archivos que genera DBMS_CLOUD.EXPORT_DATA viene determinado por el número de ECPU (OCPU si la base de datos utiliza OCPU), el servicio de base de datos y el tamaño de los datos de resultado.

  • Lo siguiente se aplica al proporcionar un nombre de objeto de directorio en el parámetro file_uri_list:

    • El directorio proporcionado debe existir y debe tener acceso WRITE al directorio.

    • El nombre del directorio es sensible a mayúsculas/minúsculas cuando está entre comillas dobles.

    • No se debe proporcionar el parámetro de nombre de credencial.

  • Para la salida CSV, JSON o XML, por defecto cuando un archivo generado contiene 10 MB de datos, se crea un nuevo archivo de salida. Sin embargo, si tiene menos de 10 MB de datos de resultados, puede tener varios archivos de salida, según el servicio de base de datos y el número de ECPU (OCPU si la base de datos utiliza OCPU) para la instancia de Autonomous Database.

    El tamaño de fragmento del archivo de salida por defecto es 10 MB para CSV, JSON o XML. Puede cambiar este valor con la opción maxfilesize del parámetro format. Consulte DBMS_CLOUD Package Format Options for EXPORT_DATA para obtener más información.

  • Para la salida de Parquet, cada archivo generado tiene menos de 128 MB y se pueden generar varios archivos de salida. Sin embargo, si tiene menos de 128 MB de datos de resultados, puede tener varios archivos de salida según el servicio de base de datos y el número de ECPU (OCPU si la base de datos utiliza OCPU) para la instancia de Autonomous Database.

    La opción maxfilesize del parámetro format no se aplica a los archivos Parquet.