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 de Parquet | Tipo de Seta do 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 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 de Parquet, o Autonomous AI Database lê os valores desses parâmetros na tabela NLS_SESSION_PARAMETERS. O Autonomous AI Database usa esses valores para converter os tipos de dados Oracle DATE, TIMESTAMP ou TIMESTAMP WITH TIME ZONE em tipos de Parquet.
Os parâmetros NLS_SESSION_PARAMETERS suportam uma máscara de formato RR (especificação de dois anos de caracteres).
A máscara de formato RR para o ano não é suportada para esses parâmetros quando você exporta dados para 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, você deve alterar o valor do formato para o valor suportado para exportar dados para 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';Depois de alterar o valor, você poderá verificar a alteração consultando a view 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.