---
title: "新建 OB_MySQL 至 DataHub 的数据同步项目 | OceanBase 文档中心"
description: 新建 OB_MySQL 至 DataHub 的数据同步项目 本文为您介绍如何同步 OceanBase MySQL 租户下的数据至 DataHub。 前提条件 已创建 OceanBase MySQL 租户类型的数据源。详情请参见 添加 OceanBase 数据源 。 您也可以使用从 ODP 同步得到的逻辑表（假设环境中…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*L03BS6f-o40AAAAAAAAAAAAADiGDAQ/original) 迁移服务 OMSV 2.1.2 企业版

# 新建 OB_MySQL 至 DataHub 的数据同步项目

更新时间：2023-06-25 10:18:37

本文为您介绍如何同步 OceanBase MySQL 租户下的数据至 DataHub。

## 前提条件

- 已创建 OceanBase MySQL 租户类型的数据源。详情请参见 [添加 OceanBase 数据源](https://www.oceanbase.com/docs/enterprise-oms-doc-cn-10000000000373936)。

  您也可以使用从 ODP 同步得到的逻辑表（假设环境中存在 ODP 并在部署 OMS 时开启同步 ODP 功能）。
 - 已创建 DataHub 数据源，并确认连通性。详情请参见 [添加 DataHub 数据源](https://www.oceanbase.com/docs/enterprise-oms-doc-cn-10000000000373940)。
 - OMS 支持自动创建 Topic。如果您需要自行创建，请提前在 DataHub 控制台准备。详情请参见 [创建 Topic](https://help.aliyun.com/document_detail/158792.html)。

## 使用限制

- 同步 OB_MySQL 租户下的增量数据至 DataHub 时，其中包含表结构至 DataHub Schema 的初始化 Schema。
 - 当一条链路意外中断进行断点续传时，可能会存在部分重复数据（最近一分钟内），需要下游具备排重能力。

DataHub 相关的使用限制如下：

- DataHub 官方限制一条消息具体的大小根据云环境而定，通常为 1 MB。
 - 由于是攒批发送，DataHub 限制一次只能发送 4 MB 的消息。如果单条消息满足可发送的前提，您可以通过更改 Connector Sink 端的配置项 `batch.size` 来设置攒批大小，默认为 20 条消息攒批发送（时间窗口一秒内）。

## OB_MySQL 至 DataHub 同步支持范围

- 支持单物理表同步至 DataHub 单 Topic。
 - 支持增量 DML 同步：INSERT、UPDATE 和 DELETE。

下表为 OB_MySQL DataType 的支持情况。

| 数据类型 | 映射 DataHub 类型 |
| --- | --- |
| BIT | BIGINT |
| CHAR | STRING |
| BINARY | STRING |
| VARBINARY | STRING |
| INT | BIGINT |
| TINYINT | BIGINT |
| SMALLINT | BIGINT |
| MEDIUMINT | BIGINT |
| BIGINT | BIGINT |
| FLOAT | FLOAT |
| DOUBLE | DOUBLE |
| DECIMAL | DECIMAL |
| DATE | STRING |
| TIME | STRING |
| YEAR | STRING |
| DATETIME | STRING |
| TIMESTAMP | STRING |
| VARCHAR | STRING |
| TINYBLOB | STRING |
| TINYTEXT | STRING |
| BLOB | STRING |
| TEXT | STRING |
| MEDIUMBLOB | STRING |
| MEDIUMTEXT | STRING |
| LONGBLOB | STRING |
| LONGTEXT | STRING |

## 检查 OB_MySQL 源端字符集的配置

源端为 OceanBase 时，OMS 支持字符集配置为 UTF8 和 GBK 时的数据同步。

## 补充 Properties

如果自行创建 Topic，启动同步任务前，请在 DataHub 的 Schema 中补充下述 Properties。如果由 OMS 自动创建 Topic 和结构同步，OMS 会自动补充下述 Properties。

| 名称 | 类型 | 含义 |
| --- | --- | --- |
| oms_timestamp | STRING | 发生变更的时间。 |
| oms_table_name | STRING | 源端为表时，变更表名。 |
| oms_database_name | STRING | 源端为数据库时，变更库名。 |
| oms_sequence | STRING | 变更序列号。承诺相同机器上，同一个主键不断递增。 |
| oms_record_type | STRING | 变更类型，包括 UPDATE、INSERT 和 DELETE。 |
| oms_is_before | STRING | 如果是 UPDATE 类型，Y 表示该条数据为变更前的数据。 |
| oms_is_after | STRING | 如果是 UPDATE 类型，Y 表示该条数据为变更后的数据。 |

## 操作步骤

1. 新建同步项目。

      1. 登录 OMS 控制台。
      2. 在左侧导航栏，单击 **数据同步** 。
      3. 在 **数据同步** 页面，单击 **新建同步项目** > **新建数据库到大数据同步项目** 。
 2. 选择源和目标。

      1. 在 **选择源和目标** 页面，选择 **同步类型** 为 **OB_MySQL** **→DataHub** 。
      2. 设置 **同步链路名** **称** **。**

        **说明**

        同步链路名称支持中文、数字和英文字母的组合，且不得超过 500 个字符。
      3. 在 **源端** 区域，选择 **表类型** 。

        **表类型** 包括 **单表** 和 **逻辑表** ：

             - 选择 **单表** 时，支持单表同步至 DataHub 的单个 Topic，各项参数的配置说明如下。

              | 参数 | 描述 |
              | --- | --- |
              | 数据源 | 从 **数据源** 下拉列表中选择相应的数据源。 |
              | 数据表 | 从 **数据表** 下拉列表中选择需要同步的 **数据表** 。 在左侧选中需要同步的数据表，单击 **>** ，将其添加至右侧列表中。 |
              | 分片列 | 该项为选填。 |
             - 选择 **逻辑表** 时，配置各项参数。

              | 参数 | 描述 |
              | --- | --- |
              | 数据表 | 在文本框中输入数据表的关键字，从 **数据表** 下拉列表中选择需要同步的逻辑表。 逻辑表自动同步自 ODP。 |
              | 分片列 | 单击文本框，从下拉列表中选择分片列。该项为选填。 |
      4. 设置 **目标端** 。

        | 参数 | 描述 |
        | --- | --- |
        | 数据源 | 从下拉列表中选择已创建的 DataHub 数据源。 您可以单击 **查看数据源** ，进入 **数据源列表** 页面查看所有已创建的数据源。 |
        | Topic | 输入一个已存在的 Topic。如果您未创建 Topic，可以直接输入 Topic 名称，并在设置同步选项时勾选 **结构初始化** ，OMS 会在，目标端自动创建该 Topic。 |
      5. 单击 **下一步** 。
 3. 设置同步选项。

      1. 设置源端同步选项。

        ![同步](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/2330606161/p252246.png)

        | 参数 | 描述 |
        | --- | --- |
        | 同步选项 | 您可以勾选 **初始化结构** 、 **需要全量同步** 或 **需要增量同步** 。 增量同步的 DML 包括 **Insert** 、 **Delete** 和 **Update** 。 |
        | 同步起始位点 | 指定同步某个时间节点之后的数据。 您可以选择时间节点，也可以直接输入时间戳。 该位点与当前归档日志的保留时间密切相关。如果无特殊要求，可以从当前位点开始启动。 |
      2. 单击 **预检查** 。
 4. 预检查并启动数据同步任务。

   系统会自动完成数据同步的预检查。在 **预检查** 环节，OMS 会检测逻辑表 Schema 和物理表 Schema 是否一致。目前仅检查列名、列类型，以及是否为空，不检查长度和默认值。如果预检查报错，请排查并处理问题后，重新执行预检查，直至预检查成功。

   预检查成功后，请单击 **保存** 并 **启动任务** ，OMS 会直接创建数据同步任务。您也可以在左侧导航栏，单击 **数据同步** ，在 **数据同步** 页面手动启动该数据同步任务。

如果中途接入数据的过程出错（通常由于网络不通或进程启动过慢导致），您可以进入任务的详情页面，单击右上角的 **恢复** （此处为了延时，使用暂停再恢复）。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
