历史版本17 :配置管道任务 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:
[helpvideo]4648[/helpvideo]

目录:

1.概述编辑

1.1 版本说明

FineDataLink 版本功能变动
4.0.5-
4.0.7
管道任务列表交界面优化

1.2 应用场景

企业在在构建数仓和中间库时,由于业务数据量级较大,如果使用数据同步批量定时同步数据很难做到高性能的增量同步,若使用清空目标表再写入数据的方式时,还会面临目标表一段时间不可用、抽取耗时长等问题。

因此希望能在数据库数据量大或表结构规范的情况下,实现高性能的「实时数据同步」。

1.3 功能说明

FineDataLink 支持对数据源进行单表、多表、整库数据的实时全量和增量同步,可以根据数据源适配情况,配置实时同步任务。

1.4 使用限制

支持的数据源详情参见:数据管道支持的数据源

2. 前提条件编辑

  • 数据源环境已准备完成:基于需要设置数据管道任务的数据源,授予数据源配置的账号在数据库进行相应操作的权限。详情请参见:数据源环境准备

  • 已完成数据源配置。需要在使用数据管道进行实时同步任务配置前,配置好需要同步的源端和目标端数据库,以便在同步任务配置过程中,通过选择数据源名称来控制同步任务,详情参见:配置数据连接

3. 操作步骤编辑

示例以 MySQL 为例

将 test_1 数据库中的 S订单数据表实时同步至 test_2 数据库中。

3.1 配置传输队列

配置传输队列,其实就是配置暂存来源库数据,方便目标库写入数据的「数据管道」,目前是通过 Kafka 实现的。

详情参见:配置传输队列

3.2 选择数据来源

首先选择需要数据同步的来源数据。

点击「数据管道>新建任务」,进入任务设置界面,选择来源数据库以及需要进行数据同步的数据表,当然也可以选择多个数据库下的数据表,默认读取方式为 Binlog,默认先对所有存量数据同步,然后持续同步新增变化,如下图所示:

注1:单个任务限制最多选取 5000 张表,达到限制时不允许新增选择。

注2:读取对象只支持选择数据库表,不支持选择视图。

注3:当前只支持数据变化(DML)同步,不考虑支持结构变化(DDL)同步。

将已经存在的「S订单」数据表选到「要同步的表」中,如下图所示:

3.3 选择数据去向

然后选定需要同步至的目标数据库位置。

点击下一步进入「选择去向」界面,选定目标数据库,如下图所示:

若目标数据表数据结构和来源表一致:首次数据同步会清空目标数据表数据,然后全量同步数据,此后增量同步。

若目标数据库没有和来源表一样的数据表,则直接在目标数据库新建数据表。

注:当前版本不支持DDL同步,若目标数据表数据结构和来源表不一致,写入目标数据库中的策略如下所示:

来源端发生的表结构变化
目标数据库同步数据策略
表字段删除

删除字段的动作不会同步,目的地该字段传空值

表新增字段新增字段的动作不会同步
删除正在同步的表记录一条错误,继续同步其他表
表字段改名识别为表字段删除,同表字段删除的逻辑

3.4 设置表字段映射

点击下一步进入字段映射设置界面。

目标数据库数据表物理主键不为空,以此保证写入数据的唯一性

同时可以调整目标数据库数据表的字段类型和字段顺序,并选择数据是否可以为空,如下图所示:

3.5 设置管道控制

点击下一步进行数据管道的任务设置。

数据同步允许一定的容错,比如字段类型、长度不匹配、主键冲突等等问题,可以设置产生的脏数据上限,达到上限则自动终止管道任务。

注:限制最多10w行,且重启任务后,会重置阈值统计。

同时设置当任务异常时的通知,如下图所示:

3.6 保存任务

点击「保存」,即可保存任务,如下图所示:

只有在任务编辑的最后一步才可「保存」,此时在「任务列表」中即可看到设置完成的管道任务,如下图所示:

每一步都可「暂存」,暂存后在暂存列表即可显示暂存的任务,如下图所示:

3.7 执行任务

在任务列表界面,可以启动管道任务或者进入编辑界面进行任务修改设置,如下图所示:

此时启动任务,进入管道任务中,即可看到任务执行情况,如下图所示:

3.8 效果查看

此时即可在目标数据库 test_2 已经实现了数据表的实时同步,如下图所示:

4. 后续步骤编辑

任务配置完成后,可以在「任务运维>管道任务」中管理该任务,详情请参见:管道任务运维