Consultar Tabelas Externas com Particionamento Implícito
No Autonomous Database, você pode criar tabelas externas particionadas implícitas com base em dados particionados no estilo Hive ou de pasta simples armazenados no Armazenamento de Objetos na Nuvem.
- Sobre Tabelas Externas com Particionamento Implícito
No Autonomous Database, use o procedimentoDBMS_CLOUD.CREATE_EXTERNAL_TABLE
para criar tabelas externas particionadas implícitas com base em dados particionados no estilo Hive ou de pasta simples armazenados no Armazenamento de Objetos na Nuvem. - Consultar Dados Particionados Implícitos Externos com Organização de Arquivo de Origem do Formato Hive
Use o procedimentoDBMS_CLOUD.CREATE_EXTERNAL_TABLE
para criar uma tabela externa particionada implícita a partir de dados no Armazenamento de Objetos que foram gerados a partir de dados do Hive. - Consultar Dados de Estilo Não Hive Particionados Implícitos Externos
Use o procedimentoDBMS_CLOUD.CREATE_EXTERNAL_TABLE
para criar uma tabela externa particionada implícita a partir de dados no armazenamento de objetos que foram gerados a partir de dados não Hive.
Tópico principal: Consultar Dados Externos com o Autonomous Database
Sobre Tabelas Externas com Particionamento Implícito
No Autonomous Database, use o procedimento DBMS_CLOUD.CREATE_EXTERNAL_TABLE
para criar tabelas externas particionadas implícitas com base em dados particionados no estilo Hive ou de pasta simples armazenados no Armazenamento de Objetos na Nuvem.
Use o procedimento DBMS_CLOUD.CREATE_EXTERNAL_TABLE
para criar tabelas externas particionadas implícitas. Ao passar as opções apropriadas para este procedimento, as partições são derivadas dos dados de origem. As tabelas externas particionadas suportam a descoberta de runtime de colunas de partição e seus valores. A descoberta de runtime de alterações na estrutura de armazenamento de objetos subjacente, como adicionar ou remover objetos, simplifica o processo de manutenção eliminando a necessidade de procedimentos de sincronização adicionais exigidos pelo DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
. Isso garante que os dados estejam atualizados no tempo de execução da consulta.
Com particionamento implícito, o Autonomous Database determina automaticamente as colunas nas quais uma tabela é "particionada" com base na estrutura de arquivos hierárquicos da origem de armazenamento de objetos. Não há necessidade de declarar explicitamente um esquema de particionamento. O particionamento implícito oferece benefícios de desempenho semelhantes a tabela de partição sem a necessidade de definir explicitamente uma tabela externa particionada usando o procedimento DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
.
Tabelas externas particionadas implícitas suportam os seguintes estilos de nomeação para objetos particionados no armazenamento de objetos:
- Formato de Nomeação do Hive: Os dados no armazenamento de objetos que foram gerados no Hive têm o seguinte formato.
OBJBUCKET/<table>/<partcol1>=<value1>/<partcol2>=<value2>/file.parquet
Para obter um exemplo, consulte Query External Implicit Partitioned Data with Hive Format Source File Organization
- Formato de Nomeação "Pathtail" não Hive: Um segundo formato que geralmente é encontrado em data lakes é semelhante ao formato hive, mas o nome da pasta não inclui as colunas de partição.
OBJBUCKET/<table>/<value1>/<value2>/file.parquet
Para obter um exemplo, consulte Consultar Dados de Estilo Não Hive Particionados Implícitos Externos.
Para obter mais informações sobre formatos de nomeação, consulte Sobre Tabelas Externas com Particionamento de Arquivo de Origem.
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
, tabelas externas particionadas implícitas podem ser criadas das seguintes maneiras:
- Defina o tipo de partição como hive com uma determinada lista de colunas de partição
Nesse caso,
implicit_partition_type
é definido comohive
eimplicit_partition_columns
fornece uma lista de colunas de partição.Por exemplo:
DBMS_CLOUD.CREATE_EXTERNAL_TABLE ( table_name => 'mysales', credential_name => 'mycredential', file_uri_list => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/*.parquet', column_list => 'product varchar2(100), units number, country varchar2(100),year (number), month varchar2(2)', format => '{"type":"parquet", "implicit_partition_type":"hive", "implicit_partition_columns":["country","year","month"]}');
- Defina o tipo de partição como hive sem fornecer uma lista de colunas de partição
Nesse caso,
implicit_partition_type
é definido comohive
eimplicit_partition_columns
não é fornecido. As colunas de partição são detectadas automaticamente procurando '=' no caminho especificado porfile_uri_list
. Ocolumn_name
está à esquerda de '=' e o valor está no lado direito. Se umcolumn_name
não for encontrado no caminho, um erro será gerado.Por exemplo:
DBMS_CLOUD.CREATE_EXTERNAL_TABLE ( table_name => 'mysales', credential_name => 'mycredential', file_uri_list => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/*.parquet', column_list => 'product varchar2(100), units number, country varchar2(100),year (number), month varchar2(2)', format => '{"type":"parquet", "implicit_partition_type":"hive"');
- Forneça uma lista de colunas de partição sem especificar o tipo
Nesse caso,
implicit_partition_type
não está definido eimplicit_partition_columns
fornece uma lista de colunas.Por exemplo:
DBMS_CLOUD.CREATE_EXTERNAL_TABLE ( table_name => 'mysales', credential_name => 'mycredential', file_uri_list => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/*.parquet', column_list => 'product varchar2(100), units number, country varchar2(100),year (number), month varchar2(2)', format => '{"type":"parquet", "implicit_partition_columns":["country","year","month"]}');
Consulte Procedimento CREATE_EXTERNAL_TABLE para obter informações adicionais.
Tópico principal: Consultar Tabelas Externas com Particionamento Implícito
Consultar Dados Particionados Implícitos Externos com Organização de Arquivo de Origem no Formato Hive
Use o procedimento DBMS_CLOUD.CREATE_EXTERNAL_TABLE
para criar uma tabela externa particionada implícita com base nos dados do Armazenamento de Objetos que foram gerados com base nos dados do Hive.
Os arquivos de origem de amostra no exemplo a seguir, usam este formato de nomeação:
OBJBUCKET/<table>/<partcol1>=<value1>/<partcol2>=<value2>/file.parquet
Considere os seguintes arquivos de origem de amostra:
OBJBUCKET/sales/country=USA/year=2024/month=01/sales-2024-01.parquet
OBJBUCKET/sales/country=USA/year=2024/month=02/sales-2024-02.parquet
OBJBUCKET/sales/country=USA/year=2024/month=02/sales-2024-03.parquet
Para criar uma tabela externa particionada implícita com dados armazenados nesse formato Hive de amostra:
Tópico principal: Consultar Tabelas Externas com Particionamento Implícito
Consultar Dados de Estilo Não Hive Particionados Implícitos Externos
Use o procedimento DBMS_CLOUD.CREATE_EXTERNAL_TABLE
para criar uma tabela externa particionada implícita com base nos dados do armazenamento de objetos que foram gerados de dados que não são do Hive.
Os arquivos de origem de amostra no exemplo a seguir, usam este formato de nomeação:
OBJBUCKET/<table>/<value1>/<value2>/file.parquet
Considere os seguintes arquivos de origem de amostra:
OBJBUCKET/sales/USA/2024/01/sales-2024-01.parquet
OBJBUCKET/sales/USA/2024/01/sales-2024-02.parquet
OBJBUCKET/sales/USA/2024/01/sales-2024-03.parquet
Para criar uma tabela externa particionada implícita com dados armazenados nesse formato Hive de amostra:
Tópico principal: Consultar Tabelas Externas com Particionamento Implícito