PostgreSQL与MRS Hudi字段类型映射
Migration会根据源端的字段类型按默认规则转换成目的端字段类型,并以此完成自动建表和实时同步。
字段类型映射规则
当源端为PostgreSQL,目的端为Hudi时,支持的字段类型请参见下表,以确保数据完整同步到目的端。
类别 | 数据类型(PostgreSQL) | 数据类型(Hudi) | 说明 |
|---|---|---|---|
字符串 | CHAR(M) | STRING | 定长字符串,空格填充。 |
VARCHAR(M) | STRING | 有限制的变长字符串。 | |
TEXT | STRING | 无限制的变长字符串,类似没有长度声明词的VARCHAR。 | |
数值 | BOOLEAN | BOOLEAN | 逻辑布尔值(真/假)。 |
SMALLINT | INT | 即int2。 | |
INTEGER | INT | 即int/int4。 | |
BIGINT | BIGINT | 即int8。 | |
DECIMAL(M,D) | DECIMAL(M,D) | 可选择精度的精确数字。 | |
NUMERIC(M,D) | DECIMAL(M,D) | 与NUMERIC等效。 | |
REAL | FLOAT | 单精度浮点数(4字节)。 | |
DOUBLE | DOUBLE | 即DOUBLE PRECISION,也可用没有精度的FLOAT表示,双精度浮点数(8字节)。 | |
日期时间 | DATE | DATE | 日期(1970-01-01)。 |
TIME(M) | STRING | 一天中的时间(08:00:00)。 | |
TIMESTAMP(M) | TIMESTAMP | 包括日期和时间(1970-01-01 00:00:00),无时区。 | |
TIMESTAMP(M) WITH TIME ZONE | TIMESTAMP | 即TIMESTAMPTZ,包括日期和时间(1970-01-01 00:00:00),带有时区。 | |
二进制 | BYTEA | 不支持 | 二进制数据(“字节数组”)。 |

