Nomenclatura de Arquivo com Saída de Texto (CSV, JSON, Parquet ou XML)
Descreve a nomeação do arquivo de saída usando DBMS_CLOUD.EXPORT_DATA com saída de arquivo de texto CSV, JSON, Parquet ou XML.
DBMS_CLOUD.EXPORT_DATA executa a consulta especificada com o parâmetro query e envia os resultados para arquivos de texto no bucket do Cloud Object Store ou para um diretório. O formato de saída depende do parâmetro format type especificado (um dos seguintes: CSV, JSON, Parquet ou XML).
Para acelerar o procedimento e gerar a saída o mais rápido possível, o DBMS_CLOUD.EXPORT_DATA divide seu trabalho. Isso significa que, dependendo dos recursos do sistema, quando você executa DBMS_CLOUD.EXPORT_DATA, o procedimento cria vários arquivos de saída no bucket do Cloud Object Store ou no diretório.
O formato de cada arquivo gerado é:
[FileNamePrefix | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]
-
FileNamePrefix: (opcional) Se um FileNamePrefix for fornecido, o
DBMS_CLOUD.EXPORT_DATAusará o prefixo de nome de arquivo para gerar nomes de arquivo para os resultados. O FileNamePrefix é especificado usando o texto fornecido após o nome do bucket ou diretório no valor do parâmetrofile_uri_list.Não é possível fornecer vários valores para FileNamePrefix no
file_uri_list. -
client_info_module_action: If a file name prefix is not supplied with the
file_uri_listparameter,DBMS_CLOUD.EXPORT_DATAuses the combination of client_info, application module and action as the file name prefix (when this information is available). O procedimento obtém esses nomes das informações do aplicativo para a sessão do banco de dados que executa a consulta. Consulte DBMS_APPLICATION_INFO para obter informações sobre o nome do client_info, módulo e ação.Se um prefixo de nome de arquivo não for fornecido com o
file_uri_liste os atributos de sessão do banco de dados não estiverem disponíveis, oDBMS_CLOUD.EXPORT_DATAusará o prefixo de nome de arquivo "data". -
sequenceNum: O número de sequência associado à consulta
DBMS_CLOUD.EXPORT_DATA. Dependendo da consulta, do serviço de banco de dados e do número de ECPUs (OCPUs se seu banco de dados usar OCPUs), haverá uma ou mais sequenceNums. Além disso, dependendo do tamanho dos resultados, há um ou mais arquivos de saída para cada sequenceNum.Consulte Gerenciar Simultaneidade e Prioridades no Autonomous AI Database para obter informações sobre serviços de banco de dados.
-
timestamp: Timestamp quando o arquivo é submetido a upload.
-
format_extension: O valor padrão depende do valor
formattype:- Formato CSV:
.csv - Formato JSON:
.json - formato PARQUET
.parquet - Formato XML:
.xml
Para obter mais informações, consulte a descrição da opção
formatfileextensionem DBMS_CLOUD Opções de formato de pacote para EXPORT_DATA. - Formato CSV:
-
compression_extension: Quando você inclui o parâmetro
formatcom a opçãocompressioncom o valorgzip, esse é"gz".Quando o
formattypeéparquet, o valorcompressionsnappytambém é suportado e é o padrão.
Por exemplo, o prefixo de nome de arquivo no procedimento DBMS_CLOUD.EXPORT_DATA a seguir é especificado no parâmetro file_uri_list, como dept_export. O exemplo gera a saída para o Armazenamento de Objetos fornecido no 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;
/
Quando você especifica um prefixo de nome de arquivo, os arquivos de saída gerados incluem o prefixo de nome de arquivo, semelhante ao seguinte:
dept_export_1_20210809T173033Z.json
dept_export_2_20210809T173034Z.json
dept_export_3_20210809T173041Z.json
dept_export_4_20210809T173035Z.json
O número de arquivos de saída gerados depende do tamanho dos resultados, do serviço de banco de dados e do número de ECPUs (OCPUs se o banco de dados usar OCPUs) na instância do Autonomous AI Database.
No exemplo a seguir, o parâmetro file_uri_list não inclui um prefixo de nome de arquivo e o parâmetro compression é fornecido, com o 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;
/
Quando um prefixo de nome de arquivo não está no parâmetro file_uri_list, DBMS_CLOUD.EXPORT_DATA usa um prefixo de nome de arquivo na forma: client_info_módulo_action. Para este exemplo, os arquivos de saída gerados incluem o prefixo de nome de arquivo que DBMS_CLOUD.EXPORT_DATA fornece e os arquivos são compactados com gzip e a extensão de arquivo .gz é adicionada, da seguinte forma:
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 as informações da sessão client_info_módulo_action não estiverem disponíveis quando você executar DBMS_CLOUD.EXPORT_DATA, o prefixo do nome do arquivo será definido como data. Por exemplo:
data_1_20210809T173033Z.json.gz
data_2_20210809T173034Z.json.gz
data_3_20210809T173041Z.json.gz
data_4_20210809T173035Z.json.gzPor exemplo, o prefixo de nome de arquivo no procedimento DBMS_CLOUD.EXPORT_DATA a seguir é especificado no parâmetro file_uri_list, como dept_export. O exemplo gera a saída para o diretório fornecido no 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;
/Quando você especifica um prefixo de nome de arquivo, o arquivo de saída gerado inclui o prefixo de nome de arquivo, semelhante ao seguinte:
sales_1_20230705T124523275915Z.csv
Observações para nomeação de arquivo com DBMS_CLOUD.EXPORT_DATA:
-
O
DBMS_CLOUD.EXPORT_DATAnão cria buckets ou diretórios. -
O número de arquivos que o
DBMS_CLOUD.EXPORT_DATAgera é determinado pelo número de ECPUs (OCPUs se o seu banco de dados usar OCPUs), pelo serviço de banco de dados e pelo tamanho dos dados resultantes. -
O seguinte se aplica ao fornecer um nome de objeto de diretório no parâmetro
file_uri_list:-
O diretório fornecido deve existir e você deve ter acesso
WRITEao diretório. -
O nome do diretório faz distinção entre maiúsculas e minúsculas quando está entre aspas duplas.
-
O parâmetro de nome da credencial não deve ser fornecido.
-
-
Para saída CSV, JSON ou XML, por padrão, quando um arquivo gerado contém 10 MB de dados, um novo arquivo de saída é criado. No entanto, se você tiver menos de 10 MB de dados de resultado, poderá ter vários arquivos de saída, dependendo do serviço de banco de dados e do número de ECPUs (OCPUs se o seu banco de dados usar OCPUs) para a instância do Autonomous AI Database.
O tamanho de bloco do arquivo de saída padrão é de 10 MB para CSV, JSON ou XML. Você pode alterar esse valor com a opção
maxfilesizedo parâmetroformat. Consulte DBMS_CLOUD Opções de Formato de Pacote para EXPORT_DATA para obter mais informações. -
Para a saída Parquet, cada arquivo gerado tem menos de 128 MB e vários arquivos de saída podem ser gerados. No entanto, se você tiver menos de 128 MB de dados de resultado, poderá ter vários arquivos de saída, dependendo do serviço de banco de dados e do número de ECPUs (OCPUs se o seu banco de dados usar OCPUs) para a instância do Autonomous AI Database.
A opção
maxfilesizedo parâmetroformatnão se aplica a arquivos Parquet.
Tópico principal: Exportar Dados para o Armazenamento de Objetos como Texto