增量数据同步

通过选择已注册的数据源端数据和目标端,实现增量任务自动建表的方式创建离线同步周期任务,本文介绍如何创建MySQL to MaxCompute离线增量数据同步周期调度的任务。

前提条件

  1. 已新建工作组“信息中心(xxzx)”,具体操作,请参见新建工作组

  2. 已在工作组中分别添加数据源类型为MaxCompute、RDS MySQL的数据源,具体操作,请参见新建云计算资源

  3. 已获取数据源的物理表,具体操作,请参见获取物理表

  4. RDS MySQL数据源已有ys_yhkh表作为数据同步来源表,表结构及数据获取请参见RDS脚本

操作步骤

  1. 登录数据资源平台控制台

  2. 在页面左上角,选择菜单协同

  3. 在顶部菜单栏,单击选择工作组图标,选择目标工作组。

  4. 在左侧导航栏,单击数据同步.png离线数据同步

  5. 离线数据同步页面,单击新增任务

  6. 离线数据同步管理页面,配置离线同步周期任务。

    1. 填写基本信息,任务名称“信用卡客户数据上云_增量”。

    2. 源端配置区域,配置数据源端。

      参数

      说明

      示例

      数据源

      必选项,数据来源端的数据源类型以及该类型下已添加的数据源。

      MySQL/dataq_dws_rds

      数据表

      必选项,数据源中数据实际来源表或文件。

      ys_yhkh(未上云)

      同步模式

      必选项,数据进行同步的方式,可根据实际情况选择全量数据同步或者根据增量字段进行增量数据同步。

      本文因介绍增量离线同步任务,此处需点选增量

      增量

      增量字段

      数据进行增量同步时依据的字段。针对数值、时间日期、字符串类型字段,或者自增主键。根据所选字段进行最新点位查询和记录(select max(column)),并据此拼接数据过滤语句,实现数据增量同步。如当前数据源不具备符合要求增量字段,请使用全量同步或实时同步。

      zjzdjyrq

      说明

      zjzdjyrq(最近主动交易日期)字段为Date类型。

      字段数据类型

      若增量字段为字符串类型,该项必填。

      根据字符串类型,将字符串分为时间字符串、整数字符串、浮点字符串以及字符串,您可根据该字段的实际数据进行选择。

      取数规则

      非必填,只针对日期数据做取数规则,其中yyyy表示4位的年份、yy表示2位的年份、mm(MM)表示月、dd表示天、hh24表示小时(12进制使用hh)、mi表示分钟、ss表示秒。您可以任意组合参数,例如$[yyyymmdd]、$[yyyy-mm-dd]、$[hh24miss]、$[hh24:mi:ss]和$[yyyymmddhh24miss]等。

      • ${}表达式可取业务日期数据,最小单位为天,例:${yyyyMMdd},表示取前一天数据,${yyyyMM-1}表示取前一个月数据。

      • $[]表达式取调度时间,最小单位为天,例:$[yyyyMMdd-1/24],表示取当前时间前一小时数据。

      • 支持时间戳取数函数sysMillis(毫秒)、sysSeconds(秒),单位为天,例:${sysMillis},表示取前一天数据。

      $[yyyyMMdd-1]

      说明

      取调度时间前一天的数据,例如本示例调度时间为2022-12-24,那么实际同步时会同步zjzdjyrq字段2022-12-23的数据。

      配置自定义条件

      非必填,支持输入自定义SQL查询条件,根据条件进行全量数据同步。

      gz>10000

      说明

      同步工资大于10000的银行客户数据。

    3. 目标端配置区域,配置目标端数据。

      参数

      说明

      示例

      目标端

      数据写入目标端的数据源类型以及该类型下已添加的数据源。

      MaxCompute/dataq_odps_dev

      数据表

      数据源中数据实际写入的表。

      若目标端数据源中已有该表,单击数据表下拉框进行选中即可。若无目标表,可参考以下步骤进行创建。

      1. 单击数据表下拉列表,选择创建目标对象

      2. 创建表对话窗中,系统会根据上一步配置的数据源数据对象自动生成表名、备注以及字段。您需要将表名修改为“stg_base_yhkh_demo_di“,分区信息为“非分区表”。

      3. 配置完成,单击确定,返回任务配置页面。

      stg_base_yhkh_demo_di

      初始化全量同步

      非必填。

      勾选该项,本同步任务首次运行将会全量同步数据。

      不勾选

    4. 字段映射区域默认选择同名映射

    5. 解析配置区域,可编写解析脚本,该步骤为可选项,本文不做设置。

      说明

      配置完解析脚本后,将不再对源端配置的增量字段作解析,直接使用配置脚本在源端查询数据。

    6. 在页面右侧单击调度配置,配置任务调度。任务调度支持两种类型,分别为周期调度一次性调度,本示例选择周期调度,详情内容参考下表。

      参数

      说明

      示例

      周期调度

      打开周期调度开关。

      周期调度

      生效日期

      必选项,自定义任务的生效范围。

      2022-12-14到9999-01-01

      调度周期

      全量和增量的调度周期均分为分钟,小时,日,周,月。

      • 分钟:设置间隔时间,指的是每隔多少分钟任务运行一次。

      • 小时:设置间隔时间和指定时间。

        • 间隔时间:指的是每隔多少小时任务运行一次。

        • 指定时间:任务在指定的时间点运行,可多选。

      • 天:设置运行的具体时间。

      • 周:选择每周星期几运行,并设置运行的具体时间,可多选。

      • 月:选择每月几号运行,并设置运行的具体时间,可多选。

      天,13:15

      说明

      意为每日13:15调度该增量同步任务。

  7. 配置完成后,在离线数据同步管理页面左上角,单击image.png图标。

  8. 离线数据同步管理页面,选择新增的全量离线数据同步任务,操作列中单击上线

预期结果

  1. 离线数据同步管理页面,选择上线状态的“信用卡客户数据上云_增量”同步任务,操作列中单击监控,跳转至运维监控,单击左侧导航栏中的离线计算实例,查看今天运行的周期任务,可见增量离线周期同步任务已在设置的调度时间“2022-12-14 13:15:00”运行并在“2022-12-14 13:16:31”运行成功。

    image.png

  2. 前往数据查询模块,单击物理表查询,选择目标端数据源及表“dataq_odps_dev/stg_base_yhkh_demo_di”,在数据预览中可查看“stg_base_yhkh_demo_di”表中已写入zjzdjyrq(最近主动交易日期)为2022-12-13且gz(工资)大于10000元的数据。

    image.png