数据开发治理平台 WeData 同步任务自动建表能力

数据集成在离线及实时场景下提供一键建表、自动建表等功能,以帮助你在同步前或同步中快速构建目标数据表,从而提高数据链路使用效率。这里说明对应功能使用方式、支持的链路、核心异构数据源间类型转换关系等。

相关产品
数据开发治理平台 WeData 产品页,含版本规格、价格与购买入口。

一、功能介绍及使用场景

数据集成提供了一键建表、批量建表、以及根据 DDL 消息自动建表三种建表方式:

功能项 功能示意 功能介绍 适用场景
一键建表  此功能可根据来源端指定的多个表对象自动完成来源至目标端的 DDL 转换,支持用户手动修改转换后的 DDL 内容,并一次性批量创建。
功能关键词:异构 DDL 自动转换、批量建表、手动建表。
本功能适合于针对来源端的存量,快速构建与来源表结构近似的目标表。针对表模型复杂,需要业务自定义的情况,用户可根据业务特性编辑自动生成的 DDL 语句,提高异构 DDL 编写效率。
批量建表   
根据源端 DDL 消息自动建表  此功能可实时监控来源端是否存在新建表 DDL,一旦源端产生可识别新建表消息,目标端可自动根据来源表结构自动生成目标端表对象。功能关键词:DDL 自动感知与响应、自动建表。 本功能适合在实时整库搬迁时,期望目标端与来源端实时保证结构一致的数据同步场景。

二、一键建表支持链路

离线单表任务、实时单表任务支持根据来源表一键创建目标表,主要面向新增少量库表入湖、入仓场景。

三、离线单表同步任务

目标序号 目标端 支持的源端
1 Doris MySQL、腾讯云 MySQL、TDSQL-C MySQL、DLC、SQL Server、TDSQL MySQL、PostgreSQL、TDSQL PostgreSQL、Oracle、Oceanbase、达梦
2 TChouse-D MySQL、腾讯云 MySQL、TDSQL-C MySQL、DLC、SQL Server、TDSQL MySQL、PostgreSQL、TDSQL PostgreSQL、Oracle、Oceanbase、达梦
3 Hive MySQL、腾讯云 MySQL、TDSQL MySQL、TDSQL-C MySQL、Oracle、SQL Server、PostgreSQL、Oceanbase、达梦、TiDB
4 Iceberg MySQL、腾讯云 MySQL、TDSQL-C MySQL、TDSQL MySQL、Oracle、SQL Server、PostgreSQL、Oceanbase、达梦、TiDB
5 TCHouse-P MySQL、腾讯云 MySQL、TDSQL-C MySQL、TDSQL MySQL、Oracle、SQL Server、PostgreSQL、Oceanbase、达梦、TiDB
6 DLC MYSQL、腾讯云 MySQL、Elasticsearch、TDSQL MySQL、TDSQL-C MySQL、腾讯云 Elasticsearch、Kafka、PostgreSQL、TDSQL PostgreSQL、Oracle、SQL Server、Oceanbase、达梦

四、实时单表同步任务

目标序号 目标端 支持的源端
1 Doris MySQL、腾讯云 MySQL、TDSQL-C MySQL、SQL Server、TDSQL MySQL、PostgreSQL、Oracle、Oceanbase、达梦
2 TChouse-D MySQL、腾讯云 MySQL、TDSQL-C MySQL、SQL Server、TDSQL MySQL、PostgreSQL、Oracle、Oceanbase、达梦
3 Hive MySQL、腾讯云 MySQL、TDSQL MySQL、TDSQL-C MySQL、Oracle、SQL Server、PostgreSQL、Oceanbase、达梦
4 Iceberg MySQL、腾讯云 MySQL、TDSQL-C MySQL、TDSQL MySQL、Oracle、PostgreSQL、SQL Server、Oceanbase、达梦
5 TCHouse-P MySQL、腾讯云 MySQL、TDSQL-C MySQL、TDSQL MySQL、Oracle、PostgreSQL、SQL Server、Oceanbase、达梦
6 DLC MySQL、腾讯云 MySQL、TDSQL-C MySQL、TDSQL MySQL、PostgreSQL、Oracle、SQL Server、Kafka、Oceanbase、达梦

五、批量建表支持链路

离线批量创建单表任务、实时整库任务支持在任务配置阶段批量根据源表创建目标表,主要面向大量存量库表入湖、入仓场景。

六、离线批量同步任务

目标序号 目标端 支持的源端
1 Doris MySQL、腾讯云 MySQL、TDSQL-C MySQL、DLC、SQL Server、TDSQL MySQL、PostgreSQL、TDSQL PostgreSQL、Oracle、Oceanbase、达梦
2 TChouse-D MySQL、腾讯云 MySQL、TDSQL-C MySQL、DLC、SQL Server、TDSQL MySQL、PostgreSQL、TDSQL PostgreSQL、Oracle、Oceanbase、达梦
3 Hive MySQL、腾讯云 MySQL、TDSQL MySQL、TDSQL-C MySQL、Oracle、SQL Server、PostgreSQL、Oceanbase、达梦、TiDB
4 Iceberg MySQL、腾讯云 MySQL、TDSQL-C MySQL、TDSQL MySQL、Oracle、SQL Server、PostgreSQL、Oceanbase、达梦、TiDB
5 TCHouse-P MySQL、腾讯云MySQL、TDSQL-C MySQL、TDSQL MySQL、Oracle、SQL Server、PostgreSQL、Oceanbase、达梦、TiDB
6 DLC MYSQL、腾讯云 MySQL、Elasticsearch、TDSQL MySQL、TDSQL-C MySQL、腾讯云 Elasticsearch、Kafka、PostgreSQL、TDSQL PostgreSQL、Oracle、SQL Server、Oceanbase、达梦

七、实时整库迁移任务

目标序号 目标端 支持的源端
1 Doris MySQL、TDSQL-C MySQL、TDSQL MySQL
2 DLC MySQL、TDSQL-C MySQL、TDSQL MySQL

八、根据源端 DDL 消息自动建表支持链路

除以下链路外,其余实时整库链路均支持根据源端 DDL 消息在任务运行阶段自动创建目标端库、表:

序号 源端 目标端 备注
1 MySQL PostgreSQL 仅支持使用已有数据库、Schema、数据表
2 OceanBase Doris、Iceberg 仅支持使用已有数据库、数据表
3 Kafka Doris 仅支持使用已有数据库、数据表

九、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) –
赞 (0)
上一篇 4天前
下一篇 4天前