DBMS_CLOUD Mapeamento de Tipo de Dados Oracle para Parquet do Pacote
Descreve o mapeamento de tipos de dados Oracle para tipos de dados Parquet.
Tipo Oracle | Tipo 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 da Sessão NLS
Os parâmetros de sessão NLS NLS_DATE_FORMAT
, NLS_TIMESTAMP_FORMAT
, NLS_TIMESTAMP_TZ_FORMAT
e NLS_NUMERIC_CHARACTERS
definem como a data, o timestamp, o timestamp com formato de fuso horário e o separador de radix para timestamp com marcador decimal devem ser mostrados quando uma tabela com esses tipos de coluna é consultada.
Além disso, quando você exporta dados usando DBMS_CLOUD.EXPORT_DATA
e especifica a saída Parquet, o Autonomous Database lê os valores desses parâmetros na tabela NLS_SESSION_PARAMETERS
. O Autonomous Database usa esses valores para converter os tipos de dados Oracle DATE
ou TIMESTAMP
em tipos Parquet.
Os parâmetros NLS_SESSION_PARAMETERS
suportam uma máscara de formato RR
(especificação de dois caracteres por ano).
A máscara de formato RR
do ano não é suportada para esses parâmetros quando você exporta dados para o Parquet com DBMS_CLOUD.EXPORT_DATA
. Um erro de aplicativo será gerado se você tentar exportar para parquet e o NLS_SESSION_PARAMETERS
estiver definido para usar a máscara de formato RR
(o valor padrão para o formato RR
depende do valor do parâmetro NLS_TERRITORY
).
Quando um dos parâmetros NLS_DATE_FORMAT
, NLS_TIMESTAMP_FORMAT
ou NLS_TIMESTAMP_TZ_FORMAT
usa a máscara de formato RR
, altere o valor do formato para o valor suportado para exportar dados para o Parquet com DBMS_CLOUD.EXPORT_DATA
. Por exemplo:
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');
Se NLS_DATE_FORMAT
for definido, ele se aplicará às colunas com o tipo de dados DATE
. Se NLS_TIMESTAMP_FORMAT
for definido, ele se aplicará às colunas com o tipo de dados TIMESTAMP
. Se NLS_TIMESTAMP_TZ_FORMAT
for definido, ele se aplicará às colunas com o tipo de dados TIMESTAMP WITH TIME ZONE
.
Consulte Parâmetros de Data e Hora e Views do Dicionário de Dados NLS para obter mais informações.
Tópico principal: DBMS_CLOUD Suporte a Avro, ORC e Parquet