Opções de Formato de Pacote DBMS_CLOUD para Avro, ORC ou Parquet

O argumento de formato em DBMS_CLOUD especifica o formato dos arquivos de origem.

As duas maneiras de especificar o argumento de formatação são:

format => '{"format_option" : “format_value” }'  

E:

format => json_object('format_option' value 'format_value'))

Exemplos:

format => json_object('type' VALUE 'CSV')

Para especificar várias opções de formato, separe os valores com uma vírgula (",").

Por exemplo:

format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true')
Opção de Formato Descrição Sintaxe

maxvarchar

Controla o tamanho máximo padrão de varchar2() para colunas de caracteres ao criar tabelas externas em arquivos de formato Avro, ORC ou Parquet. As opções são:

  • standard: Especifica que o limite de tamanho para colunas varchar2() é de 4000 bytes. Isso é equivalente a auto em sistemas com MAX_STRING_SIZE = standard.

    Em sistemas com MAX_STRING_SIZE = extended, quando você cria uma tabela externa no Avro, ORC ou Parquet e especifica maxvarchar como standard, isso reduz as colunas de caracteres para varchar2(4000).

  • extended: Especifica que o limite de tamanho para colunas varchar2() é 32767 bytes. Isso é equivalente a auto em sistemas com MAX_STRING_SIZE = extended. Este valor gera um erro nos sistemas com MAX_STRING_SIZE = standard.

  • auto: O sistema seleciona automaticamente o tamanho máximo de byte varchar2(), com base no valor MAX_STRING_SIZE. O valor auto é o valor padrão para maxvarchar.

maxvarchar: standard | extended | auto

Valor padrão:auto

regexuri

Quando o valor de regexuri é definido como TRUE, você pode usar curingas, bem como expressões regulares nos nomes de arquivos nos URIs do arquivo de origem da Nuvem.

Os caracteres "*" e "?" são considerados caracteres curinga quando o parâmetro regexuri é definido como FALSE. Quando o parâmetro regexuri é definido como TRUE, os caracteres "*" e "?" fazem parte do padrão de expressão regular especificado.

Só há suporte para padrões de expressão regular no nome do arquivo ou no caminho da subpasta em seus URIs, e a correspondência de padrões é idêntica à executada pela função REGEXP_LIKE. Padrões de expressão regular não são suportados para nomes de diretório.

Para tabelas externas, essa opção só é suportada com as tabelas criadas em um arquivo no Object Storage.

Por exemplo:

format => JSON_OBJECT('regexuri' value TRUE)

Consulte REGEXP_LIKE Condição para obter mais informações sobre a condição REGEXP_LIKE.

regexuri: True

Valor padrão:False

type

Especifica o tipo de arquivo.

type : avro | orc | parquet

schema

Quando o esquema é definido como first ou all, as colunas e os tipos de dados da tabela externa são derivados automaticamente dos metadados do arquivo Avro, ORC ou Parquet.

Os nomes das colunas corresponderão aos encontrados em Avro, ORC ou Parquet. Os tipos de dados são convertidos de tipos de dados Avro, ORC ou Parquet em tipos de dados Oracle. Todas as colunas são adicionadas à tabela.

O valor first especifica o uso dos metadados do primeiro arquivo Avro, ORC ou Parquet no file_uri_list para gerar automaticamente as colunas e seus tipos de dados. Use first se todos os arquivos tiverem o mesmo esquema.

O valor all especifica o uso dos metadados de todos os arquivos Avro, ORC ou Parquet no file_uri_list para gerar automaticamente as colunas e seus tipos de dados. Use all (mais lento) se os arquivos tiverem esquemas diferentes.

Padrão: Se column_list for especificado, o valor schema, se especificado, será ignorado. Se column_list não for especificado, o valor padrão schema será first.

Observação: Para arquivos de formato Avro, ORC ou Parquet, a opção de formato schema não está disponível e o parâmetro column_list deve ser especificado para tabelas externas particionadas usando o procedimento DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE.

schema : first | all