数据湖探索 DLI-Avro Format:数据类型映射
数据类型映射
目前,Avro schema 通常是从 table schema 中推导而来。尚不支持显式定义 Avro schema。因此,下表列出了从 Flink 类型到 Avro 类型的类型映射。
除了下面列出的类型,Flink 支持读取/写入 nullable 的类型。Flink 将 nullable 的类型映射到 Avro union(something, null),其中 something 是从 Flink 类型转换的 Avro 类型。
Flink SQL类型 |
Avro类型 |
Avro逻辑类型 |
---|---|---|
CHAR / VARCHAR / STRING |
string |
- |
BOOLEAN |
boolean |
- |
BINARY / VARBINARY |
bytes |
- |
DECIMAL |
fixed |
decimal |
TINYINT |
int |
- |
SMALLINT |
int |
- |
INT |
int |
- |
BIGINT |
long |
- |
FLOAT |
float |
- |
DOUBLE |
double |
- |
DATE |
int |
date |
TIME |
int |
time-millis |
TIMESTAMP |
long |
timestamp-millis |
ARRAY |
array |
- |
MAP(key 必须是 string/char/varchar 类型) |
map |
- |
MULTISET(元素必须是 string/char/varchar 类型) |
map |
- |
ROW |
record |
- |