このトピックでは、3つのオブジェクト形式 (ORC、Parquet、Avro) とAnalyticDB for PostgreSQL間のデータ型マッピングについて説明します。
ORCとAnalyticDB for PostgreSQL間のデータ型マッピング
ORCのデータ型 | AnalyticDB for PostgreSQLのデータ型 |
BOOLEAN | bool |
短い | int2 |
INT | int4 |
LONG | int8 |
FLOAT | float4 |
DOUBLE | float8 |
DECIMAL | numeric |
CHAR | char |
STRING | text |
BINARY | bytea |
TIMESTAMP | timestamp |
日付 | date |
リスト (短い) | int2[] |
リスト (INT) | int4[] |
リスト (ロング) | int8[] |
リスト (フロート) | float4[] |
リスト (ダブル) | float8[] |
説明 ORCのLISTデータ型は、AnalyticDB for PostgreSQLの1次元配列にのみ変換できます。
ParquetとAnalyticDB for PostgreSQL間のデータ型マッピング
次の表に、Parquetオブジェクトに論理型のデータが含まれていない場合に適用されるデータ型マッピングを示します。
Parquetのデータ型 | AnalyticDB for PostgreSQLのデータ型 |
BOOLEAN | bool |
INT32 | int4 |
INT64 | int8 |
INT96 | timestamp |
FLOAT | float4 |
DOUBLE | float8 |
BYTE_ARRAY | bytea |
FIXED_LEN_BYTE_ARRAY | bytea |
次の表に、Parquetオブジェクトに論理型のデータが含まれている場合に適用されるデータ型マッピングを示します。
Parquetのデータ型 | AnalyticDB for PostgreSQLのデータ型 |
STRING | text |
日付 | date |
TIMESTAMP | timestamp |
時間 | time |
INTERVAL | interval |
DECIMAL | numeric |
INT(8) およびINT(16) | int2 |
INT (32) | int4 |
INT (64) | int8json |
UINT(8/16/32/64) | int8 |
JSON | JSON |
BSON | jsonb |
UUID | uuid |
ENUM | text |
説明 ネストされた配列またはマップはParquetではサポートされません。
AvroとAnalyticDB for PostgreSQL間のデータ型マッピング
次の表に、AvroとAnalyticDB for PostgreSQL間のデータ型マッピングを示します。 複数のAvroデータ型を組み合わせてRECORDデータ型にすることができます。
Avroのデータ型 (メイン型、論理型、要素型を含む) | AnalyticDB for PostgreSQLのデータ型 |
BOOLEAN | bool |
INT | int4およびint2 |
INTとDATE | date |
LONG | int8 |
ロングとタイムスタンプ | timestampおよびtimestamptz |
ロングとタイム | time |
FLOAT | float |
DOUBLE | float8 |
BYTES | bytea |
BYTESとDECIMAL (精度、スケール) | 数値 (精度、スケール) |
STRING | char、varchar、text、およびnumeric (精度またはスケールの指定なし) |
アレイとINT | int4[] およびint2[] |
アレイとロング | int8[] |
アレイとフロート | float[] |
アレイとダブル | float8[] |
説明
- AvroのARRAYデータ型は、AnalyticDB for PostgreSQLの1次元配列にのみ変換できます。
- 上記の表に含まれているAvroデータ型のみがサポートされています。