有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
文档中心 > 数据集成 > 操作指南 > 同步任务自动建表能力
数据集成在离线及实时场景下提供一键建表、自动建表等功能,以帮助您在同步前或同步中快速构建目标数据表,从而提高数据链路使用效率。本文主要介绍对应功能使用方式、异构数据源间类型转换关系等。

功能介绍及使用场景

数据集成提供了一键建表、批量建表、以及根据 DDL 消息自动建表三种建表方式:
功能项
功能示意
功能介绍
适用场景
一键建表



此功能可根据来源端指定的多个表对象自动完成来源至目标端的 DDL 转换,支持用户手动修改转换后的 DDL 内容,并一次性批量创建。 功能关键词:异构 DDL 自动转换、批量建表、手动建表。
本功能适合于针对来源端的存量,快速构建与来源表结构近似的目标表。针对表模型复杂,需要业务自定义的情况,用户可根据业务特性编辑自动生成的 DDL 语句,提高异构 DDL 编写效率。
批量建表



根据源端 DDL消息自动建表



此功能可实时监控来源端是否存在新建表 DDL,一旦源端产生可识别新建表消息,目标端可自动根据来源表结构自动生成目标端表对象。
功能关键词:DDL 自动感知与响应、自动建表。
本功能适合在实时整库搬迁时,期望目标端与来源端实时保证结构一致的数据同步场景。

异构数据源建表类型转换关系:

MySQL 至 Doris 建表字段类型转换:


MySQL(源端)
DORIS(目标端)
补充说明

数据类型
精度说明
数据类型
精度说明


BOOLEAN
0代表 false,1代表 true
BOOLEAN
0代表 false,1代表 true
-
数值类型
TINYINT
范围[-128, 127]
TINYINT
范围[-128, 127]
-
SMALLINT
范围[-32768, 32767]
SMALLINT
范围[-32768, 32767]
-
MEDIUMINT
范围[-8388608,8388607]
INT
范围[-2147483648, 2147483647]
-
INT
范围[-2147483648, 2147483647]
INT
范围[-2147483648, 2147483647]
-
BIGINT
范围[-9223372036854775808, 9223372036854775807]
BIGINT
范围[-9223372036854775808, 9223372036854775807]
-
UNSIGNED TINYINT
范围[0, 255]
SMALLINT
范围[-32768, 32767]
-
UNSIGNED MEDIUMINT
范围[0, 16777215]
INT
范围[-2147483648, 2147483647]
-
UNSIGNED INT
范围[0, 4294967295]
BIGINT
范围[-9223372036854775808, 9223372036854775807]
-
UNSIGNED BIGINT
范围[0, 18,446,744,073,709,551,615]
LARGEINT
范围[-2^127 + 1 ~ 2^127 - 1]
-
FLOAT
4 字节浮点数
FLOAT
4字节浮点数
-
DOUBLE
8 字节浮点数
DOUBLE
8字节浮点数
-
DECIMAL
DECIMAL(M,D),M 范围 [1, 65], D 范围是[0, 30]
DECIMALV3
DECIMAL(M,D),M 范围 [1, 38], D 范围是[0, precision]
-
日期时间类型
YEAR
范围:1901 到 2155显示格式:YYYY
SMALLINT
范围[-32768, 32767]
-
TIME
范围:-838:59:59 到 838:59:59显示格式:hh:mm:ss 或 hh:mm:ss
STRING
变长字符串,最大(默认)支持1048576 字节(1MB)
-
DATE
范围:1000-01-01 到 9999-12-31显示格式:YYYY-MM-DD
DATEV2
范围:0000-01-01 到 9999-12-31显示格式:YYYY-MM-DD
-
DATETIME
1000-01-01 00:00:00 到 9999-12-31 23:59:59显示格式:YYYY-MM-DD HH:mm:ss
DATETIMEV2
0000-01-01 00:00:00 到 9999-12-31 23:59:59打印格式:YYYY-MM-dd HH:mm:ss.SSSSSS,可不选时间精度。
-
TIMESTAMP
UTC 1970-01-01 00:00:01 到 2038-01-19 03:14:07显示格式:YYYY-MM-DD HH:mm:ss
DATETIMEV2
显示格式:YYYY-MM-DD HH:mm:ss
TIMESTAMP 字段数据会随着系统时区而改变但 DATETIME 字段数据不会,建议根据业务场景进行时区转化
字符串类型
CHAR
0 到 255 字符
CHAR
定长字符串,范围是1-255
-
VARCHAR
0 到 65,535 字符
VARCHAR
变长字符串,范围是1-65533
如果 MySQL 字段长度超过65533,建议转化为string
TINYTEXT、TEXT
0 到 255 字符
STRING
变长字符串,最大(默认)支持1048576 字节(1MB)
-
MEDIUMTEXT、LONGTEXT
0 到 65535 字符
STRING
变长字符串,最大(默认)支持1048576 字节(1MB)
MySQL 字段长度超过1048576 字节时可能精度丢失
二进制字符串
TINYBLOB、BLOB
二进制字符串,0 到 255 字节
STRING
变长字符串,最大(默认)支持1048576 字节(1MB)
-
MEDIUMBLOB、LONGBLOB
二进制字符串,0 到 16,777,215 字节,最大16M
STRING
变长字符串,最大(默认)支持1048576 字节(1MB)
MySQL 字段长度超过1048576 字节时可能精度丢失
BINARY、VARBINARY
固定长度二进制数据,最多 255 字节
STRING
变长字符串,最大(默认)支持1048576 字节(1MB)
-
其他
JSON
JSON 数据,最大存储大小为 1GB
STRING
变长字符串,最大(默认)支持1048576 字节(1MB)
MySQL 字段大小超过1M时可能精度丢失
SET、BIT
字符串集合,最多 64 个成员
STRING
变长字符串,最大(默认)支持1048576 字节(1MB)
-
ENUM
枚举对象,最多65535个成员
UNSUPPORTED
-
暂不支持


MySQL 至 DLC iceberg表建表字段类型转换:

Mysql 类型(源端)
DLC Iceberg 表 (目标端)
说明
tinyint(1)
int
-
smallint
smallint
-
int
int
-
mediumint
int
-
bigint
bigint
-
float
float
-
double
double
-
decimal
decimal
-
datetime
timestamp
-
timestamp
timestamp
-
date
date
-
time
time
-
tinytext
string
-
text
string
-
mediumtext
string
-
longtext
string
-
varchar
string
-
char
string
-
bool
boolean
-
tinyblob
binary
-
mediumblob
binary
-
blob
binary
-
longblob
binary
-
varbinary
binary
-
binary
binary
-
decimal unsigned(p,x)
decimal(p+1, x)
说明:decimal(p+1, x)/string(超长后改为string)
decimal unsigned(p,x)
decimal(p+1, x)
说明:decimal(p+1, x)/string(超长后改为string)
int unsigned
bigint
-
int unsigned zerofill
bigint
-
smallint unsigned
int
-
smallint unsigned zerofill
int
-
mediumint unsigned
bigint
-
mediumint unsigned zerofill
bigint
-
float unsigned
double
-
float unsigned zerofill
double
-
double unsigned
decimal(20,0)
-
double unsigned zerofill
decimal(20,0)
-
bigint unsigned
decimal(20,0)
-