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 |
|
| 4.2.7.2 | GaussDB 100/GaussDB T 数据源作为目标端时,支持 DDL 同步 |
| 4.2.11.3 | 1)DDL 功能优化,当数据来源为「选表」时,来源表结构变化新增对「主键/Not Null/注释」的变化感知 2)更新目标表优化:
|
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模式)、GaussDB 100/GaussDB T |
| 使用条件 | 需要在数据同步节点,数据来源-配置方式选择「选表」 |
会感知的源表结构变化:源表新增字段、源表删除字段、源表重命名字段、源表修改字段类型或长度。
2.2 更新字段映射
当数据同步「数据来源」选择 SQLServer、Oracle、PostgreSQL、MySQL 时,若来源表结构变化,则会提示用户更新字段映射,如下图所示:
注:DB 表输出同样支持该功能。

点击「更新字段」即可查看到增删改字段的变化情况,同时点击确认即可根据来源表字段变化更新字段映射,如下图所示:

「更新映射」表格配置如下:
| 数据来源 | 表格内容 |
|---|---|
| 配置方式为「SQL」/「存储过程」 | 只展示「字段」、「类型」
|
| 配置方式为「选表」 | 4.2.11.3 及之后版本,当数据来源为「选表」时,来源表结构变化新增对「主键/Not Null/注释」的变化感知:
|
更新字段映射分如下所示:
| 来源表字段变化 | 更新字段映射表 |
|---|---|
| 删除字段 | 分类至「删除字段」下 |
| 新增字段 | 分类至「新增字段」下 |
| 修改字段名称 | 原名称字段分类至「删除字段」下,新名称字段分类在「新增字段」下。 |
| 修改字段类型或者长度 | 分类至「修改字段类型/长度」下 |
2.3 更新目标表
当数据去向选择「已存在表」时,若来源表字段相较之前有变化,则可以对目标表进行调整,可以选择已有目标表字段、也可以手动输入新字段,确认对应映射关系变化后,即可对应生成目标表执行的 DDL 语句并执行。
支持对目标表新建、删除字段、重命名字段;
支持修改目标表字段类型、长度精度;
支持为目标表配置非空、主键、注释;
支持展示更改记录、还原修改;
| 说明 | |
|---|---|
| 支持使用的数据源 | 目标数据源:ClickHouse、GaussDB、Greenplum、MySQL、Oracle、PostgreSQL、Seabox、SQLServer、TiDB、RedShift、YMatrix |
| 使用条件 | 需要在数据同步节点,数据去向与映射-目标表选择「已存在表」 |
1)点击「更新目标表」,弹窗中展示目标表实际内容和顺序,可对字段结构进行调整。如下图所示:

2)4.2.11.3 及之后版本,新增「一键带入」功能。以「字段名」为唯一标识(同名映射逻辑),比对来源表和目标表结构;只要来源表与目标表结构不一致,就支持将来源表结构一键带入目标表。
更改记录内容如下:
| 更改记录 | 说明 |
|---|---|
| 新增 | 来源表有,目标表没有的字段 |
| 修改 | 目标表有同名字段,但「类型」/「描述」/「主键」/「Not Null」与来源表不一致 注:「描述」、「主键」、「Not Null」能否被带入目标表,取决于来源表能否获取到;若获取不到,不会影响到目标表现有内容 |
| 删除 | 来源表没有,目标表有的字段 |
注:点击「一键带入」后,在此界面上更改内容导致来源表与目标表结构不一致,将不会出现「一键带入」提示。

3)4.2.11.3 及之后版本,「预览更新语句」更名为「生成更新语句」。并在右侧新增「重新获取」、「格式美化」按钮。如下图所示:

3. 操作步骤
3.1 检测源表结构
新建数据同步节点,数据来源-配置方式选择「选表」,选择来源表并设置数据过滤,如下图所示:

设置「数据去向与映射」,设置目标数据表并勾选「源表结构变化监测」,并设置写入方式,确认同步节点可正常运行同步任务,如下图所示:

3.2 设置结果通知
为了保证 DDL 变化能通知用户,可在「任务控制>结果通知」下设置通知情况。
当用户在数据去向与映射中勾选了「源表结构变化监测」,即可对变化进行结果通知,如下图所示:

在运行任务时,如果来源端发生 DDL 变化,则会在指定渠道通知设置好的指定用户,例如设置了平台通知,则会在平台中提示,如下图所示:

当然日志也会提示用户源表结构变化,若 DDL 影响实际数据写入,则任务报错,否则任务会正常执行。

3.3 更新字段映射
此时用户即可进入任务,进入「数据去向与映射」中更新字段映射,将根据来源表字段变化情况更新字段映射,不会影响目标表结构,如下图所示:

点击确认后可在查看字段映射情况,如下图所示:

3.4 更新目标表
当目标表选择「已存在表」时,用户可以点击「更新目标表」确认/补足对应映射关系变化。
可选择目标表已存在的字段或者手动输入新字段,如下图所示:

点击更新后即可看到写入目标表中的 SQL DDL 更新语句,如下图所示:

执行 DDL 语句后,即可在目标表数据库中查看修改的字段,如下图所示:

3.5 继续执行任务
修改好来源端发生的 DDL 后,即可继续运行定时任务。
