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 | Tipo de flecha de Apache |
|---|---|---|
BINARY_DOUBLE |
DBL |
DOUBLE |
BINARY_FLOAT |
DBL |
DOUBLE |
DATE |
TIMESTAMP_MILLIS |
TIMESTAMP[MS] |
NUMBER(p,s) |
DBL |
DOUBLE |
NUMBER(p); p<19 |
DECIMAL(p) |
INT64 |
NUMBER(p); p>19 |
DBL |
DOUBLE |
TIMESTAMP(3) |
TIMESTAMP_MILLIS |
TIMESTAMP[MS] |
TIMESTAMP(6) |
TIMESTAMP_MICROS |
TIMESTAMP[US] |
TIMESTAMP(9) |
TIMESTAMP_NANOS |
TIMESTAMP[NS] |
TIMESTAMP(3) WITH LOCAL TIME ZONE |
TIMESTAMP_MILLIS |
TIMESTAMP[MS] |
TIMESTAMP(6) WITH LOCAL TIME ZONE |
TIMESTAMP_MICROS |
TIMESTAMP[US] |
TIMESTAMP(9) WITH LOCAL TIME ZONE |
TIMESTAMP_NANOS |
TIMESTAMP[NS] |
TIMESTAMP(3) WITH TIME ZONE |
TIMESTAMP_MILLIS |
TIMESTAMP[MS] |
TIMESTAMP(6) WITH TIME ZONE |
TIMESTAMP_MICROS |
TIMESTAMP[US] |
TIMESTAMP(9) WITH TIME ZONE |
TIMESTAMP_NANOS |
TIMESTAMP[NS] |
VARCHAR2(4000) |
STRING |
STRING/LARGE_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, TIMESTAMP o TIMESTAMP WITH TIME ZONE 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';Después de cambiar el valor, puede verificar el cambio consultando la vista 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.