O procedimento DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
suporta arquivos particionados externos nos serviços de armazenamento de objetos na nuvem suportados. A credencial é uma propriedade em nível de tabela; portanto, os arquivos externos devem estar no mesmo armazenamento de objetos.
Por exemplo:
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name =>'PET1',
credential_name =>'DEF_CRED_NAME',
format => json_object('delimiter' value ',', 'recorddelimiter' value 'newline', 'characterset' value 'us7ascii'),
column_list => 'col1 number, col2 number, col3 number',
partitioning_clause => 'partition by range (col1)
(partition p1 values less than (1000) location
( ''https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/file_11.txt''),
partition p2 values less than (2000) location
( ''https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/file_21.txt''),
partition p3 values less than (3000) location
( ''https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/file_31.txt'') )'
);
END;
/
Os parâmetros são:
-
table_name
: é o nome da tabela externa.
-
credential_name
: é o nome da credencial criada na etapa anterior.
-
partitioning_clause
: é a cláusula de particionamento completa, incluindo as informações de localização para partições individuais.
-
format
: define as opções que você pode especificar para descrever o formato do arquivo-fonte. formato: define as opções que você pode especificar para descrever o formato do arquivo-origem.
Se os dados em seus arquivos de origem forem criptografados, decriptografe os dados especificando o parâmetro format
com a opção encryption
. Consulte Descriptografar Dados Durante a Importação do Serviço Object Storage para obter mais informações sobre como decriptografar dados.
-
column_list
: é uma lista delimitada por vírgulas das definições de coluna nos arquivos de origem.
Neste exemplo, namespace-string
é o namespace do Oracle Cloud Infrastructure Object Storage e bucketname
é o nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.
Agora você pode executar consultas na tabela particionada externa que você criou na etapa anterior. O Autonomous Database aproveita as informações de particionamento da tabela particionada externa, garantindo que a consulta acesse apenas os arquivos de dados relevantes no Object Store. Por exemplo, a consulta a seguir só lê arquivos de dados da partição P1:
SELECT * FROM pet1 WHERE col1 < 750;
As tabelas particionadas externas que você cria com DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
incluem duas colunas invisíveis file$path
e file$name
. Essas colunas ajudam a identificar de qual arquivo um registro está vindo. Consulte Colunas de Metadados da Tabela Externa para obter mais informações.
Se houver linhas nos arquivos de origem que não correspondam às opções de formato especificadas, a consulta reportará um erro. Você pode usar parâmetros DBMS_CLOUD
, como rejectlimit, para suprimir esses erros. Como alternativa, você também pode validar a tabela particionada externa que você criou para ver as mensagens de erro e as linhas rejeitadas, para que você possa alterar suas opções do formato adequadamente. Consulte Validar Dados Externos e Validar Dados Particionados Externos para mais informações.
Consulte CREATE_EXTERNAL_PART_TABLE Procedure para obter informações detalhadas sobre os parâmetros.
Consulte DBMS_CLOUD Formatos de URI para obter mais informações sobre os serviços de armazenamento de objetos na nuvem suportados.