1. 概述
1.1 版本
FineDataLink版本 | 功能变动 |
---|---|
4.1.5.4 | - |
4.1.8.2 | DB表输出支持来源字段结构变化后提示更新字段映射,详情参见本文 2.2 节 |
4.1.9.3 |
|
4.1.11.2 | YMatrix 支持部分定时任务DDL同步的功能 |
4.1.14.1 |
|
1.2 应用场景
用户使用数据开发模块设置定时同步任务,想要感知到定时任务同步时的来源端数据表 DDL 变化,能够及时通知给用户,并进行定时任务处理。
1.3 功能简介
当进行定时任务开发时,能够提示来源端数据表的 DDL 变化,并且将变化通知给指定用户;
点击展开图片 |
同时可以直接在任务中对目标表进行字段处理,更新目标表结构。
点击展开图片 |
2. 功能说明
2.1 源表结构变化监测
勾选后,节点每次执行时,将获取源端表结构,并与当前节点配置的表结构进行比对,判断出源表结构变化。用户可在「任务控制」中设置「结果通知」,即可在变化后自动通知给指定用户,用户即可手动进行任务调整。
类目 | 说明 |
---|---|
支持使用的数据源 | 来源数据源:SQLServer、Oracle、PostgreSQL、MySQL 目标数据源:ClickHouse、GaussDB、Greenplum、MySQL、Oracle、PostgreSQL、Seabox、SQLServer、TiDB、RedShift、YMatrix、OceanBase(Oracle模式) |
使用条件 | 需要在数据同步节点,数据来源-配置方式选择「选表」 |
会感知的源表结构变化:源表新增字段、源表删除字段、源表重命名字段、源表修改字段类型或长度。
2.2 更新字段映射
当数据同步「数据来源」选择 SQLServer、Oracle、PostgreSQL、MySQL 时,若来源表结构变化,则会提示用户更新字段映射,如下图所示:
注:DB表输出同样支持该功能。
点击「更新字段映射」即可查看到增删改字段的变化情况,同时点击确认即可根据来源表字段变化更新字段映射,如下图所示:
更新字段映射分如下所示:
来源表字段变化 | 更新字段映射表 |
---|---|
删除字段 | 分类至「删除字段」下 |
新增字段 | 分类至「新增字段」下 |
修改字段名称 | 原名称字段分类至「删除字段」下,新名称字段分类在「新增字段」下。 |
修改字段类型或者长度 | 分类至「修改字段类型/长度」下 |
2.3 更新目标表
当数据去向选择「已存在表」时,若来源表字段相较之前有变化,则可以对目标表进行调整,可以选择已有目标表字段、也可以手动输入新字段,确认对应映射关系变化后,即可对应生成目标表执行的DDL语句并执行。
支持对目标表新建、删除字段、重命名字段;
支持修改目标表字段类型、长度精度;
支持为目标表配置非空、主键、注释;
类目 | 说明 |
---|---|
支持使用的数据源 | 目标数据源:ClickHouse、GaussDB、Greenplum、MySQL、Oracle、PostgreSQL、Seabox、SQLServer、TiDB、RedShift、YMatrix |
使用条件 | 需要在数据同步节点,数据去向与映射-目标表选择「已存在表」 |
3. 操作步骤
3.1 检测源表结构
新建数据同步节点,数据来源-配置方式选择「选表」,选择来源表并设置数据过滤,如下图所示:
设置「数据去向与映射」,设置目标数据表并勾选「源表结构变化监测」,并设置写入方式,确认同步节点可正常运行同步任务,如下图所示:
3.2 设置结果通知
为了保证 DDL 变化能通知用户,可在「任务控制>结果通知」下设置通知情况。
当用户在数据去向与映射中勾选了「源表结构变化监测」,即可对变化进行结果通知,如下图所示:
在运行任务时,如果来源端发生 DDL 变化,则会在指定渠道通知设置好的指定用户,例如设置了平台通知,则会在平台中提示,如下图所示:
当然日志也会提示用户源表结构变化,若 DDL 影响实际数据写入,则任务报错,否则任务会正常执行。
3.3 更新字段映射
此时用户即可进入任务,进入「数据去向与映射」中更新字段映射,将根据来源表字段变化情况更新字段映射,不会影响目标表结构,如下图所示:
点击确认后可在查看字段映射情况,如下图所示:
3.4 更新目标表
当目标表选择「已存在表」时,用户可以点击「更新目标表」确认/补足对应映射关系变化。
可选择目标表已存在的字段或者手动输入新字段,如下图所示:
点击更新后即可看到写入目标表中的 SQL DDL 更新语句,如下图所示:
执行 DDL 语句后,即可在目标表数据库中查看修改的字段,如下图所示:
3.5 继续执行任务
修改好来源端发生的 DDL 后,即可继续运行定时任务。