DBMS_CLOUD Package di mapping tra tipo di dati Oracle e parquet
Descrive il mapping dei tipi di dati Oracle ai tipi di dati Parquet.
Tipo Oracle | Tipo di parquet |
---|---|
BINARY_DOUBLE | DBL |
BINARY_FLOAT | FLT |
DATE | DATE |
NUMBER(p,s) | DECIMALE(p,s) |
NUMERO(p) | DECIMALE(p) |
INDICATORE ORARIO(3) | TIMESTAMP_MILLIS |
INDICATORE ORARIO(3) | TIMESTAMP_MILLIS_UTC |
INDICATORE ORARIO(6) | TIMESTAMP_MICROS |
INDICATORE ORARIO(6) | TIMESTAMP_MICROS_UTC |
INDICATORE ORARIO(9) | TIMESTAMP_NANOS |
VARCHAR2(4000) | STRING |
Parametri sessione NLS
I parametri della sessione NLS NLS_DATE_FORMAT
, NLS_TIMESTAMP_FORMAT
, NLS_TIMESTAMP_TZ_FORMAT
e NLS_NUMERIC_CHARACTERS
definiscono il modo in cui la data, l'indicatore orario, l'indicatore orario con il formato del fuso orario e il separatore del raggio per l'indicatore orario con l'indicatore decimale devono essere visualizzati quando viene eseguita una query su una tabella con tali tipi di colonna.
Inoltre, quando si esportano i dati utilizzando DBMS_CLOUD.EXPORT_DATA
e si specifica l'output Parquet, Autonomous Database legge i valori di questi parametri dalla tabella NLS_SESSION_PARAMETERS
. Autonomous Database utilizza questi valori per convertire i tipi di dati Oracle DATE
o TIMESTAMP
in tipi Parquet.
I parametri NLS_SESSION_PARAMETERS
supportano una maschera di formato RR
(specifica di due anni di caratteri).
La maschera di formato RR
per l'anno non è supportata per questi parametri quando si esportano dati in Parquet con DBMS_CLOUD.EXPORT_DATA
. Se si tenta di eseguire l'esportazione in parquet e NLS_SESSION_PARAMETERS
è impostato per utilizzare la maschera di formato RR
, viene generato un errore dell'applicazione. Il valore predefinito per il formato RR
dipende dal valore del parametro NLS_TERRITORY
.
Quando uno dei parametri NLS_DATE_FORMAT
, NLS_TIMESTAMP_FORMAT
o NLS_TIMESTAMP_TZ_FORMAT
utilizza la maschera di formato RR
, è necessario modificare il valore del formato in valore supportato per esportare i dati in Parquet con DBMS_CLOUD.EXPORT_DATA
. Ad esempio:
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 è impostato NLS_DATE_FORMAT
, si applica alle colonne con tipo di dati DATE
. Se è impostato NLS_TIMESTAMP_FORMAT
, si applica alle colonne con il tipo di dati TIMESTAMP
. Se è impostato NLS_TIMESTAMP_TZ_FORMAT
, si applica alle colonne con tipo di dati TIMESTAMP WITH TIME ZONE
.
Per ulteriori informazioni, vedere Parametri di data e ora e Viste del dizionario dati NLS.
Argomento padre: DBMS_CLOUD Supporto Avro, ORC e Parquet