1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.0.6 | 支持 MySQL 作为读取数据源 |
4.1.4 | SAP HANA、DB2 支持作为读取端 |
4.1.7.2 | 来源表若包含 _fdl_update_timestamp、_fdl_marked_deleted 字段,实时同步时会屏蔽这些字段 |
4.1.8.1 | 管道任务支持多对一同步;「选择来源」步骤中可选择多张结构相同的源表生成一个分组表 |
点击展开更多 | ||||||||||||||
|
1.2 功能简介
「选择来源」步骤中,需要设置进行实时同步的数据表/库、同步类型等。如下图所示:
2. 前提条件
1)用户需已做以下准备工作:
步骤 |
---|
步骤一:数据源配置 根据实际情况选择源端和目标端数据库,数据管道支持的数据库请参见:数据管道支持的数据源类型 在数据连接管理中配置源端和目标端的数据连接,便于在管道任务配置过程中,通过选择数据源名称来控制同步任务的读取和写入数据库。详情请参见:配置数据连接 |
步骤二:准备数据库环境 基于需要设置数据管道任务的数据源,授予数据源配置的账号在数据库进行相应操作的权限。详情请参见:数据库环境准备概述 |
步骤三:管道任务环境准备 |
步骤四:分配管道任务权限 若需要使用数据管道的用户不是超级管理员,则需要为对应用户分配数据管道的使用权限。详情请参见:管道任务管理权限 |
2)点击「数据管道」,新建管道任务。如下图所示:
3. 操作步骤
3.1 选择数据源
1)管道任务支持的来源端请参见:数据管道支持的数据源类型
注1:4.0.29 及之后版本,自动屏蔽 Oracle 数据源 BLOB、CLOB、NCLOB、LONG、RAW、LONGRAW、BFILE 字段同步。
注2:4.1.7.2 及之后版本,来源表若包含 _fdl_update_timestamp、_fdl_marked_deleted 字段,实时同步时会屏蔽这些字段。
2)点击「数据源权限检测」按钮,可以查看数据源是否有日志读取权限。如下图所示:
3.2 读取方式
根据来源端数据库不同而变化。
3.3 同步类型
注:对于历史数据量很大的情况,历史数据往往要通过特定的高速装载方式或者分多次多批导入。管道任务仅使用在在全量同步完成后,接续开始增量同步,此时用户可以使用仅增量同步类型。
3.3.1 存量+增量同步
先对所有存量数据同步,然后持续同步新增变化。
任务初次运行时,将完整运行全量同步+增量同步;任务中断或暂停后,再次运行时,如果所有表的全量同步都已完成,则将从增量的断点开始,直接运行增量同步。
3.3.2 仅增量同步
增量同步起点 | 说明 |
---|---|
选择「任务启动时间」作为起点时,将以任务启动时间作为解析开始时间 对于使用目标数据源推荐方式导入历史数据时,没有筛选条件的历史全量数据导入,可以设置增量同步起点为任务执行开始时间 | 1)任务仅包含增量阶段,任务初次运行时,将按照配置的起始时间开始进行增量同步。 2)支持数据源:MySQL、Oracle、SQLServer、PostgreSQL 3)配置后生效时间点精度为:yyyy-MM-dd HH:mm:ss.000,精确到毫秒,时区以数据库的时区为准。 注1:对于PostgreSQL 数据源,仅支持任务启动时间作为起点 注2:SAP HANA 仅支持任务启动时间作为起点 |
选择「自定义时间」作为起点时,可指定增量起始时间,默认为空,必填,允许指定到秒。 可选时间的起点是检测用户数据库日志最早的时间。 对于使用目标数据源推荐方式导入历史数据时,基于时间筛选的历史数据导入,可以设置增量同步起点为最早的筛选时间 |
3.4 同步对象
可选择要实时同步的数据表、数据库。
3.4.1 快速选表
其中,「快速选表」按钮可批量选择多表,帮助用户更快选择来源表。如下图所示:
3.4.2 普通表
场景:用户希望一张源表的数据实时同步到另外一张目标表中。
在「已存在表」中选择表到「要同步的表」中即可。
3.4.3 分组表
场景:设备数据采集场景中,源端有相同格式的多个库的数据,需要实时同步到数仓的一张表中使用。
1)用户可将多张结构相同的源表数据同步到一张目标表中,取所有源表字段的交集作为分组表的字段。如下图所示:
注1:支持生成多个分组表。
注2:取交集时,只需要字段名一致,如果多张来源表的字段类型不一样,向上取能兼容所有来源字段的类型作为分组表中该字段的类型。
情况一:此时会校验源表字段交集的情况,若子表字段完全交集,生成分组表后,分组表名称为用户勾选的第一个子表的名称。
情况二:若没有交集字段,则提示:所选子表无字段交集,无法生成分组表,建议取消操作并排查子表结构。如下图所示:
该情况下无法生成分组表。
情况三:若存在部分交集字段,则提示:存在交集外的子表字段,这些字段后续无法同步,建议取消操作并排查子表结构。生成分组表后,分组表名称为用户勾选的第一个子表的名称。如下图所示:
该情况下,生成的分组表中只包含交集字段,可正常实时同步。
2)生成分组表后,如下图所示:
注:若只存在分组表,普通表类型也存在,只不过普通表分类将灰化显示,提示暂无普通表。
支持对分组表进行重命名,多个分组表间不能重名;任务启动后,不可重命名分组表。支持对分组表进行删除操作,删除后,子表将退回到普通表。如下图所示:
说明一:若存在分组表和普通表,普通表可移动到分组表中。如下图所示:
说明二:已有分组表,选中子表,可退回普通表或退回已存在表。如下图所示:
上述两种情况都会触发交集字段校验。具体说明参考下表:
场景 | 说明 |
---|---|
交集字段无变动,且不存在交集外的子表字段 | 更新分组表成功 |
交集字段无变动,但存在交集外的子表字段 | 给出提示:存在交集外的子表字段,这些字段后续无法同步,建议取消操作并排查子表结构;若点击「仍要更新」按钮,生成的分组表中只包含交集字段,可正常实时同步 |
交集字段有变动(新增、减少、类型改变),且没有运行过,给出提示:此操作将导致原分组表字段变动,建议取消操作并排查子表结构 | 「存在问题的子表」中,若存在交集之外的字段,点击「仍要更新」后,生成新的分组表后,会有黄色感叹号提示: 否则,生成新的分组表后,没有提示 |
交集字段有变动(新增、减少、类型改变),且没有运行过,交集字段减少到0 | 提示分组表更新失败 |
交集字段有变动(新增、减少、类型改变),管道任务运行过 | 将更新失败,提示:此操作将导致原分组表字段变动,任务已运行过,不允许操作,建议排查子表结构 |