1. 概述编辑
选择管道任务去向后,需要设置来源表和去向表写入数据的字段映射配置。
2. 操作步骤编辑
进入字段映射设置界,可以设置目标表名称;对来源表同步至目标表的字段映射进行设置。
4.0.23 之前的版本目标数据库数据表物理主键需要不为空,以此保证写入数据的唯一性,同时这样能使目标端拥有索引、提升性能;
但是对于部分列存储的数据库,对设置物理主键有限制,导致无法设置物理主键,比如:当GP使用列存储时、GaussDB(基于GP)使用列存储等,对于无法新建物理主键的这些数据库,在4.0.23 版本支持使用逻辑主键替代物理主键来实现数据实时同步。
注1:逻辑主键需要设置为not null,以保证数据唯一性;
注2:在同步时,优先使用目标端已存在的物理主键,当目标表不存在物理主键时、再使用配置表内的逻辑主键;
当配置任务时,任务中配置了逻辑主键,而用户在某个时间点将目标端新增了物理主键,则在用户查看映射配置时展示目标端的物理主键、而非先前配置的逻辑主键。
目标端表类型 | 判断目标表主键状态 | 来源端表 | 目标端表 |
---|---|---|---|
自动建表 | 系统判断目标端数据库支持设置物理主键 不允许目标表物理主键为空 | 来源端物理主键不为空 | 来源端物理主键填充至目标端物理主键 |
来源端物理主键为空 | 用户可自行设置物理主键 | ||
系统判断目标端数据库不支持设置物理主键,仅能设置逻辑主键 不允许目标表逻辑主键为空 | 来源端物理主键不为空 | 来源端物理主键自动填充至目标端逻辑主键 | |
来源端物理主键为空 | 用户可自行设置逻辑主键 | ||
已存在表 | 系统判断目标端数据库已经存在物理主键 不允许调整物理主键配置 | - | 默认使用已存在物理主键,不能修改 |
系统判断目标端数据库不存在物理主键 不允许目标端逻辑主键为空 | 来源端物理主键不为空 | 来源端物理主键自动填充至目标端逻辑主键 | |
来源端物理主键为空 | 用户可自行设置逻辑主键 |
2.1 目标表自动建表
使用「自动建表」,在目标数据库新建管道任务目标表注:新建表不支持和数据库已存在表重命,同时不支持包含中文、特殊字符。
系统自动识别了来源端数据表已有的物理主键,如下图所示:
若来源端数据表没有设置逻辑主键,可以手动设置目标表的主键,需要注意的是 设置主键前需要先勾选 Not Null,保证被设置的主键非空,如下图所示:
注:若用户想要使用语句在目标数据库中新建表,可以复制「建表语句」并在数据库执行。
同时可以调整字段映射方式以及目标数据库数据表的字段类型和字段顺序,如下图所示:
2.2 选择已存在表
选择「已存在表」,可将管道任务数据实时同步至已有数据表,例如目标数据库中已存在s_order数据表,则可以直接选择该数据表,如下图所示:
注:若选择开启「目标端执行逻辑删除」和「同步时标记时间戳」,若目标表不存在新增字段_fdl_update_timestamp、_fdl_marked_deleted,系统将自动在运行任务时帮用户新建该字段。
同时可以调整字段映射方式,重新匹配目标数据库数据表的字段并修改字段顺序,如下图所示:
2.3 批量修改表名
若需要给同步的数据表批量增加前缀或者后缀,可以点击右上角的「批量修改」,选中需要修改的表,然后增加前后缀即可,如下图所示:
被修改的表名增加了 ods_ 前缀,如下图所示:
3. 后续步骤编辑
详情参见:配置管道任务-管道控制