Opciones de formato del paquete DBMS_CLOUD para Avro, ORC o Parquet

El argumento format en DBMS_CLOUD especifica el formato de los archivos de origen.

Las dos formas de especificar el argumento de formato son las siguientes:

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

Y:

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

Ejemplos:

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

Para especificar varias opciones de formato, separe los valores con una ",".

Por ejemplo:

format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true')
Opción de formato Descripción Sintaxis

maxvarchar

Controla la longitud máxima por defecto de varchar2() para las columnas de caracteres al crear tablas externas en archivos de formato Avro, ORC o Parquet. Las opciones son:

  • standard: especifica que el límite de longitud para las columnas varchar2() es de 4000 bytes. Esto es equivalente a auto en sistemas con MAX_STRING_SIZE = standard.

    En sistemas con MAX_STRING_SIZE = extended, al crear una tabla externa en Avro, ORC o Parquet y especificar maxvarchar como standard, esta abrevia las columnas de caracteres a varchar2(4000).

  • extended: especifica que el límite de longitud para las columnas varchar2() es de 32767 bytes. Esto es equivalente a auto en sistemas con MAX_STRING_SIZE = extended. Este valor genera un error en los sistemas con MAX_STRING_SIZE = standard.

  • auto: el sistema selecciona automáticamente el tamaño máximo de bytes varchar2(), según el valor MAX_STRING_SIZE. El valor auto es el valor por defecto para maxvarchar.

maxvarchar: standard | extended | auto

Valor por defecto:auto

regexuri

Cuando el valor de regexuri se define en TRUE, puede utilizar comodines y expresiones regulares en los nombres de archivo en los URI de archivo de origen de nube.

Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro regexuri se define en FALSE. Cuando el parámetro regexuri se define en TRUE, los caracteres "*" y "?" forman parte del patrón de expresión regular especificado.

Los patrones de expresión regular solo están soportados para el nombre de archivo o la ruta de subcarpeta en los URI y la coincidencia de patrones es idéntica a la realizada por la función REGEXP_LIKE. Los patrones de expresión regular no están soportados para los nombres de directorio.

En el caso de las tablas externas, esta opción solo está soportada con las tablas que se crean en un archivo de Object Storage.

Por ejemplo:

format => JSON_OBJECT('regexuri' value TRUE)

Consulte Condición REGEXP_LIKE para obtener más información sobre la condición REGEXP_LIKE.

regexuri: True

Valor por defecto:False

type

Especifica el tipo del archivo.

type : avro | orc | parquet

schema

Cuando el esquema se define en first o all, las columnas de tabla externa y los tipos de dato se derivan automáticamente de los metadatos del archivo Avro, ORC o Parquet.

Los nombres de columna coincidirán con los que se encuentran en Avro, ORC o Parquet. Los tipos de dato se convierten de tipos de dato Avro, ORC o Parquet a tipos de dato de Oracle. Todas las columnas se agregan a la tabla.

El valor first especifica que se utilicen los metadatos del primer archivo Avro, ORC o Parquet de file_uri_list para generar automáticamente las columnas y sus tipos de dato. Utilice first si todos los archivos tienen el mismo esquema.

El valor all especifica que se utilicen los metadatos de todos los archivos Avro, ORC o Parquet de file_uri_list para generar automáticamente las columnas y sus tipos de dato. Utilice all (más lento) si los archivos pueden tener diferentes esquemas.

Valor por defecto: si se especifica column_list, se ignora el valor schema, si se especifica. Si no se especifica column_list, el valor por defecto schema es first.

Nota: para los archivos de formato Avro, ORC o Parquet, la opción de formato schema no está disponible y se debe especificar el parámetro column_list para las tablas externas particionadas mediante el procedimiento DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE.

schema : first | all