提示:写入 SelectDB 数据库时,目标表表名支持含中文。
1. 定时任务
1.1 读取
「数据同步」、「参数赋值」、「全局赋值参数」、「数据转换-DB表输入」的数据来源支持:SelectDB。
「SQL脚本」的数据源中新增:SelectDB。
注:配置方式不支持「存储过程」。

1.2 写入-表类型
「数据同步」、「数据转换-DB表输出」的数据去向新增:SelectDB。
1)目标表为自动建表时,表类型说明:
| 表类型 | 逻辑说明 |
|---|---|
| 明细模型(Duplicate Key) | 不支持设置物理主键 支持设置 NOT NULL |
| 主键模型(Unique Key)- 读时合并 | 必须设置物理主键 支持设置 NOT NULL |
| 主键模型(Unique Key)- 写时合并 | 必须设置物理主键 支持设置 NOT NULL |
| 聚合模型(Aggregate Key) | 仅展示,不可选 |
2)目标表为已存在表时,表类型说明:
| 表类型 | 逻辑说明 |
|---|---|
| 明细模型(Duplicate Key) | 1)写入方式选择「直接将数据写入目标表」时,不支持配置主键映射和主键冲突策略 2)写入方式不支持「基于标识字段,追加/更新/删除数据」 |
| 主键模型(Unique Key)- 写时合并 | 写入方式选择「直接将数据写入目标表」时,主键冲突策略只能选择:
不支持选择:
|
| 主键模型(Unique Key)- 读时合并 | |
| 聚合模型(Aggregate Key) | 1)写入方式选择「直接将数据写入目标表」时,不支持配置主键映射以及主键冲突策略 2)写入方式不支持「基于标识字段,追加/更新/删除数据」 |
1.3 事务控制
4.2.12.2 及之后版本,目标端为 SelectDB 时,支持 事务控制 功能。
注 1:SelectDB 需要 V3.0 及以上版本。
注 2:开启「事务控制」之前,需要在 SelectDB 数据连接 URL 中添加参数 useLocalSessionState=true,否则运行会报错。
例如:jdbc:mysql://192.168.5.199:9099/mysql?useLocalSessionState=true

1.4 写入-分隔符
4.2.3.1 及之后版本,写入 SelectDB 时,支持设置行列分隔符。如下图所示:

| SelectDB Enterprise 版本 | 说明 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| 2.0 及以上 | 支持指定行列分隔符 注:行分隔符、列分隔符不能相同 列分隔符说明: 下拉框支持选项:自动处理、推荐分隔符(\x01)、英文逗号、制表符、英文分号、管道符、ASCII字符
行分隔符说明:支持设置CR+LF、LF、ASCII字符作为行分隔符 | ||||||||
| 2.0 以下 | 与「2.0及以上版本」不同的是,列分隔符中没有「自动处理」选项 |
1.5 写入-数据分批
4.2.8.4 及之后版本,写入 SelectDB 时,支持设置数据分批条件,只要满足其中任何一个条件,就会立即生成一批数据并执行写入操作。
说明如下:
1)自动分批、自定义分批应用场景:
自动分批:一般情况下使用「自动分批」配置即可;
自定义分批:当大批量数据写入或高频次写入引发数据库压力过载问题,可以灵活调整分批写入配置。
2)各设置项限制:
单条批数限制范围:0~9999999。
单批大小限制范围:0~999。
单批累积时间限制范围:100~1000000。
| 支持的功能 | 备注 |
|---|---|
定时任务: 支持自动分批 支持自定义分批:单条批数、单批大小
| 若定时任务历史数据量大,没有实时增量数据
|
实时任务: 支持自动分批 支持自定义分批:单条批数、单批大小、单批累计时间
| 实时任务中: |
实时管道任务: 支持自动分批 支持自定义分批:单条批数、单批大小、单批累计时间
注:若同步类型选择「存量+增量同步」,单批累计时间设置仅对增量阶段的数据生效 | 实时管道任务中,若历史数据量大:
|
1.6 写入-写入间隔
4.2.8.4 及之后版本,写入 SelectDB 时,支持设置写入间隔,控制数据的写入频率。如下图所示:

2. 实时管道任务
1)作为管道写入端时,不支持无主键同步功能。
2)作为管道写入端,表类型说明:
| 表类型 | 逻辑说明 |
|---|---|
| 明细模型(Duplicate Key) | 此类型不支持自动建表 |
| 主键模型(Unique Key)- 读时合并 | 必须设置物理主键 支持设置 NOT NULL |
| 主键模型(Unique Key)- 写时合并 | 必须设置物理主键 支持设置 NOT NULL |
| 聚合模型(Aggregate Key) | 此类型不支持自动建表 |
3)4.2.8.4 及之后版本,实时管道任务写入 SelectDB 时,选择去向中支持设置数据分批、写入间隔。详情参见本文 1.4、1.5 节。
3. 实时任务
4.2.8.4 及之后版本,实时任务写入 SelectDB 时,写入方式支持设置数据分批、写入间隔。详情参见本文 1.4、1.5 节。
4. 数据服务&
数据服务功能中:
支持作为数据查询 API 的读取端。
支持作为数据接收 API 的写入端。
4. 定时管道
4.2.17.1 及之后版本,定时管道任务支持写入 SelectDB 数据库;目标表若为已存在表,支持写入分区表。
4.1 使用前提
SelectDB 数据库版本需在 3.0 及以上版本;
需要数据库支持事务,SelectDB 数据连接 URL 中需要添加参数:useLocalSessionState=true。
4.2 表类型
| 来源表 | 目标表 |
|---|---|
| 增量主表、全量有主键主表 | 自动建表默认为主键模型(Unique Key) - 读时合并,可修改为主键模型(Unique Key) - 写时合并 已存在表也仅支持选择主键模型(Unique Key) - 读时合并或主键模型(Unique Key) - 写时合并,已存在表的主键必须 |
| 主表(有主键)、增量子表 | 若选择「自动建表」,表类型只能设置为以下两种表类型:
若选择「已存在表」,已存在表需要是以下两种表类型:
已存在表的主键(不包含_fdl_subtable_key)必须与来源端完全一致,都则不可通过校验 来源表为增量子表时,不论是自动建表还是已存在表,目标表增加_fdl_subtable_key字段,主键为DM_KEY和_fdl_subtable_key作为联合主键。写入时,已存在表必须有_fdl_subtable_key作为主键 |
| 主表(无主键)、全量子表 | 若选择「已存在表」,已存在表表类型需为:明细模型(Duplicate Key) 若选择「自动建表」,表类型只能设置为:明细模型(Duplicate Key) |
5. 库表管理&血缘分析
6. 数据服务
6.1 数据查询 API
支持发布数据查询 API 。
6.2 数据接收API
数据接收 API 支持写入该数据库。
6.2.1 通用 API 请求体
| 设置项 | 说明 |
|---|---|
| 目标表 | 目标表为已存在表时,允许选择的表类型为:
目标表为新建表时,允许选择的表类型为:
|
| 主键映射 | 1)如果所选目标表为「明细模型」或「聚合模型」,不支持配置主键映射 2)如果所选目标表为「主键模型-写时合并」和「主键模型-读时合并」,支持配置主键映射:
|
| 主键冲突策略 | 如果所选目标表为「主键模型-写时合并」和「主键模型-读时合并」,仅支持选择:「覆盖目标表的数据」
|
6.2.2 简道云表单推送
| 设置项 | 说明 |
|---|---|
| 目标表 | 允许选择的表类型为:
|
