本文将会为您介绍RDS for MySQL数据如何通过DataWorks-数据集成离线同步至Hologres。

背景信息

阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。

Hologres是一款实时交互式分析产品,与大数据生态无缝打通,与大数据智能研发平台DataWorks深度融合,您可以通过DataWorks数据集成离线同步将RDS for MySQL数据同步至Hologres,再进行高并发低延时的查询分析处理。关于数据集成同步数据源数据至Hologres的原理可以参见Hologres Writer

前提条件

  1. 开通DataWorks,详情请见入门概述
  2. 开通Hologres,并将实例绑定至DataWorks工作空间,详情请参见HoloStudio快速入门
  3. 开通云数据库RDS for MySQL,详情请参见快速入门
说明 请确保上面开通的产品在同一个region,否则会访问不通。

操作步骤

  1. 准备RDS数据

    在开始之前,需要先在RDS准备一张表并导入数据,也可以选择已有的RDS表。示例选用已有RDS表,其建表SQL如下:

    CREATE TABLE `rds_test` (
        `id` int(11) NULL COMMENT '编号',
        `name` text NULL COMMENT '姓名',
        `r_time` datetime NULL COMMENT '时间',
        `address` text NULL COMMENT '地址',
        `salary` double NULL COMMENT '薪资'
    ) ENGINE=InnoDB
    DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci;

    部分数据展示如下:

    760
  2. 配置Hologres数据源

    在使用数据集成离线同步数据之前,需要数据集成配置Hologres数据源,操作步骤如下:

    1. 登录DataWorks,并单击右上角小扳手,进入工作空间管理,选择左侧菜单栏数据源管理 > 新增数据源 > Hologres数据源761
    2. 填写Hologres数据源信息843
      参数 描述
      数据源类型 目前仅支持阿里云实例模式
      数据源名称 数据源名称必须以字母、数字、下划线组合,且不能以数字和下划线开头。
      数据源描述 对数据源进行简单描述,不得超过80个字符。
      适用环境 可以选择开发生产环境。
      说明 仅标准模式工作空间会显示该配置。
      实例ID 输入要同步的Hologres实例ID,您可以进入Hologres引擎管理页面进行查看。
      数据库名 输入Hologres的数据库名称。
      AccessKey ID 访问密钥中的AccessKey ID,您可以用户管理页面进行复制。
      AccessKey Secret 访问密钥AccessKey Secret,您可以在用户管理页面进行复制。
  3. 配置RDS数据源

    配置完Hologres数据源之后,需要配置RDS数据源,操作步骤如下:

    1. 在新增数据源页面选择MySQL数据源763
    2. 填写MySQL数据源信息764
      参数 描述
      数据源类型 阿里云实例模式。
      数据源名称 数据源名称必须以字母、数字、下划线组合,且不能以数字和下划线开头。
      数据源描述 对数据源进行简单描述,不得超过80个字符。
      适用环境 可以选择开发或生产环境,仅标准模式工作空间会显示该配置。
      地区 选择RDS开通的region
      RDS实例ID 进入RDS管理控制台的基本信息页面,复制"RDS实例ID"填写到此处
      数据库名 RDS的数据库名
      用户名 登录RDS数据库的用户名
      密码 登录RDS数据库的密码
  4. 数据集成同步数据

    配置完成数据源之后,前往数据集成进行离线同步数据至Hologres,具体操作步骤如下:

    1. 数据集成新建同步任务765
    2. 选择数据来源为MySQL数据源,表为需要同步数据的RDS表。767
    3. 数据去向单击一键生成目标表,将会在Hologres自动创建一张表,用于接收RDS同步的数据。也可以根据业务情况修改建表SQL,但要保持字段类型一一映射。
      说明 您也可以提前在Hologres中创建用于接收数据的表。
      768
    4. 配置写入模式和写入冲突策略。769
      参数 描述 必选 说明
      分区信息 给对应的分区字段赋值 可以赋参数也可以指定固定的值
      写入模式 writeMode包括SDK(极速写入)和SQL(INSERT INTO)两种模式:
      • SDK(极速写入)模式通过Hologres的实时数据API写入数据,为您提供最优的性能。
      • SQL(INSERT INTO)模式通过PSQL的INSERT INTO命令写入数据。
      使用SDK模式需要使用实时数据API来完成,详见实时数据API概述请提工单申请开通实时数据API
      写入冲突策略 更新(Replace)模式:新数据覆盖旧数据。忽略(Ignore)模式时:忽略新数据。 写入冲突策略仅适用于有主键的表。
    5. 配置字段映射,可以选择全部字段同步,也可以选择部分字段同步,示例如下:770
    6. 配置通道控制,若是写入模式是SDK,需要使用独享资源组771
      参数 描述 必选 说明
      任务期望最大并发数 数据同步任务内,可以从源并行读取或并行写入数据存储端的最大线程数。
      同步速率 设置同步速率可以保护读取端数据库,以避免抽取速度过大,给源库造成太大的压力。 同步速率建议限流,结合源库的配置,请合理配置抽取速率。
      错误记录数 错误记录数,表示脏数据的最大容忍条数。
      任务资源组 任务运行的机器,SDK模式必须使用独享资源组 详情请参见独享数据集成资源组新增自定义数据集成资源组
    7. 任务配置完成之后,单击页面上方的保存 > 运行 ,系统将会把RDS数据导入Hologres。
  5. Hologres查数据

    任务同步完成之后,可以前往Hologres查询数据,示例如下:

    SELECT * FROM rds_test;
    772

注意事项

  1. 若是使用SDK模式同步数据,需要使用DataWorks的独享资源组,且为数据集成资源组,且可用区必须与RDS在同一区,不能同一region不同区,详情请见购买独享资源
  2. 同步RDS数据,需要为独享资源组配置专有网络,详情请见操作独享资源