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

Describe la nomenclatura del archivo 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 archivos de texto en el 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 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 el siguiente:

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

  • FileNamePrefix: (opcional) si se proporciona FileNamePrefix, DBMS_CLOUD.EXPORT_DATA utiliza el prefijo de nombre de archivo para generar nombres de archivo para los resultados. FileNamePrefix se especifica mediante el texto proporcionado después del nombre del cubo o directorio 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 la base de datos que ejecuta la consulta. Consulte DBMS_APPLICATION_INFO para obtener información sobre el nombre client_info, module y el nombre 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 una o más sequenceNum. Además, según el tamaño de los resultados, hay uno o más archivos de salida para cada sequenceNum.

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

  • registro de hora: 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: al incluir el parámetro format con la opción compression con el valor gzip, se trata de "gz".

    Cuando format type es parquet, también se soporta el valor compression snappy y es el valor por defecto.

Por ejemplo, el prefijo de nombre de archivo en el siguiente procedimiento DBMS_CLOUD.EXPORT_DATA se especifica en el parámetro file_uri_list, como dept_export. En el ejemplo se genera la salida para 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, el servicio de base de datos y el 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 prefijo de 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;
/

Cuando un prefijo de nombre de archivo no está en el parámetro file_uri_list, DBMS_CLOUD.EXPORT_DATA utiliza un prefijo de nombre de archivo con el formato: client_info_módulo_acción. Para este ejemplo, los archivos de salida generados incluyen el prefijo de nombre de archivo que DBMS_CLOUD.EXPORT_DATA proporciona 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 al ejecutar DBMS_CLOUD.EXPORT_DATA, el prefijo del nombre de archivo se establece 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 de 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 para la nomenclatura de archivos con DBMS_CLOUD.EXPORT_DATA:

  • DBMS_CLOUD.EXPORT_DATA no crea cubos ni directorios.

  • 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 resultados.

  • 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 distingue entre mayúsculas y minúsculas cuando se incluye 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 predeterminado es de 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 de Parquet.