历史版本19 :配置实时管道任务-表字段映射 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineDataLink 版本
功能变动
4.0.5

-

4.0.28支持Clickhouse作为写入端
4.0.29
  • 在选择目标端为「已存在表」或者首次进行全量同步时,会对数据进行清空表内容重写,此时

1)当来源表没有主键时,目标表存在主键,进行清表重写时,先清空目标表,再对目标表进行写入;

2)如果此时来源表存在两条主键相同的数据,后一条会覆盖前一条的记录;

  • 自动屏蔽 Oracle 数据源 BLOB、CLOB、NCLOB、LONG、RAW、LONGRAW、BFILE 字段同步

4.0.30当「选择来源」选择「仅增量同步」时,去向表默认选择「已存在表」,会自动执行一次同名匹配,且用户仍可以手动切换为「自动建表」
4.1.1

Oracle、GP、SQLServer 数据源作为源表,支持无主键同步

支持对要同步的来源端数据进行管理,筛选无主键或者表配置异常的表,详情参见本文 2.4 节

4.1.3

1)Doris、StarRocks 数据源作为写入端,支持自动建表,详情参见本文 2.1

2)通过「手动建表」功能,可自定义建表的SQL语句,例如修改字段名、字段类型、定义各种表的特性等

3)字段映射表格交互优化

选择管道任务去向后,需要设置来源表和去向表写入数据的字段映射配置。

2. 操作步骤编辑

进入字段映射设置界面,可以设置目标表名称;对来源表同步至目标表的字段映射进行设置。

  • 4.0.23 之前的版本目标数据库数据表物理主键需要不为空,以此保证写入数据的唯一性,同时这样能使目标端拥有索引、提升性能;

  • 但是对于部分列存储的数据库,对设置物理主键有限制,导致无法设置物理主键,比如:当GP使用列存储时、GaussDB(基于GP)使用列存储等,对于无法新建物理主键的这些数据库,在4.0.23 版本支持使用逻辑主键替代物理主键来实现数据实时同步。

注:在同步时,优先使用目标端已存在的物理主键,当目标表不存在物理主键时、再使用配置表内的逻辑主键;

当配置任务时,任务中配置了逻辑主键,而用户在某个时间点将目标端新增了物理主键,则在用户查看映射配置时展示目标端的物理主键、而非先前配置的逻辑主键。

目标端表类型判断目标表主键状态来源端表目标端表

自动建表

目标端数据库支持设置物理主键

来源端有物理主键来源端物理主键配置至目标端物理主键
来源端没有物理主键用户可自行设置物理主键用户配置了物理主键

1)自动建表时,将用户指定的字段设为目标表物理主键

2)同步时,使用目标表物理主键作为更新和删除时的比对字段

用户没有配置物理主键(勾选了无主键同步

1)自动建表时,不会设物理主键

2)数据同步时,使用目标表所有可用字段作为逻辑主键并配置到任务中,使用逻辑主键作为更新和删除时的比对字段

目标端数据库不支持设置物理主键,仅能设置逻辑主键


来源端有物理主键来源端物理主键自动配置至目标端逻辑主键

用户配置了逻辑主

对于不支持物理主键的数据源,勾选逻辑主键的时候,同时勾选NOTNULL,但是用户可以手动取消勾选。

自动建表时,不会设物理主键

同步时,使用配置的逻辑主键作为更新和删除时的比对字段

来源没有端物理主键用户可自行设置逻辑主键用户没有配置逻辑主键勾选了无主键同步

自动建表时,不会设物理主键

同步时,使用目标表所有可用字段作为逻辑主键并配置到任务中,使用逻辑主键作为更新和删除时的比对字段

已存在表

目标端数据库已经存在物理主键

不允许调整物理主键配置

-
默认使用已存在物理主键,不能修改

同步时,使用目标表物理主键作为更新和删除时的比对字段

目标端数据库不存在物理主键

不允许目标端逻辑主键为空

来源端有物理主键来源端物理主键自动配置至目标端逻辑主键
来源端没有物理主键用户可自行设置逻辑主键用户配置了物理主键

同步时,使用配置的逻辑主键作为更新和删除时的比对字段

用户没有配置物理主键(勾选了无主键同步

同步时,使用目标表所有可用字段作为逻辑主键并配置到任务中,使用逻辑主键作为更新和删除时的比对字段

2.1 目标表自动建表

使用「自动建表」,在目标数据库新建管道任务目标表注:新建表不支持和数据库已存在表重命,同时不支持包含中文、特殊字符。

39.png

系统自动识别了来源端数据表已有的物理主键,如下图所示:

38.png

注:当「选择来源」选择「仅增量同步」时,去向表默认选择「已存在表」,会自动执行一次同名匹配,且用户仍可以手动切换为「自动建表」。

若来源端数据表没有设置逻辑主键,可以手动设置目标表的主键,如下图所示:

40.png

注:若用户想要使用语句在目标数据库中新建表,可以复制「建表语句」并在数据库执行。

同时可以调整字段映射方式、目标数据库数据表的字段类型、字段名称、字段顺序;还可以取消映射、筛选已映射、未映射字段。如下图所示:

注:「手动建表」功能具体说明请参见:数据同步功能说明 文档的 4.2.2 节内容。

48.png

若数据去向选择了「Doris」数据源,则设置去向端表时,需要选择表类型,详情参见:Doris 数据源使用说明StarRocks数据源使用说明

若数据去向选择了「StarRocks」数据源,则设置去向端表时,需要选择表类型,详情参见:Doris 数据源使用说明StarRocks数据源使用说明

2.2 选择已存在表

  • 选择「已存在表」,可将管道任务数据实时同步至已有数据表,例如目标数据库中已存在s_order数据表,则可以直接选择该数据表,如下图所示:

注:若选择开启「目标端执行逻辑删除」和「同步时标记时间戳」,若目标表不存在新增字段_fdl_update_timestamp、_fdl_marked_deleted,系统将自动在运行任务时帮用户新建该字段。

42.png

同时可以调整字段映射方式,重新匹配目标数据库数据表的字段并修改字段顺序。如下图所示:

43.png

2.3 批量修改表名

若需要给同步的数据表批量增加前缀或者后缀,可以点击右上角的「批量修改」,选中需要修改的表,然后增加前后缀即可,如下图所示: 

45.png

被修改的表名增加了 ods_ 前缀,如下图所示:

46.png

2.4 同步数据表管理

点击数据库展示侧的筛选标志,即可对设置需要进行同步的来源数据表进行筛选,筛选出没有主键的数据表或者表配置有异常的数据表,如下图所示:

如果用户没有选择主键,且在「选择去向」处配置了无主键同步,则任务运行时,系统将自动将这些表的所有可用字段配置为逻辑主键。

47.png

4. 注意事项编辑

1)clickhouse 作为写入端时字段映射说明

当向目标表写入数据时,按照 collapsingMergeTree 表引擎进行写入,详情参见:clickhouse数据源使用说明

2)

FineDataLink 管道任务对于 Oracle 数据源,字段类型限制详情参见:Oracle数据源使用说明

5. 后续步骤编辑