Asignación de tipo de dato de Oracle de paquete DBMS_CLOUD a Parquet
Describe la asignación de tipos de dato de Oracle a tipos de dato Parquet.
| Type Oracle | Tipo de parquet |
|---|---|
| BINARY_DOUBLE | DBL |
| BINARY_FLOAT | FLT |
| DATE | DATE |
| NUMBER(p,s) | DECIMAL(p,s) |
| NÚMERO(p) | DECIMAL(p) |
| TIMESTAMP(3) | TIMESTAMP_MILLIS |
| TIMESTAMP(3) | TIMESTAMP_MILLIS_UTC |
| TIMESTAMP(6) | TIMESTAMP_MICROS |
| TIMESTAMP(6) | TIMESTAMP_MICROS_UTC |
| TIMESTAMP(9) | TIMESTAMP_NANOS |
| VARCHAR2(4000) | STRING |
Parámetros de Sesión NLS
Los parámetros de sesión de NLS NLS_DATE_FORMAT, NLS_TIMESTAMP_FORMAT, NLS_TIMESTAMP_TZ_FORMAT y NLS_NUMERIC_CHARACTERS definen cómo se deben mostrar la fecha, el registro de hora, el registro de hora con formato de zona horaria y el separador de radix para el registro de hora con marcador decimal cuando se consulta una tabla con esos tipos de columna.
Además, al exportar datos mediante DBMS_CLOUD.EXPORT_DATA y especificar la salida de Parquet, la base de datos de IA autónoma lee los valores de estos parámetros de la tabla NLS_SESSION_PARAMETERS. La base de datos de IA autónoma utiliza estos valores para convertir los tipos de dato de Oracle DATE o TIMESTAMP en tipos de Parquet.
Los parámetros NLS_SESSION_PARAMETERS soportan una máscara de formato RR (especificación de año de dos caracteres).
La máscara de formato RR para el año no está soportada para estos parámetros al exportar datos a Parquet con DBMS_CLOUD.EXPORT_DATA. Se emite un error de aplicación si intenta exportar a parquet y NLS_SESSION_PARAMETERS se define para utilizar la máscara de formato RR (el valor por defecto para el formato RR depende del valor del parámetro NLS_TERRITORY).
Cuando uno de los parámetros NLS_DATE_FORMAT, NLS_TIMESTAMP_FORMAT o NLS_TIMESTAMP_TZ_FORMAT utiliza la máscara de formato RR, debe cambiar el valor de formato al valor soportado para exportar datos a Parquet con DBMS_CLOUD.EXPORT_DATA. Por ejemplo:
ALTER SESSION SET NLS_DATE_FORMAT = "MM/DD/YYYY";
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH:MI:SS.FF';
ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH:MI:SS.FF TZH:TZM';
NLS_SESSION_PARAMETERS:SELECT value FROM NLS_SESSION_PARAMETERS
WHERE parameter IN ('NLS_DATE_FORMAT','NLS_TIMESTAMP_FORMAT','NLS_TIMESTAMP_TZ_FORMAT');Si se define NLS_DATE_FORMAT, se aplica a las columnas con el tipo de dato DATE. Si se define NLS_TIMESTAMP_FORMAT, se aplica a las columnas con el tipo de dato TIMESTAMP. Si se define NLS_TIMESTAMP_TZ_FORMAT, se aplica a las columnas con el tipo de dato TIMESTAMP WITH TIME ZONE.
Consulte Parámetros de Fecha y Hora y Vistas del Diccionario de Datos NLS para obtener más información.
Tema principal: DBMS_CLOUD Soporte para Avro, ORC y Parquet