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ámetrofile_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. - Formato CSV:
-
compression_extension: cuando se incluye el parámetro
format
con la opcióncompression
con el valorgzip
, es decir,"gz"
.Cuando
format
type
esparquet
, el valorcompression
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ámetroformat
. 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ámetroformat
no se aplica a los archivos Parquet.
Tema principal: Exportación de datos al almacén de objetos como texto