DBMS_CLOUD Oracleデータ型からParquetへのマッピング
Oracleデータ型からParquetデータ型へのマッピングについて説明します。
Oracleタイプ | Parquet型 |
---|---|
BINARY_DOUBLE | DBL |
BINARY_FLOAT | FLT |
DATE | DATE |
NUMBER(p,s) | DECIMAL(p、s) |
番号(p) | デシマル(p) |
タイムスタンプ(3) | TIMESTAMP_MILLIS |
タイムスタンプ(3) | TIMESTAMP_MILLIS_UTC |
タイムスタンプ(6) | TIMESTAMP_MICROS |
タイムスタンプ(6) | TIMESTAMP_MICROS_UTC |
タイムスタンプ(9) | TIMESTAMP_NANOS |
VARCHAR2(4000) | 文字列 |
NLSセッション・パラメータ
NLSセッション・パラメータNLS_DATE_FORMAT
、NLS_TIMESTAMP_FORMAT
、NLS_TIMESTAMP_TZ_FORMAT
およびNLS_NUMERIC_CHARACTERS
は、日付、タイムスタンプ、タイムゾーン付きタイムスタンプ書式、および小数マーカー付きタイムスタンプの基数セパレータを、これらの列タイプの表が問い合せられる場合にどのように表示するかを定義します。
また、DBMS_CLOUD.EXPORT_DATA
を使用してデータをエクスポートし、Parquet出力を指定すると、Autonomous Databaseはこれらのパラメータの値をNLS_SESSION_PARAMETERS
表から読み取ります。Autonomous Databaseでは、これらの値を使用して、Oracleデータ型DATE
またはTIMESTAMP
をParquet型に変換します。
NLS_SESSION_PARAMETERS
パラメータでは、RR
書式マスク(2文字の年指定)がサポートされています。
DBMS_CLOUD.EXPORT_DATA
を使用してParquetにデータをエクスポートする場合、年のRR
書式マスクはこれらのパラメータではサポートされていません。parquetにエクスポートしようとし、NLS_SESSION_PARAMETERS
がRR
書式マスクを使用するように設定されている場合、アプリケーション・エラーが発生します(RR
書式のデフォルト値はNLS_TERRITORY
パラメータの値によって異なります)。
パラメータNLS_DATE_FORMAT
、NLS_TIMESTAMP_FORMAT
またはNLS_TIMESTAMP_TZ_FORMAT
のいずれかがRR
書式マスクを使用する場合、DBMS_CLOUD.EXPORT_DATA
を使用してParquetにデータをエクスポートするには、書式値をサポートされている値に変更する必要があります。たとえば:
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');
NLS_DATE_FORMAT
が設定されている場合、DATE
データ型の列に適用されます。NLS_TIMESTAMP_FORMAT
が設定されている場合は、TIMESTAMP
datattypeの列に適用されます。NLS_TIMESTAMP_TZ_FORMAT
が設定されている場合、TIMESTAMP WITH TIME ZONE
データ型の列に適用されます。
詳細は、日時パラメータおよびNLSデータ・ディクショナリ・ビューを参照してください。