跳转到主要内容

数据同步

功能定位

数据同步把 ERP、业务库或文件等源数据按白名单配置抽取到 Doris 的 ODS 层。它解决“数据如何稳定进入平台”的问题,重点不是写复杂 SQL,而是把源表、目标表、全量或增量模式、批次、重试和运行记录管理清楚。

数据同步

图 7-2 白名单源表到 Doris 的受控同步

适用角色

ETL 管理员、数据开发人员和数据运维人员。

页面入口

数据治理中心 → 数据同步(/bi/etl/seatunnel)。

页面结构与关键字段

区域 作用
集成状态 显示数据同步集成、MySQL 源库、Doris ODS、内部令牌和 ETL 调度是否可用
同步作业 展示作业名称、同步链路、模式、最近运行和操作
运行实例 展示批次号、作业、模式、状态、读写行数、尝试次数和创建时间
操作 全量执行、增量执行、运行记录、重试

操作步骤

  1. 确认状态栏中的源库、Doris ODS 和调度服务均为可用;任何一项异常都先处理环境。
  2. 点击“新建作业”,选择服务端白名单中的源表和目标 ODS 表。页面不允许手工输入任意库表。
  3. 选择同步模式:首次接入或需要重建时使用全量;日常增量按时间戳、主键或批次水位同步。
  4. 保存后先执行一次小范围验证,检查读取行数、写入行数和抽样数据。
  5. 在“运行实例”中按批次号跟踪;重试应沿用原批次号,避免产生重复订单或重复库存。
  6. 核对 Doris 目标表行数、主键唯一性和最新时间,再通知下游加工。

输入与输出

输入是源表、目标表、同步模式、字段映射和批次参数;输出是 ODS 表数据、批次记录、读写行数和运行状态。

宏澜家电示例

将 ERP 的 sales_order 和 sales_order_detail 同步到 ods_sales_order 与 ods_sales_order_detail。首次全量 18 万行,之后每小时按更新时间增量。某次网络中断后重试保持同一批次号,Doris 幂等覆盖,没有产生重复订单。

客户应用演示:把 ERP 销售订单同步到 ODS

业务情境: 需要首次同步宏澜 ERP 的销售订单、客户和产品表。

第一步:进入“数据治理中心 → 数据同步”

第1步重点操作:进入“数据治理中心 → 数据同步”

步骤图 36-01 第1步:进入“数据治理中心 → 数据同步”。红框标出进入数据治理中心 → 数据同步。

进入“数据治理中心 → 数据同步”,新建同步作业。

第二步:按白名单选择源表和 Doris ODS 目标表

第2步重点操作:按白名单选择源表和 Doris ODS 目标表

步骤图 36-02 第2步:按白名单选择源表和 Doris ODS 目标表。红框标出按白名单选择源表和 Doris ODS 目标表。

按白名单选择源表和 Doris ODS 目标表,设置全量或增量模式。

第三步:配置批次号、字段映射、失败重试和运行超时

第3步重点操作:配置批次号、字段映射、失败重试和运行超时

步骤图 36-03 第3步:配置批次号、字段映射、失败重试和运行超时。红框标出配置批次号、字段映射、失败重试和运行超时。

配置批次号、字段映射、失败重试和运行超时。

第四步:先手工运行一次

第4步重点操作:先手工运行一次

步骤图 36-04 第4步:先手工运行一次。红框标出先手工运行一次。

先手工运行一次,检查同步行数、主键重复和目标表数据。

第五步:核对无误后启用周期任务

第5步重点操作:核对无误后启用周期任务

步骤图 36-05 第5步:核对无误后启用周期任务。红框标出核对无误后启用周期任务。

核对无误后启用周期任务,并在运行记录中查看批次和状态。

最终结果与效果

源表数据进入 ODS,页面显示批次号、行数、耗时和运行状态;重复执行不会重复新增订单。

操作提示: 同步只负责搬运,不负责业务汇总;字段清洗应在数据加工层完成。

当前演示环境说明

截图中的页面提示“数据同步集成已关闭”,源库连接失败、Doris ODS 连接失败、ETL 调度不可用。该状态用于说明诊断信息如何呈现,部署环境启用后才会出现可执行的同步任务。

常见问题

执行按钮不可用。 作业可能已停用,或当前环境关闭了同步集成。

读取行数正常但写入为 0。 检查字段类型、目标表主键、Doris 分区和写入权限。

重试后数据翻倍。 说明目标表没有正确使用批次幂等键;停止继续重试并联系数据开发核查。

开发人员参考

  • 接口:GET /bi/etl/status、GET/POST /bi/etl/jobs、POST /bi/etl/jobs/{jobId}/runs、POST /bi/etl/runs/{runId}/retry
  • 权限:bi:etl:seatunnel
  • 源表、目标表和字段映射由服务端白名单约束;执行过程使用内部令牌调用 SeaTunnel。
  • 运行记录保存批次号、模式、读写行数、尝试次数和错误摘要,不在前端暴露连接口令。