DBMS_CLOUD Asignación de tipo de datos de Oracle a Parquet en el paquete
Describe la asignación de tipos de dato de Oracle a tipos de dato de 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 debe 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, Autonomous Database lee los valores de estos parámetros de la tabla NLS_SESSION_PARAMETERS
. Autonomous Database utiliza estos valores para convertir los tipos de datos 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 produce 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 de NLS para obtener más información.
Tema principal: DBMS_CLOUD Soporte de Avro, ORC y Parquet