全部产品

OB 同步到 DataHub(仅专有云)

更新时间:2020-06-18 15:18:46

通过数据同步服务,您可以将 OceanBase(简称 OB)同步至 DataHub,快速实现使用流计算服务对数据实时分析。本文将引导您快速完成 OB 到 DataHub 项目表的实时数据同步。

注意:该功能仅适用于部分专有云用户。

功能说明

  • 支持 OB 物理数据表到 DataHub 的实时数据同步。
  • 支持 OB 中多张 schema 相同的物理表绑定为一张逻辑表,实时同步到 DataHub。

同步对象

  • OB 物理表以及绑定后的逻辑表。

DataHub 数据类型映射

MySQL 类型 DataHub 类型
*Int BigInt
Float / Double Double
Bit(1) Boolean
*Blob String (new String(byte[]))
Decimal Decimal
timestamp / date / time / datetime String
其他 String

前置条件

  • 您已经在阿里云 DataHub 控制台创建了 DataHub 实例。保证 Schema 相同,同时增加部分 field 作为元数据。
    • dss_table_name :String,表名称。
    • dss_database_name : String,库名称。
    • dss_sequence:String,变更 sequence(仅增量数据有)。
    • dss_timestamp:String,变更安全位点。
    • dss_record_type:String,变更类型(DELETE/UPDATE/INSERT/REPLACE)。
  • 您已经在 DataHub 实例中,创建了用作接收同步数据的 Project。

操作步骤

新建 DataHub 数据源

  1. 进入数据同步服务控制台,左侧导航栏中选择 数据源管理,进入数据源列表页。
  2. 点击 新建数据源,选择 新建 DataHub 数据源
  3. 在新页面中,输入数据源基本信息:
    • 数据源名称:必填,要创建的数据源名称,建议使用有业务意义的名称。
    • 数据源描述:选填,数据源作用等描述。
    • datahub Endpoint:DataHub 的服务地址。
    • datahub 项目名:DataHub 项目名称。
    • Access IDAccess Key:阿里云访问控制密钥 AccessKey 与 SecretKey。
      Datahub
  4. 点击 开始测试,测试完成后,状态显示 已连通
  5. 点击 提交,完成数据源新增。

创建 OB 到 DataHub 的同步任务

  1. 进入数据同步服务控制台,在左侧导航栏中,选择 数据同步任务
  2. 点击 添加任务,选择 数据源同步到流计算服务 > DataHub 数据源 的场景,即 OB 同步至 ODPS 的场景。
    ob-datahub
  3. 开始设置和校验参数:
    • 任务名称:包含字母、数字及下划线,并且以字母开头。任务名不能重复,建议使用有业务意义的名称。
    • 填写 数据来源信息,选择同步表:
      • 物理表:指单个 table 实例。选择 物理表 后,在 表名称 栏,输入物理表关键字,即可快速搜索并选择相应的 OB 物理表。
      • 逻辑表:指在分库分表场景下的 table,底层可能关联多个物理表。选择 逻辑表 后,在 表名称 栏,输入逻辑库标识的关键字,即可快速找到并选择需要的逻辑表。
        注意:使用逻辑表,您需要先在 元数据管理 > 逻辑表列表 页面,通过 录入逻辑表 将多张 schema 一致的 OB 物理表绑定成一张逻辑表。
    • 填写 数据去向信息
      • 数据源:输入同步的目标 DataHub 数据源的名称,可在 数据源管理 页面获取。
      • Project:输入 DataHub 实例中接收同步数据的 Project 名称。
      • topic:输入同步的目标 Topic。
      • shard.fields:逗号分隔的 list,如果是逻辑表推荐填写分库分表键列名,否则可以填写主键。
      • access idaccess key:输入阿里云访问密钥 AccessKey 与 SecretKey。任务
  4. 完成参数配置后,点击 提交

查看任务详情

任务创建完成之后,在该数据同步任务的详情页,除了该同步任务信息外,还可以查看任务进度信息及监控数据。

查看任务进度信息

同步任务 标签页下,可以查看任务进度详情:

  • 当任务仍在接入中,您可以查看到具体的 资源接入进度
    同步任务
  • 当任务已经接入成功,您可以查看 子任务详情,包括子任务名称、状态、位点信息等。
    • 其中,展示的位点信息即对应的 store 及 store 位点信息。
    • delay 即子任务的同步延时,存在一定误差。
      子任务

查看任务监控数据

如有 ceresdb 依赖,您还可以前往 监控 标签页,查看该任务的监控数据,如下图所示。

监控