数据集成(Data Integration)产品提供数据同步服务,有向导模式和脚本模式两种方式。向导模式更简单,脚本模式更灵活。本文主要介绍如何将表格存储中的增量数据(Put/Update/Delete)通过表格存储功能近实时地同步到MaxCompute中。

说明 目前使用离线方式同步,因此同步延迟约10分钟。

步骤一: 新增数据源

将表格存储数据库添加为新增数据源,具体操作如下:

  1. 以项目管理员身份登录DataWorks控制台
    说明 仅项目管理员角色可以新建数据源,其他角色的成员仅可查看数据源。
  2. 找到目标工作空间,单击进入数据集成
  3. 选择同步资源管理 > 数据源,单击新增数据源
  4. 新增数据源弹出框中,选择数据源类型为Tablestore
  5. 在弹出的窗口中,填写配置。
    将MaxCompute数据同步到表格存储
    参数 说明
    数据源名称 数据源的名称,例如,gps_data。
    Endpoint 填入目标Tablestore实例的服务地址
    • 如果Tablestore的实例和MaxCompute在同一个region,填入私网地址。
    • 如果Tablestore的实例和MaxCompute不在同一个region,填入公网地址。
    • 不能填入VPC地址。
    Tablestore实例ID Tablestore的实例的名称。
    Access Id 登录账户的AccessKeyID。获取方式参见创建AccessKey
    Access Key 登录账户AccessKeyID对应的AccessKeySecret。获取方式参见创建AccessKey
  6. 单击测试连通性
  7. 单击完成,在数据源页面会出现该数据源信息。

步骤二 创建MaxCompute数据源

本操作与步骤一类似,只是选择MaxCompute作为数据源。

本示例中,该数据源名称使用OTS2ODPS。

步骤三 创建增量实时数据通道

  1. 大数据开发套件页面单击同步任务
  2. 在页面右侧单击第二步,新建同步任务
  3. 选择向导模式
  4. 选择步骤一创建的数据源。
    参数说明如下:
    参数 说明
    数据源 已创建的表格存储数据源。在本示例中,选择gps_data。
    数据集成自动从表格存储获取最新数据表。

    选择的表必须开通Stream。如果没开通Stream,单击右侧一键开通Stream即可开通。

    增量数据有效期最大为24小时。

    开始时间 增量导出的起始时间。

    如果是周期性的任务,必须填入变量值,默认值为 ${start_time}

    结束时间 增量导出的结束时间。

    如果是周期性的任务,必须填入变量值,默认值为${end_time}

    状态表 用于存储增量导出过程中的一些状态值,推荐使用默认值。
    最大重试次数 网络不稳定时的最大重试次数,默认为30次,可自定义配置。
    导出时序信息 导出的数据中是否包含时间信息,默认不勾选。
  5. 选择目标页面,选择步骤2创建的数据源。
    参数说明如下:
    参数 说明
    数据源 已创建的MaxCompute数据源。在本示例中,选择OTS2ODPS。
    选择该数据源下的表。如果没有表,可以单击右侧一键生成目标表创建。在弹出的对话框中,将your_table_name修改为要创建的表名,例如,ots_gps_data。(由于timestamp是MaxCompute的保留字段,此处不能使用,本示例中,用ts代表timestamp。)
    分区信息 默认值为 ${bdp.system.bizdate},表示MaxCompute中的数据按日期分区。
    清理规则 选择写入前清理已有数据 Insert Overwrite。
  6. 字段映射页面,确保表格存储表和MaxCompute表完成映射。字段映射页面左侧是TableStore的列名,在多版本(默认)模式下不能修改,必须是自动生成的pk,colname,version,colvalue,optype和sequenceinfo,其中pk是用户table中的pk列名。
  7. 通道控制页面,设置参数。
    参数说明如下:
    参数 说明
    作业速率上限 范围:1MB/s − 20MB/s。如果需要提高上限,请提交工单
    作业并发数 最大可以设置为10。每个作业的最大速率 = 作业速率上限/作业并发数。
    错误记录数 出错率的条数超过此值后任务会失败,默认为0。
  8. 预览保存页面,检查配置。
  9. 单击保存,保存任务。本示例中,保存的任务名为OTStoODPS。

步骤四 设置调度参数

  1. 单击数据开发
  2. 任务开发页签中,双击打开已创建的任务OTStoODPS。
  3. 单击调度配置,设置调度参数。

    按照如下参数配置后,任务会从第二天开始执行。

    参数说明如下:
    参数 说明
    调度状态 默认不勾选,表示执行。
    出错重试 建议勾选,表示出错后会重试。
    生效日期 建议使用默认值。
    调度周期 本示例中,选择分钟。
    开始时间 本示例中,设为00时00分。
    调度间隔 本示例中,选择5分钟。
    结束时间 本示例中,设为23时59分。
    依赖属性 依赖属性区域,根据业务情况填写,或者使用默认值。
    跨周期依赖 跨周期依赖区域,根据业务情况填写,或者使用默认值。
  4. 单击参数配置
    参数说明如下:
    参数 说明
    ${bdp.system.bizdate} 无需配置。
    startTime 调度配置中设置开始时间的变量。在本示例中,设为$[yyyymmddhh24miss-10/24/60],表示调度任务开始的时间减去10分钟。
    endTime 调度配置中设置结束时间的变量。在本示例中,设为$[yyyymmddhh24miss-5/24/60],表示调度任务开始的时间减去5分钟。

步骤五 提交任务

单击顶部菜单栏中的提交图标,将同步任务提交至调度系统中。调度系统会根据配置的属性,自动定时执行。

步骤六 查看任务

  1. 单击运维中心
  2. 在左侧导航栏中,选择任务列表 > 周期任务,可以查看新建的任务OTStoODPS。
任务会从第二天的00点00分开始执行。
  • 在左侧导航栏中,选择任务运维 > 周期实例,查看当天需要运行的周期任务。单击实例名称,可以查看详情。

  • 当单个任务在运行中或运行结束后可以查看日志。

步骤七 查看导入到MaxCompute中的数据

  1. 单击数据管理
  2. 在左侧导航栏,单击查找数据,会列出MaxCompute中的所有表。
  3. 找到刚刚导入数据的表(ots_gps_data),单击后进入该表的详情页。
  4. 单击数据预览页签,查看导入的数据。