全部产品
云市场

OB 同步到 DataHub(仅专有云)

更新时间:2020-05-28 13:00:08

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

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

支持功能

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

同步对象

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

支持的 SQL 操作类型

OceanBase > Datahub 实时同步支持的 SQL 操作类型如下:

  • Insert
  • Delete
  • Update

前置条件

  • 您已经在阿里云 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 名称。
      • Endpoint:输入 Datahub 实例的 Endpoint 服务地址。
      • topic:输入同步的目标 Topic。
      • shard.fields:逗号分隔的 list,如果是逻辑表推荐填写分库分表键列名,否则可以填写主键。
      • Access IDAccess Key:输入阿里云访问密钥 AccessKey 与 SecretKey。任务
  4. 完成参数配置后,点击 提交

任务创建完成之后,您可以在该数据同步任务的详情页校验并监控该任务的运行情况。

查看任务详情

在该任务的详情页,您可以获取到以下任务信息:

  • 同步信息 标签页下,查看到该同步任务的数据来源信息及其去向信息。
  • 监控 标签页下,查看任务的实时监控数据。
  • 同步任务标签页下,可以查看各个子任务的概览信息,包括任务编号、名称、运行状态等。任务状态