增量数据同步
通过选择已注册的数据源端数据和目标端,实现增量任务自动建表的方式创建离线同步周期任务,本文介绍如何创建MySQL to MaxCompute离线增量数据同步周期调度的任务。
前提条件
操作步骤
登录数据资源平台控制台。
在页面左上角,选择
> 研发工作台。
在顶部菜单栏,单击
图标,选择目标工作组。
在左侧导航栏,单击
> 离线数据同步。
在离线数据同步页面,单击新增任务,
在离线数据同步管理页面,配置离线同步周期任务。
在填写基本信息区域,填写基本信息,任务名称“信用卡客户数据上云_增量”。
在数据源配置区域。
参数
说明
示例
数据源
必填项,数据来源端的数据源类型以及该类型下已添加的数据源。
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的银行客户数据。
在目标端配置区域
参数
说明
示例
目标端
数据写入目标端的数据源类型以及该类型下已添加的数据源。
MaxCompute/dataq_odps_dev
数据对象
数据源中数据实际写入的表。
stg_base_yhkh_demo_di
初始化全量同步
非必填。
勾选该项,本同步任务首次运行将会全量同步数据。
不勾选
若目标端数据源中已有该表,单击数据对象下拉框进行选中即可。若无目标表,可参考以下步骤进行创建。
单击数据对象下拉列表,选择创建目标对象。
在创建表对话窗中,系统会根据上一步配置的数据源数据对象自动生成表名、备注以及字段。您需要将表名修改为“stg_base_yhkh_demo_di“,分区信息为“非分区表”。
配置完成,单击确定,返回任务配置页面。
单击下一步,在字段映射区域默认选择同名映射。
单击下一步,配置任务调度区域,任务调度支持两种类型,分别为周期调度和一次性调度。本示例选择周期调度,详情内容参考下表。
参数
说明
示例
任务调度类型
必选项,任务调度类型分为周期调度和一次性调度。
周期调度
生效日期
必选项,自定义任务的生效范围。
2022-12-14到9999-01-01
调度周期
全量和增量的调度周期均分为分钟,小时,日,周,月。
分钟:设置间隔时间,指的是每隔多少分钟任务运行一次。
小时:设置间隔时间和指定时间。
间隔时间:指的是每隔多少小时任务运行一次。
指定时间:任务在指定的时间点运行,可多选。
日:设置运行的具体时间。
周:选择每周星期几运行,并设置运行的具体时间,可多选。
月:选择每月几号运行,并设置运行的具体时间,可多选。
日,13:15
说明意为每日13:15调度该增量同步任务。
指定运行分钟
调度周期选择小时的时候,设置任务在指定的时间点运行。
无
优先级
设置任务运行的优先级,可设置为中、高、低三个级别。默认为低。
低
请选择
非必选项,支持通过点选设置任务运行的相关配置,可多选。
依赖上一周期:指定任务的上一个周期实例运行完成(包括正常完成和异常完成),才能运行下一个周期实例。
运行异常,下线任务:当任务的实例运行异常时,自动将任务下线。
开启任务预警:选中后,上线的同步任务将自动推送到监控运维的监控任务管理中。
依赖同周期上游节点:选中后,通过选择工作组中的节点,设置同步任务的依赖节点。
无
单击下一步,在解析配置区域,可编写解析脚本,该步骤为可选项,本文不做设置。
说明配置完解析脚本后,将不再对源端配置的增量字段作解析,直接使用配置脚本在源端查询数据。
单击提交,页面显示任务创建成功,自动跳转至离线数据同步页面。
在离线数据同步管理页面,选择新增的全量离线数据同步任务,操作列中单击上线。
预期结果
在离线数据同步管理页面,选择上线状态的“信用卡客户数据上云_增量”同步任务,操作列中单击监控,跳转至运维监控,单击左侧导航栏中的离线计算实例,查看今天运行的周期任务,可见增量离线周期同步任务已在设置的调度时间“2022-12-14 13:15:00”运行并在“2022-12-14 13:16:31”运行成功。
前往数据查询模块,单击物理表查询,选择目标端数据源及表“dataq_odps_dev/stg_base_yhkh_demo_di”,在数据预览中可查看“stg_base_yhkh_demo_di”表中已写入zjzdjyrq(最近主动交易日期)为2022-12-13且gz(工资)大于10000元的数据。