数据湖探索 DLI-Parquet Format:数据类型映射
数据类型映射
目前,Parquet 格式类型映射与 Apache Hive 兼容,但与 Apache Spark 有所不同:
- Timestamp:不论精度,映射 timestamp 类型至 int96。
- Decimal:根据精度,映射 decimal 类型至固定长度字节的数组。
下表列举了 Flink 中的数据类型与 JSON 中的数据类型的映射关系。
注意:复合数据类型暂只支持写不支持读(Array、Map 与 Row)。
Flink数据类型 |
Parquet类型 |
Parquet逻辑类型 |
---|---|---|
CHAR / VARCHAR / STRING |
BINARY |
UTF8 |
BOOLEAN |
BOOLEAN |
- |
BINARY / VARBINARY |
BINARY |
- |
DECIMAL |
FIXED_LEN_BYTE_ARRAY |
DECIMAL |
TINYINT |
INT32 |
INT_8 |
SMALLINT |
INT32 |
INT_16 |
INT |
INT32 |
- |
BIGINT |
INT64 |
- |
FLOAT |
FLOAT |
- |
DOUBLE |
DOUBLE |
- |
DATE |
INT32 |
DATE |
TIME |
INT32 |
TIME_MILLIS |
TIMESTAMP |
INT96 |
- |
ARRAY |
- |
LIST |
MAP |
- |
MAP |
ROW |
- |
STRUCT |