批量 ETL

适用版本:1.0.0。任务 → 新增/编辑 → 插件 BATCH_ETL。

入口与准备

使用 ADMIN 创建、配置和保存任务;ADMIN 或 OPERATOR 可以执行已发布定义,详细日志和输入输出变量由 ADMIN 查看。资源必须启用并可被执行节点访问。任务公共超时、重试和版本规则见任务,角色动作见权限矩阵。

字段说明

“默认值”指 1.0.0 新建表单的初始值;空表示尚未填写,不表示必填项可以省略。显示条件决定当前分支中是否出现字段。“条件必填”只在对应分支启用时要求填写。

表与写入配置

字段 是否必填 默认值 显示条件 作用范围
来源数据库 必填 无 始终 当前任务版本
目标数据库 必填 无 始终 当前任务版本
来源 Schema(可选) 可选 空 始终 当前任务版本
目标 Schema(可选) 可选 空 始终 当前任务版本
同步表 必填 空列表 始终 当前任务版本
逻辑键 条件必填 空列表 写入方式非 APPEND 或增量提取 当前任务版本
提取方式 选择 FULL 始终 当前任务版本
写入方式 选择 UPSERT 始终 当前任务版本
空值策略 选择 OVERWRITE 始终 当前任务版本
目标表前缀(可选) 可选 空 始终 当前任务版本
目标表后缀(可选) 可选 空 始终 当前任务版本
增量字段 条件必填 空 INCREMENTAL 当前任务版本
标记类型 选择 TIMESTAMP INCREMENTAL 当前任务版本
初始增量值 条件必填 空 INCREMENTAL 当前任务版本
初始逻辑键值 条件必填 空列表 INCREMENTAL 当前任务版本
导入前清空 可选 false FULL 当前任务版本
清空方式 选择 DELETE FULL 且导入前清空 当前任务版本
我已了解:删除后按批提交,失败可能保留部分结果 条件必选 false 清空方式 DELETE 当前任务版本
我已了解:TRUNCATE 可能隐式提交,无法整体回滚 条件必选 false 清空方式 TRUNCATE 当前任务版本
我已了解:追加写入自动重试可能产生重复数据 条件必选 false APPEND 且任务重试大于 0 当前任务版本
  • 来源数据库:提供批量读取的来源数据库连接。
  • 目标数据库:提供批量写入的目标数据库连接。
  • 来源 Schema(可选):限定来源表所在的 Schema。
  • 目标 Schema(可选):限定目标表所在的 Schema。
  • 同步表:逐项列出需要同步的表,不允许重复。
  • 逻辑键:用于匹配目标记录和增量同值排序,各表需具备这些列。
  • 提取方式:选择全量或增量读取。
  • 写入方式:选择目标表追加、插入、更新或合并写入方式。
  • 空值策略:控制来源空值覆盖或保留目标已有值。
  • 目标表前缀(可选):生成目标表名时添加的前缀。
  • 目标表后缀(可选):生成目标表名时添加的后缀。
  • 增量字段:各表用于跟踪增量进度的列。
  • 标记类型:解释和比较增量标记值的类型。
  • 初始增量值:尚无检查点时使用的起始标记。
  • 初始逻辑键值:与逻辑键顺序对应的初始同值排序位置。
  • 导入前清空:全量导入前先清空目标表。
  • 清空方式:选择 DELETE 或 TRUNCATE 清空方式。
  • 我已了解:删除后按批提交,失败可能保留部分结果:确认删除后分批提交可能在失败时留下部分结果。
  • 我已了解:TRUNCATE 可能隐式提交,无法整体回滚:确认 TRUNCATE 可能隐式提交且无法整体回滚。
  • 我已了解:追加写入自动重试可能产生重复数据:明确接受追加写入重试可能重复写入的风险。

执行限制

字段 是否必填 默认值 显示条件 作用范围
读取批次行数 有默认值 2000 高级配置 当前任务版本
写入批次行数 有默认值 1000 高级配置 当前任务版本
查询超时(秒) 有默认值 300 高级配置 当前任务版本
最大表数 有默认值 500 高级配置 当前任务版本
单表最大行数 有默认值 10000000 高级配置 当前任务版本
总最大行数 有默认值 50000000 高级配置 当前任务版本
  • 读取批次行数:1–100000。
  • 写入批次行数:1–100000。
  • 查询超时(秒):1–86400。
  • 最大表数:1–500。
  • 单表最大行数:1–9223372036854775807。
  • 总最大行数:1–9223372036854775807。

使用边界

  • 最多 500 张表;同步表和逻辑键不重复。
  • 增量模式禁止 APPEND;每张表必须具备相同配置的水位列和逻辑键。
  • 各表提交存在独立边界,失败不能推断已成功表回滚。

典型配置:同步 orders 和 order_items

按下表填写界面,资源名称需替换为自己的已启用资源。这是配置说明,不是可直接导入的 JSON。完整数据准备与执行步骤见本节末尾教程。

来源orders和order_items各三行;目标提前创建copy_orders和copy_order_items,并保留id主键。

配置项 填写内容
来源数据库 独立源库
目标数据库 独立目标库
同步表 ["orders","order_items"]
逻辑键 ["id"]
提取方式 FULL
写入方式 UPSERT
导入前清空 false
目标表前缀(可选) copy_

预期结果: copy_orders为3行、金额600;copy_order_items为3行、qty合计6;重复执行后主键和汇总保持不变。

跟做完整教程。保存定义后再手动执行;实例状态与业务结果分别核对。

技术字段对照

以下键名用于导入配置、接口或排障。规则中的 [] 表示集合元素;不需要把这些键名填入界面标签。

类别 / 字段 技术键名
表与写入配置 / 来源数据库 sourceResourceId
表与写入配置 / 目标数据库 targetResourceId
表与写入配置 / 来源 Schema(可选) sourceSchema
表与写入配置 / 目标 Schema(可选) targetSchema
表与写入配置 / 同步表 tables
表与写入配置 / 逻辑键 logicalKeys
表与写入配置 / 提取方式 extractMode
表与写入配置 / 写入方式 loadMode
表与写入配置 / 空值策略 nullPolicy
表与写入配置 / 目标表前缀(可选) targetNaming.prefix
表与写入配置 / 目标表后缀(可选) targetNaming.suffix
表与写入配置 / 增量字段 incremental.watermarkColumn
表与写入配置 / 标记类型 incremental.watermarkType
表与写入配置 / 初始增量值 incremental.initialWatermark
表与写入配置 / 初始逻辑键值 incremental.initialLogicalKeyValues
表与写入配置 / 导入前清空 clearBeforeImport
表与写入配置 / 清空方式 clearMode
表与写入配置 / 我已了解:删除后按批提交,失败可能保留部分结果 acknowledgePartialCommit
表与写入配置 / 我已了解:TRUNCATE 可能隐式提交,无法整体回滚 acknowledgeNonTransactionalTruncate
表与写入配置 / 我已了解:追加写入自动重试可能产生重复数据 allowNonIdempotentRetry
执行限制 / 读取批次行数 execution.fetchSize
执行限制 / 写入批次行数 execution.writeBatchSize
执行限制 / 查询超时(秒) execution.queryTimeoutSeconds
执行限制 / 最大表数 execution.maxTables
执行限制 / 单表最大行数 execution.maxRowsPerTable
执行限制 / 总最大行数 execution.maxTotalRows

相关页面

任务与版本 · 参数与表达式 · 场景教程

文档版本 1.0.0。命令中的示例路径、资源和端口需替换为自己的环境。