首批通过分布式安全可靠测评,为关键业务系统打造
新建 OB_MySQL 至 DataHub 的数据同步项目
更新时间:2023-06-25 10:18:37
本文为您介绍如何同步 OceanBase MySQL 租户下的数据至 DataHub。
前提条件
已创建 OceanBase MySQL 租户类型的数据源。详情请参见 添加 OceanBase 数据源。
您也可以使用从 ODP 同步得到的逻辑表(假设环境中存在 ODP 并在部署 OMS 时开启同步 ODP 功能)。
已创建 DataHub 数据源,并确认连通性。详情请参见 添加 DataHub 数据源。
OMS 支持自动创建 Topic。如果您需要自行创建,请提前在 DataHub 控制台准备。详情请参见 创建 Topic。
使用限制
同步 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 表示该条数据为变更后的数据。 |
操作步骤
新建同步项目。
登录 OMS 控制台。
在左侧导航栏,单击 数据同步 。
在 数据同步 页面,单击 新建同步项目 > 新建数据库到大数据同步项目 。
选择源和目标。
在 选择源和目标 页面,选择 同步类型 为 OB_MySQL →DataHub 。
设置 同步链路名 称 。
说明
同步链路名称支持中文、数字和英文字母的组合,且不得超过 500 个字符。
在 源端 区域,选择 表类型 。
表类型 包括 单表 和 逻辑表 :
选择 单表 时,支持单表同步至 DataHub 的单个 Topic,各项参数的配置说明如下。
参数 描述 数据源 从 数据源 下拉列表中选择相应的数据源。 数据表 从 数据表 下拉列表中选择需要同步的 数据表 。 在左侧选中需要同步的数据表,单击 > ,将其添加至右侧列表中。 分片列 该项为选填。 选择 逻辑表 时,配置各项参数。
参数 描述 数据表 在文本框中输入数据表的关键字,从 数据表 下拉列表中选择需要同步的逻辑表。 逻辑表自动同步自 ODP。 分片列 单击文本框,从下拉列表中选择分片列。该项为选填。
设置 目标端 。
参数 描述 数据源 从下拉列表中选择已创建的 DataHub 数据源。 您可以单击 查看数据源 ,进入 数据源列表 页面查看所有已创建的数据源。 Topic 输入一个已存在的 Topic。如果您未创建 Topic,可以直接输入 Topic 名称,并在设置同步选项时勾选 结构初始化 ,OMS 会在,目标端自动创建该 Topic。 单击 下一步 。
设置同步选项。
设置源端同步选项。

参数 描述 同步选项 您可以勾选 初始化结构 、 需要全量同步 或 需要增量同步 。 增量同步的 DML 包括 Insert 、 Delete 和 Update 。 同步起始位点 指定同步某个时间节点之后的数据。 您可以选择时间节点,也可以直接输入时间戳。 该位点与当前归档日志的保留时间密切相关。如果无特殊要求,可以从当前位点开始启动。 单击 预检查 。
预检查并启动数据同步任务。
系统会自动完成数据同步的预检查。在 预检查 环节,OMS 会检测逻辑表 Schema 和物理表 Schema 是否一致。目前仅检查列名、列类型,以及是否为空,不检查长度和默认值。如果预检查报错,请排查并处理问题后,重新执行预检查,直至预检查成功。
预检查成功后,请单击 保存 并 启动任务 ,OMS 会直接创建数据同步任务。您也可以在左侧导航栏,单击 数据同步 ,在 数据同步 页面手动启动该数据同步任务。
如果中途接入数据的过程出错(通常由于网络不通或进程启动过慢导致),您可以进入任务的详情页面,单击右上角的 恢复 (此处为了延时,使用暂停再恢复)。