全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
数据集成

OTSStream配置同步任务

更新时间:2017-10-27 08:44:44

简介

OTSStream 插件主要用于 Table Store 增量数据的导出,增量数据可以看作操作日志,除了数据本身外还附有操作信息。

与全量导出插件不同,增量导出插件只有多版本模式,且不支持指定列,这与增量导出的原理有关,导出格式的详细介绍请参见下文。配置OTSStream Reader

关于OTSStream配置同步任务有下面的注意项:
1.能读到的数据要在当前时间的前5分钟之前和24小时之内
2.设置结束时间不能超过系统显示的时间(即你设置结束时间要比您运行时间早5分钟)
3.配置日调度会有数据丢失;
4.不能配置周期调度和月调度;

例子:开始时间和结束时间,要包含操作Table Store表的时间,比如你20171019162000您有向Table Store插入2条数据,那你的开始时间可以设置成 开始时间:20171019161000 结束时间:20171019162600

操作步骤

步骤一:根据添加Table Store数据源
步骤二:操作Table Store表
步骤三:创建同步任务
步骤四:运行同步任务和调度运行同步任务

步骤一和步骤二在此文档就不详细的介绍,添加Table Store数据源可以到数据源配置找到相应的文档。操作Table Store表您这边可以参考Table Store官方文档。

向导模式配置同步任务

  1. 以项目管理员身份进入数加管理控制台,点击大数据开发套件下对应项目操作栏中的进入工作区;

  2. 进入顶部菜单栏中的数据集成页面,选择脚本模式,如下图;

    向导模式:向导模式是可视化界面配置同步任务, 一共涉及到五步,选择来源,选择目标,字段映射,通道控制,预览保存。在每个不同的数据源之间,这几步的界面可能有不同的内容,向导模式可以转换成脚本模式。
    脚本模式:进入脚本界面你可以选择相应的模板,此模板包含了同步任务的主要参数,将相关的信息填写完整,但是脚本模式不能转化成向导模式。

  3. 选择来源: 选择 OTSStream 数据源及源头表 person,数据浏览默认是收起的,选择后点击下一步,如下图所示:

    数据源: 选择来源的数据源的名称。
    : 导出增量数据的表的名称。该表需要开启 Stream,可以在建表时开启,或者使用 UpdateTable 接口开启。
    开始时间:增量数据的时间范围(左闭右开)的左边界,格式yyyymmddhh24miss,单位毫秒。
    结束时间:增量数据的时间范围(左闭右开)的右边界,格式yyyymmddhh24miss,单位毫秒。
    状态表:用于记录状态的表的名称。 最大重试次数:从TableStore中读增量数据时,每次请求的最大重试次数,默认是30。
    导出时间信息:是否导出时序信息,时序信息包含了数据的写入时间等。

  4. 选择目标: 选择MaxCompute数据源及目标表person,选择后点击下一步,如下图所示:

  5. 映射字段: 点击下一步,选择字段的映射关系。需对字段映射关系进行配置,左侧“源头表字段”和右侧“目标表字段”为一一对应的关系 ,如下图所示。

  6. 通道控制点击下一步,配置作业速率上限和脏数据检查规则,如下图所示:

  7. 通道控制点击下一步,配置作业速率上限和脏数据检查规则,如下图所示:

    作业速率上限:是指数据同步作业可能达到的最高速率,其最终实际速率受网络环境、数据库配置等的影响。 作业并发数:作业速率上限=作业并发数*单并发的传输速率 当作业速率上限已选定的情况下,应该如何选择作业并发数?
    ① 如果你的数据源是线上的业务库,建议您不要将并发数设置过大,以防对线上库造成影响;
    ② 如果您对数据同步速率特别在意,建议您选择最大作业速率上限和较大的作业并发数 ;

  8. 预览保存: 完成以上配置后,上下滚动鼠标可查看任务配置,如若无误,点击保存,如下图所示:

  9. 直接手动运行同步任务,下面显示的时间是同步16:10到16:30这段时间的操作Table Store表的记录

脚本模式配置同步任务

  1. {
  2. "type": "job",
  3. "version": "1.0",
  4. "configuration": {
  5. "reader": {
  6. "plugin": "otsstream",
  7. "parameter": {
  8. "datasource": "otsstream",//数据源名,保持跟您添加的数据源名一致
  9. "dataTable": "person",//导出增量数据的表的名称。该表需要开启 Stream,可以在建表时开启,或者使用 UpdateTable 接口开启
  10. "startTimeString": "${startTime}",//增量数据的时间范围(左闭右开)的左边界,格式yyyymmddhh24miss,单位毫秒
  11. "endTimeString": "${endTime}",//运行时间
  12. "statusTable": "TableStoreStreamReaderStatusTable",//用于记录状态的表的名称
  13. "maxRetries": 30,//请求的最大重试次数
  14. "isExportSequenceInfo": true,
  15. "mode": "ots",
  16. "column": [//列名
  17. "id",
  18. "colname",
  19. "version",
  20. "colvalue",
  21. "optype",
  22. "sequenceinfo"
  23. ]
  24. }
  25. },
  26. "writer": {
  27. "plugin": "odps",
  28. "parameter": {
  29. "datasource": "odps_first",//数据源名
  30. "table": "person",//目标表名
  31. "truncate": true,
  32. "partition": "pt=${bdp.system.bizdate}",//分区信息
  33. "column": [//目标列名
  34. "id",
  35. "colname",
  36. "version",
  37. "colvalue",
  38. "optype",
  39. "sequenceinfo"
  40. ]
  41. }
  42. },
  43. "setting": {
  44. "speed": {
  45. "mbps": 7,//作业速率上限
  46. "concurrent": 7//并发数
  47. }
  48. }
  49. }
  50. }

运行同步任务,检查目标端的数据质量


注意:怎么产生操作记录可以咨询Table Store同学,例如:上面是我向Table Store表person里put(插入)两条数据,然而操作记录为4条,因为一个put(插入) 操作相当于一个delete 和 update。

配置调度任务

  1. 下面以分钟调度为例

    这个是设置分钟调度从00:00到23:59,startTime=$[yyyymmddhh24miss-10/24/60]系统前10分钟到endTime=$[yyyymmddhh24miss-5/24/60]系统前5分钟时间,关于参数设置请参考文档:参数配置
  2. 运维中心的产生的任务

  3. 运行的实例

本文导读目录