库表实时采集
更新时间:2026-07-03
库表实时采集是平台面向流式结构化数据提供的实时集成能力,目前分为两类数据源链路:
- 数据库 CDC 实时同步:对接 MySQL、Oracle、SQLServer关系型数据库,捕获库表新增、更新、删除操作,毫秒级同步变更数据;
- Kafka 流式消费:直接读取 Kafka 消息队列中的实时业务数据流,完成结构化实时数据统一落地。
前提条件
- 具有空间管理员权限或其他具备该功能权限的角色。
- 任务运行需使用任务所在项目绑定资源组下的源链接与集成实例,请确保该计算实例与需要集成的数据源网络已打通。
配置说明
平台提供向导模式、脚本模式两种任务配置方式,适配不同业务复杂度场景,可按需选择使用。
- 向导模式(默认):零代码可视化表单配置,操作简单、上手快速,适配常规标准化库表同步场景。
- 脚本模式:支持自定义脚本灵活拓展同步逻辑,适合快速接入更多引擎层已支持的数据源,满足复杂及个性化业务需求。
需在向导模式完成全部基本配置后,才可切换至脚本模式。
创建库表实时采集
任务创建入口
- 未创建过任务:进入数据集成>库表实时采集页面,选择对应的数据源(MySQL/Oracle/SQLServer/Kafka)进入任务配置页面。
- 已创建过任务:在库表实时采集任务列表右上角,单击创建按钮新建任务。
选择源端
在创建对话框,按需选择对应数据源类型完成连接创建:
| 数据源 | 适用场景 |
|---|---|
| Kafka | 实时消息队列数据源,消费业务行为日志、实时上报流式消息,持续拉取队列数据 |
| MySQL | 开启 Binlog CDC 捕获,实时同步表新增 / 更新 / 删除变更数据,支持 MySQL5、MySQL8 |
| Oracle | 基于 Logminer 日志捕获,同步 Oracle11g 库表实时变更数据 |
| SQLServer | 开启 CDC 变更捕获,同步 SQLServer2016/2019 库表实时业务数据 |
任务配置流程
下文主要解释库表实时采集两种配置模式的完整搭建流程,明确两种模式的操作差异、配置规范及使用约束,可根据业务场景复杂度,选择适配的模式完成任务配置。
向导模式配置流程
- 根据需求选择单击Kafka/MySQL/Oracle/SQLServer数据源;
- 完整填写对应数据源连接配置参数;
- 填写对应配置项后,校验连接无异常后,数据源创建完成,可基于该数据源配置采集任务。
表1 基本配置说明
| 配置项名称 | 说明 |
|---|---|
| 任务名称 | 输入任务名称,名称长度必须在1~256字符之间,不能出现/或者\,不能仅为. |
| 所属位置 | 指定当前任务所处项目文件夹,侧边通过浏览按钮选择路径。 |
| 任务描述 | 输入对该任务的描述信息,字符长度限制在 0 到 500 之间。 |
表2 源端配置说明
| 配置项名称 | 说明 |
|---|---|
| 源端类型 | 下拉选择源端类型:MySQL/SQLServer/Oracle/Kafka。 |
| 数据源名称 | 选择具体的数据源,需与源端类型匹配。 |
| 数据库名称 | 当源端类型选择MySQL/Oracle时,需单击下拉框选择数据库。 |
| Schema名称 | 当源端类型选择SQLServer时,需单击下拉框选择Schema。 |
| 同步步骤 | 源端类型选择MySQL/SQLServer/Oracle时,需配置全量 + 增量同步/增量同步。 |
| 增量起始位置 | 设置 Kafka 消费者开始消费消息的起始位置。 |
| 增量起始时间 | 同步步骤选择增量同步或增量起始时间选择指定时间时,需指定对应的增量时间点。 |
表3 目标端配置说明
| 配置项名称 | 说明 |
|---|---|
| 目标端类型 | 下拉选择目的地类型:iceberg/Doris/结构化数据集。 |
| 数据库 | 选择目标端类型为iceberg/Doris时,需单击浏览按钮,选择目标数据库。 |
| 目标位置 | 选择目标端类型为结构化数据集时,需单击浏览按钮,配置数据集的目标位置。 |
- 完成源端与目标端配置后,单击添加源端表,选择需要同步的表或topic后,支持配置单表同步之间的源端目标端配置。
表4 源端配置说明
| 配置项名称 | 说明 |
|---|---|
| 消息格式 | 源端类型选择Kakfa时,需配置消息的序列化格式,当前支持JSON、Text、Canal JSON、Debezium JSON、Maxwell JSON、OGG JSON |
| JSON样本 | 可选,消息格式选择JSON类时,可在此处粘贴一条消息样本,系统自动解析字段名称和类型。 |
| DDL策略配置 | 源端类型选择MySQL/SQLServer/Oracle时,可配置DDL策略,当前DDL策略暂不支持调整,固定如下:源端表删除字段:终止任务;源端表被删除:终止任务;源端表新增字段:忽略;其他DDL操作均为忽略。 |
表5 目标端配置说明
| 配置项名称 | 说明 |
|---|---|
| 建表方式 | 自动建表、选择已有表两种模式。 |
| 表名设置 | 建表方式选择自动建表时,支持配置表名设置。 |
| 描述 | 建表方式选择自动建表时,支持配置表描述。 |
| 目标表 | 建表方式选择已有表时,需选择目标表。 |
| 源端表插入数据 | 当源端产生 INSERT 事件时的处理策略,支持选择正常处理、忽略两种处理策略。 |
| 源端表更新数据 | 当源端产生 UPDATE 事件时的处理策略,支持选择正常处理、忽略两种处理策略。 |
| 源端表删除数据 | 当源端产生 DELETE 事件时的处理策略;逻辑删除会写入 logical_delete_tag 字段标记。 |
- 完成单表同步之间的源端目标端配置后,可进行映射配置,配置字段映射关系后,任务将根据字段映射关系,将源端字段写入目标端对应类型的字段中,若建表方式为已有表,目标端将会根据源端配置自动完成表结构配置和自动映射,若与期望不符可手动调整。
-
源端为Kafka类型时,需在源端手动新增和维护字段信息,字段配置说明如下:
- 原生字段:系统默认提供以下Kafka原生字段,默认启用且不可修改:
meta_key、meta_value、meta_partition、meta_headers、meta_offset、meta_timestamp,若无需同步该类字段至目标端,可不建立字段映射,源端该类字段数据将不会同步至目标端。 -
JSONPath解析嵌套字段:字段名称支持填写JSONPath,从Kafka消息中提取指定字段。
- 例如:{"data":{"name":"bob","age":35}}为kafka记录的value值,当源头表字段配置为$.data.name时,将会读取bob作为这个字段的值并写入对应目标表
- 例如:{"col1":"1","col2":"2","level1":{"level2":[{"level3":"test"}]}}为kafka记录的value值,当源头表字段配置为$.level1.level2[0].level3时,将会读取test作为这个字段的值并写入对应目标表
- 原生字段:系统默认提供以下Kafka原生字段,默认启用且不可修改:
- 映射配置完成后,最后配置高级配置(最大并发数,范围1~100)。
- 在完成高级配置后,单击保存并前置检查。
- 前置检查通过后,您可单击运行按钮,对任务进行运行。
脚本模式配置流程
- 单击创建,选择某个源端类型
- 在向导模式完成全部基本配置后,单击创建页面最上方的转为脚本模式按钮,进行切换。
- 编辑脚本,配置集成任务,库表实时采集的通用脚本配置如下:
_db_jobMeta:任务基础配置信息。其中syncMode用于标识任务运行类型,BASE_INCREMENT表示全量+增量模式;INCREMENT表示增量模式。env:任务高级配置信息。job.mode用于区分离线任务和实时任务;parallelism用于设置并发数。source、sink:数据源和目标端配置。_db_tableConfigs:库表实时采集为多表配置,可在该模块定义单表同步的源端与目标端配置。
JSON
1{
2 "_db_jobMeta": {
3 "name": "任务名称",
4 "description": "任务描述",
5 "parentFolderId": "folder_af42_bccdb16a1d00",
6 "type": "streaming",
7 "mode": "script",
8 "syncMode": "BASE_INCREMENT"
9 },
10 "env": {
11 "job.mode": "STREAMING",
12 "parallelism": 1,
13 "_db_enableCheckpoint": false
14 },
15 "source": [
16 {
17 "plugin_name": "插件名",
18 "_db_pluginId": "DB侧插件名"
19 }
20 ],
21 "sink": [
22 {
23 "plugin_name": "插件名",
24 "_db_pluginId": "DB侧插件名"
25 }
26 ],
27 "_db_tableConfigs": [
28 {
29 "tableIdentity": {
30 "sourceTable": "源端表名",
31 "sinkTable": "目标端表名"
32 },
33 "source": {
34 "_db_sourceChange": {}
35 },
36 "sink": {
37 "_db_isAutoCreated": true,
38 "_db_sinkNameRule": "SAME",
39 "_db_dmlConfig": {}
40 }
41 }
42 ]
43}
- 配置完成后,单击保存并前置检查。
- 前置检查通过后,您可单击运行按钮,对任务进行运行。
查看库表实时采集任务列表
创建完成的库表实时采集任务以列表形式展示,支持通过任务名称、源端类型、源端数据源、源端数据库或目的端库对列表进行筛选。
表6 库表实时采集任务列表项说明
| 列表项 | 说明 |
|---|---|
| 任务名称 | 库表实时采集任务的名称。 |
| 状态 | 全部、草稿、待触发、运行中、前置检查中、前置检查通过、前置检查失败、暂停中、已暂停和运行失败。 |
| 源端类型 | MySQL/Oracle/SQLServer。 |
| 源端数据源 | 数据来源的具体数据库名称。 |
| 源端数据库 | 数据来源的具体数据库名称。 |
| 目标端数据库/路径 | 数据写入的目标数据库名称/路径。 |
| 持续运行时长 | 任务从启动到当前持续运行的时间。 |
| 当前位点 | 标记任务在数据同步过程中的当前位置或时间点。 |
| 数据延迟时间 | 源端数据产生至目标端同步完成的时间间隔。 |
| 任务类型 | 说明任务的数据同步类型。 |
| 执行概况 | 任务的执行情况。 |
| 创建人 | 创建任务的用户名。 |
| 创建时间 | 创建该任务的时间节点。 |
| 更新人 | 最新一次操作任务的用户名。 |
| 更新时间 | 最新一次操作任务的时间节点。 |
| 操作 | 前置检查、编辑、运行、删除、暂停、复制、权限管理。 |
库表实时采集任务详情
单击任务名可查看进入任务详情,查看任务运行记录、运行日志、任务配置和统计信息。
运行记录
运行记录分为全量进度和实时同步,通过按钮进行切换查看。
表7 全量进度运行记录说明
| 列表项名称 | 说明 |
|---|---|
| 源端表名称 | 源端表的名称。 |
| 目标端表名称 | 写入目标表名称。 |
| 全量进度 | 全量数据同步的完成进度。 |
| 状态 | 全部、运行中、失败、成功、已终止、未开始和已暂停。 |
| 读取行数 | 任务从源端读取的数据行数。 |
| 写入行数 | 任务向目标端写入的数据行数。 |
| 读取大小 | 任务从源端读取的数据量大小。 |
| 写入大小 | 任务向目标端写入的数据量大小。 |
| 全量开始时间 | 全量数据同步开始的时间。 |
| 全量结束时间 | 全量数据同步结束的时间。 |
表8 实时同步运行记录说明
| 列表项名称 | 说明 |
|---|---|
| 源端表名称 | 源端表的名称。 |
| 目标端表名称 | 写入目标表名称。 |
| 状态 | 全部、运行中、失败、成功、已终止、未开始和已暂停。 |
| 读取行数 | 任务从源端读取的数据行数。 |
| 写入行数 | 任务向目标端写入的数据行数。 |
| 读取大小 | 任务从源端读取的数据量大小。 |
| 写入大小 | 任务向目标端写入的数据量大小。 |
| 操作 | 单击详情按钮,展开表详情信息,可查看读写速率和数据增量。 |
运行日志
页面内分为提交日志、运行日志两个子标签。支持关键词检索、日志级别筛选、时间范围筛选,提供日志下载功能。
任务配置
可查看任务的基本配置信息,脚本模式创建的任务仅支持以脚本形式查看。
统计信息
查看统计概览(已读取数据、已写入数据行数及大小)和趋势分析(运行时长、数据量和处理速率)。
评价此篇文章
