本文介绍ORC文件、Parquet文件和Avro文件与AnalyticDB PostgreSQL版的数据类型对照表。
ORC文件数据类型对照表
ORC数据类型 | AnalyticDB PostgreSQL版数据类型 |
---|---|
BOOLEAN | bool |
SHORT | int2 |
INT | int4 |
LONG | int8 |
FLOAT | float4 |
DOUBLE | float8 |
DECIMAL | numeric |
CHAR | char |
STRING | text |
BINARY | bytea |
TIMESTAMP | timestamp |
DATE | date |
LIST(SHORT) | int2[] |
LIST(INT) | int4[] |
LIST(LONG) | int8[] |
LIST(FLOAT) | float4[] |
LIST(DOUBLE) | float8[] |
说明 对于ORC中的LIST数据类型,目前仅支持转换成AnalyticDB PostgreSQL版的一维数组。
Parquet文件数据类型对照表
Parquet文件中没有提供Logical Types的情况下,数据类型对照如下:
Parquet数据类型 | AnalyticDB PostgreSQL版数据类型 |
---|---|
BOOLEAN | bool |
INT32 | int4 |
INT64 | int8 |
INT96 | timestamp |
FLOAT | float4 |
DOUBLE | float8 |
BYTE_ARRAY | bytea |
FIXED_LEN_BYTE_ARRAY | bytea |
Parquet文件中提供logical types的情况下,数据类型对照如下:
Parquet数据类型 | AnalyticDB PostgreSQL版数据类型 |
---|---|
STRING | text |
DATE | date |
TIMESTAMP | timestamp |
TIME | 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中ARRAY和MAP嵌套类型。
Avro文件数据类型对照表
Avro数据类型对应AnalyticDB PostgreSQL版列的数据类型,Avro数据类型组成的Records类型对应AnalyticDB PostgreSQL版的数据表。
Avro数据类型(主类型、逻辑类型和元素类型) | AnalyticDB PostgreSQL版数据类型 |
---|---|
BOOLEAN | bool |
INT | int4、int2 |
INT、DATE | date |
LONG | int8 |
LONG、TIMESTAMP | timestamp、timestamptz |
LONG、TIME | time |
FLOAT | float |
DOUBLE | float8 |
BYTES | bytea |
BYTES、DECIMAL(precision, scale) | numeric(precision、scale) |
STRING | char、varchar、text、numeric(不指定precision与scale) |
ARRAY、INT | int4[]、int2[] |
ARRAY、LONG | int8[] |
ARRAY、FLOAT | float[] |
ARRAY、DOUBLE | float8[] |
说明
- 对于Avro中的ARRAY数据类型,目前仅支持转换成AnalyticDB PostgreSQL版的一维数组。
- 不支持上表中未出现的Avro复杂数据类型。