1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
1.6 |
|
4.1.11.5 | 当数据来源的配置方式为「选表」时,若来源表支持主键,自动建表时字段映射默认选中来源表的主键和Not Null,详情参见本文 4.5 节 |
4.1.12.3 | 若目标表选择「自动建表」,定时任务运行成功后,仍为「自动建表」 |
4.1.14.1 |
|
4.2.0.2 | Doris 2.1.6 以上版本,字段映射中可获取到字段注释 |
点击展开更多 | ||||||||||||||||||||||||||||
|
1.2 功能简介
本文介绍「数据同步」设置数据去向或者使用「数据转换-DB表输出」时配置项说明。
「数据去向与映射」Tab 界面如下图所示:
注1:不同数据库支持的数据去向与映射有部分限制,具体请参见:定时任务数据源功能限制说明
2. 设置数据去向
2.1 数据源/库
选择数据需要写入的数据库。支持的数据库请参见:FineDataLink支持的数据源 文档的第三章内容(支持数据写入的数据库)。
数据源处只展示已配置过数据连接且当前用户有数据连接使用权限的选项。
若数据库有模式,支持选择模式。如下图所示:
模式默认值说明如下:
模式 | 说明 |
---|---|
数据库有模式 |
|
数据库没有模式 | 若数据连接中设置了数据库名称,「库」字段默认值为数据库名称,若数据连接中未设置数据库名称,「库」字段默认为空。 |
注1:模式配置项仅选择关系型数据库才出现。
注2:目标表如果是「已存在表」,获取的是此目标库/模式下的表;如果是「自动建表」建表建在此目标库/模式下。
2.2 目标表
注:4.1.12.3 及之后版本,若目标表选择「自动建表」,定时任务运行成功后,仍为「自动建表」。
功能 | 说明 |
---|---|
自动建表 | 直接在目标数据库中新建一张表来存放 4.1.6.1 之前版本表名支持包含英文、数字、下划线,4.1.6.1 及之后版本,表名支持包含英文、中文、数字、下划线 若数据去向选择了「Doris」或者「StarRocks」数据源,则设置去向端表时,需要选择表类型,后续设置写入方式时有一定的限制,详情参见:Doris 数据源使用说明、StarRocks数据源使用说明 |
已存在表 | 选择目标数据库中已有的表来存放数据。 注:若数据去向选择了「Doris」或者「StarRocks」数据源,则设置去向端表时,需要选择表类型,后续设置写入方式时有一定的限制,详情参见:Doris 数据源使用说明、StarRocks数据源使用说明 |
2.3 表注释(表描述)
注:只在第一次建表时,同步表描述,后续定时任务再执行,表描述不会变化;不支持 定时任务的 DDL 同步
1)目标表选择「已存在」表时,显示已存在表的表描述。如下图所示:
2)目标表选择「自动建表」时,默认显示为空,可自定义表描述。如下图所示:
表描述要求:
默认为空,非必填。
输入可以为数字、字母、特殊字符、中文。
限制最大值为 500 字符。
3)不支持该功能的数据库:ClickHouse、Hive、Impala、TRANSWARP INCEPTOR、Informix、MaxCompute、SQLite、StarRocks。
3. 源表结构变化检测
详情请参见:定时任务支持 DDL 同步
4. 设置字段映射
建立「来源端-目标端」的字段对应关系。如下图所示:
注1:4.1.3 及之后版本,目标表为 Hive、星环 TRANSWARP INCEPTOR 且选择自动建表时,可选取目标表里的某些字段作为分区键,详情请参见:支持分区建表、分区写入
注2:4.1.9.3 及之后的版本,支持使用通用配置对数据源的字段映射规则进行修改,详情请参见:通用配置-字段映射规则
4.1 映射方式
选择源表字段跟目标表字段的映射方式,有两种分别是「同名映射」和「同行映射」。
映射方式 | 匹配逻辑 |
---|---|
同名映射 | 按照目标表字段与来源表字段字符重合的情况匹配,整体逻辑为: 1)根据来源字段,在目标表中寻找同名(字符完全相同)字段对其进行匹配 2)没有同名字段时:
3)如果在目标表中找不到同名或者包含目标表字段字符的字段,则右侧映射字段显示为空 |
同行映射 | 源头字段和目标表字段按顺序匹配:同行则建立映射关系 若来源表字段与目标表字段顺序一致,可以使用同行映射 |
4.2 手动建表
目标表选择「自动建表」时,才显示「手动建表」功能。
点击「手动建表」按钮后,用户可修改字段名、字段类型,以及定义各种表的特性。如下图所示:
1)支持查看和修改建表语句。
建表语句支持「重新获取」,重新获取=重置建表语句。
修改建表语句,不会与字段映射里的配置做联动。
2)修改建表语句后,点击「执行建表」按钮,在数据库中建表成功后,「本文2.2 节目标表」处将自动切换为已存在表。
3)「手动建表」中的配置内容,不会在任务运行时生效;用户可手动运行,建表成功后,按照已存在表的逻辑,核对配置是否合理。
4.3 编辑映射
注1:若确定将 X 个字段输入到目标表中,则这些字段必须配置映射,即对应的目标表字段不能为空。
注2:若来源表有 10 个字段,希望将其中 5 个字段同步到目标表中,可将不需要的字段取消映射即可,或者使用 字段设置 算子删除不需要的字段;来源表取消映射的字段,将不会写入到目标表中,不会影响其他字段。
1)可对目标表字段做以下设置:
取消某字段的映射
修改字段展示顺序
修改字段类型;修改字段名称
设置主键;设置字段非空
2)用户可自定义设置目标表字段与来源表字段之间的映射关系。如下图所示:
4.4 重新获取
源表的字段、字段类型发生改变时,点击该按钮可重新获取,并初始化字段映射界面。
4.5 主键
4.0.21 及之后版本,数据去向 Tab 中若选择「自动建表」,字段映射 Tab 中可设置物理主键。
注:若数据去向 Tab 中选择「自动建表」,字段映射 Tab 中未设置主键,运行任务建表成功后,再次编辑任务,不支持修改主键。
注:Hive、星环Inceptor 不支持物理主键和设置主键标识列。
当配置方式为「选表」时,若来源表支持主键,自动建表字段映射默认选中来源表的主键和Not Null,如下图所示:
目标表状态 | 来源表 | 字段映射是否默认选中来源表的主键和Not Null |
---|---|---|
目标表支持物理和逻辑主键 | 来源表支持主键 | 是 |
目标表支持逻辑主键,但不支持物理主键 | 来源表支持主键 | 是 |
目标表不支持主键 | 来源表支持主键 | 否 |
4.6 筛选目标表字段
可筛选出目标表的已映射/未映射字段、有异常(例如字段名称为空、类型为空等)/无异常字段。如下图所示:
4.7 同步字段注释
不支持读取/写入字段注释的数据库:Hive、Impala、TRANSWARP INCEPTOR、Informix、MaxCompute、SQLite、StarRocks
只在第一次建表时,同步字段注释,后续定时任务再执行,字段注释不会变化;不支持 定时任务的 DDL 同步
支持将来源表的字段注释同步到目标表中;若目标表为自动建表,支持自定义目标表的字段注释。
1)来源表的「注释」列说明:
数据来源 Tab 中,配置方式选择「选表」时,「数据去向与映射」Tab 下,来源表的字段映射中,能自动读取字段的注释。如下图所示:
其他情况下,「注释」列的值为--。如下图所示:
2)目标表的「注释」列说明:
目标表为「已存在表」,显示已存在表的字段备注,不支持修改字段备注。
目标表为「自动建表」,可自定义字段注释。如下图所示:
字段注释格式要求:
默认为源表字段注释,若获取不到则为空,非必填。
输入可以为数字、字母、特殊字符、中文。
限制最大值为 30 字符。
4.8 更新目标表
当用户来源端表发生 DDL 变化时,可直接在任务中对目标表进行字段处理,更新目标表结构。详情请参见:更新目标表
5. 注意事项
使用时一些需要注意的点:
1)映射时删除了一些来源表字段,那么切换映射方式后,还是会根据剩下来的这些字段进行调整。
2)手动将映射方式从默认项「同名映射」切换到「同行映射」,点击「重新获取」按钮,获取的字段将按照「同行映射」的方式自动匹配。
3)以下两种场景会出现目标表无字段可匹配源头表字段的情况,在这两种情况下,右侧目标表字段可展示为空:
同名映射:目标表不存在包含源头表字段的字段。
同行映射:源头表字段数量大于目标表字段数量。
4)映射时,如果右侧目标表有空字段,会出现提示图标,悬浮在其上方提示:目标表字段存在空值
5)定时任务运行后,字段映射处不支持修改目标表字段类型。