概述
批量创建单表同步任务允许一次性为多张来源表生成多个独立的单表同步任务,避免逐个创建的重复劳动。常用于一次性入湖大量结构化表,或周期性接入多个非结构化文件路径到目标 Catalog / Volume。
适用场景
业务库批量入湖:MySQL 中 100 张业务表一次性同步到湖仓。
多分库同源同步:多个分库(如 db_0 / db_1 / ... / db_n)的同名表合并到目标表。
多文件路径批量同步:FTP 上多个目录下的同结构文件批量落入 Volume。
前提条件
在开始本操作前,请确保满足以下条件:
已开通 DataBuddy 服务并完成空间初始化。
当前账号在目标 Workspace 中拥有 数据接入相关角色 (详见 成员与权限管理)。
已创建用于数据接入的计算资源(平台集群型)。
已创建并测试通过来源端数据源连接(详见 添加数据源连接)。
目标 Catalog 已规划好;如目标 Schema 或表不存在,可由批量任务在创建过程中自动建表(需要 Catalog 创建权限)。
使用限制
限制项 | 说明 |
来源端类型 | 结构化数据源(与单表任务一致)+ 非结构化文件(FTP / SFTP / COS / S3 / Azure Blob / HDFS / Rest API) |
目标端类型 | 表(结构化场景)/ Volume(文件场景) |
目标端禁用部分配置 | 选择目标 Catalog 后,目标 Schema、Table(或 Volume / 路径 / 文件名称)由表映射逐项指定,目标端表单中显示「请在映射中设置」 |
单任务并发 | 通道设置作用于每个单表任务,相当于批量设置每个单表任务属性 |
操作步骤
步骤 1:进入任务创建页
1. 登录 DataBuddy 控制台。
2. 在顶部切换到目标地域和 Workspace。
3. 进入 数据接入 > 任务管理 ,点击 创建同步任务 。
4. 选择 同步方式 :离线批量同步 。
步骤 2:填写基础信息
参数 | 说明 | 是否必填 | 默认值 |
任务前缀 | 用于生成单表任务名称的前缀;最终单表任务名格式 ${任务前缀}_${目标表名称} | 是 | — |
接入方式 | 批量离线单表接入 | 是 | — |
责任人 | 默认应用到生成的所有单表任务 | 是 | 当前创建用户 |
任务描述 | 默认应用到生成的所有单表任务 | 否 | — |
步骤 3:配置来源端
结构化场景
参数 | 说明 | 是否必填 |
源连接 | 与单表任务一致 | 是 |
选择源端表 | 支持选择多张表;支持按库 / 表检索;展示已选库表结构;可逐项删除 | 是 |
切割键 | 默认应用到每个单表任务 | 否 |
筛选条件 | 默认应用到每个单表任务 | 否 |
高级设置 | 默认应用到每个单表任务 | 否 |
非结构化文件场景
参数 | 说明 |
源连接 | 与单表任务一致 |
读取方式 | 数据同步 / 文件同步(与单表一致) |
文件格式 | 将以指定的文件格式解析文件 |
解析配置 | 与单表一致;默认应用到每个单表任务 |
高级设置 | 默认应用到每个单表任务 |
步骤 4:配置目标端
目标 Catalog 可选表类型或 Volume 类型,根据目标 Catalog 类型进行配置。
选择目标 Catalog 为表类型
参数 | 说明 | 是否必填 |
Schema 匹配策略 | 选择同步目标端 Schema 匹配策略,可选与来源库一致 / 自定义,自定义可通过匹配规则来进行配置 | 是 |
表匹配策略 | 选择同步目标端表匹配策略,可选与来源表一致 / 自定义,自定义可通过匹配规则来进行配置 | 是 |
写入模式 | append / overwrite / upsert | 是 |
高级设置 | 默认应用到每个单表任务 | 否 |
选择目标 Catalog 为 volume 类型
参数 | 说明 | 是否必填 |
写入模式 | append / overwrite / upsert | 是 |
文件格式 | 将以指定的文件格式写入文件 | 是 |
格式设置 | 写入文件将以设置的格式组装文件 | 是 |
标记完成文件 | 当文件写入完成后生成.ok 文件 | 是 |
CTL 文件 | 当文件写入完成后生成.ctl 文件 | 视文件类型 |
高级设置 | 默认应用到每个单表任务 | 否 |
步骤 5:配置表映射
点击「刷新源表和目标表映射」可以刷新源表和目标表映射关系。稍后将以该映射关系生成单表任务。
表映射区根据目标 Catalog 类型动态展示。
目标端为表类型 Catalog
字段 | 说明 |
任务名称 / 源库 / 源表 | 不可编辑,跟随来源端设置 |
目标 catalog | 在 Catalog 下指定 |
目标 Schema | 根据目标端设置的 schema 匹配规则,显示目标 Schema 名称,如果该 Schema 不存在,显示红色"!"提示, 可以选择换一个或创建一个 |
目标 Table | 根据目标端设置的表匹配规则,显示目标表名词,如果该表不存在,显示红色"!"提示, 可以选择换一个或创建一个 |
字段映射规则 | 可选同名 / 同行映射 |
计算资源 | 默认任务统一资源 |
目标端为 Volume 类型 Catalog
字段 | 说明 |
来源 | 可以通过点击「添加一行」生成一条单表任务 |
目标 Schema | 在 Catalog 下指定, 可以选择换一个或创建一个 |
目标 Volume | 在 Schema 下指定, 可以选择换一个或创建一个 |
Volume 路径 | Volume 内子路径 |
文件名称 | 路径端点为文件时自动默认展示该文件名变量 |
表映射操作
操作 | 说明 |
批量操作 | 配置字段映射规则、配置计算资源、移除选中行 |
仅展示未配置 | 过滤出尚未配置目标的行 |
批量配置目标 schema | 批量配置目标 schema |
批量配置目标 volume | 批量配置目标 volume |
列表操作 - 编辑 | |
列表操作 - 移除 | 移除该映射条目 |
步骤 6:单表覆写
步骤 7:配置运行设置
步骤 8:保存并创建单表任务
点击 开始批量创建 。系统返回任务列表页,在页面右下角弹出进度弹层 :
字段 | 说明 |
批量任务状态 | 创建中 / 已完成 / 正在终止 / 已终止 |
批量任务名称 | 显示批量任务前缀 |
进度指标 | 成功数 / 异常数 / 总任务数 |
删除 | 删除批量任务,则可删除批量任务,但是已生成的单表任务不受影响 |
点击「任务列表」区域可查看具体的单表任务创建详情:
字段 | 说明 |
任务名称 | 如果任务创建成功,则显示单表任务名;否则显示「-」 |
来源 / 目标 | 来源库表 / 目标库表 |
状态 | 全部 tab 下展示;按 全部 / 成功 / 失败 切换 |
验证结果
批量任务执行完成后,您可以通过以下方式确认:
1. 进度弹层显示 已完成 且 成功数 = 总任务数。
2. 进入 数据接入 > 任务管理 任务列表,按任务前缀搜索,看到生成的多个单表任务。
3. 任意打开一个生成的单表任务,配置项与批量任务设置一致;可独立调试、发布、调度。
常见问题
Q:批量任务创建后,单表任务是否仍然可以独立编辑?
A:可以。生成的单表任务与手动创建的单表任务地位相同,可独立编辑、调试、发布、删除。修改单表任务不会影响批量任务记录。
Q:单表覆写后,再次回到批量任务修改全局设置会覆盖吗?
A:批量任务保存后即生效,已生成的单表任务不会被批量任务的后续配置覆盖。如需统一更新,需对每个单表任务单独编辑。
Q:批量任务支持哪些数据源?
Q:批量任务的字段映射如何处理多张异构表?
A:批量任务统一不在批量层级配置字段映射,每个单表任务独立配置。如表结构差异较大,建议拆分为多个批量任务,分别处理同结构表组。