分钟级同步mysql数据_dataworks分钟级别数据增量同步方案

一、目的

本文实现的是,十分钟调度的mysql数据增量同步到maxcompute最新分区中。

二、配置 创建rds表,建表语句如下 create table if not exists mysql_test( id INT, addtime DATETIME );

2.创建maxcompute表,建表语句如下 id bigint, addtime datetime ) partitioned by (intime string);

3.配置同步任务,截图如下

其中数据过滤参数配置为 date_format(addtime,'%Y-%m-%d %H:%i:%s') <= '${key1} ${key3}'

分区信息为

note-104821.html

含义是将最近十分钟的数据过滤出来,同步到maxcompute表的最新分区中(每十分钟创建一个分区)。

4.同步任务调度配置(主要是参数配置和时间间隔,以及生成实例方式),截图如下

note-104821.html

其中参数为

key1=$[yyyy-mm-dd] key2=$[hh24:mi:ss-10/24/60] key3=$[hh24:mi:ss]

key1:当前的日期,格式是yyyy-mm-dd

key2:十分钟前的时间,格式是hh24:mi:ss

key3:当前时间,格式是hh24:mi:ss

参数说明参考

时间间隔配置为10分钟

生成实例方式为发布后及时生成

5.保存同步任务、提交

三、验证

1.确定十分钟的周期实例已经生成,可以在运维中心查看

note-104821.html

2.向mysql的表mysql_test插入两条数据,具体sql如下 Insert into mysql_test values(2,date_add(now(), interval 10 MINUTE_SECOND));

数据如下

note-104821.html

(上面两条数据是之前插入的,忽略就好)

3.之前插入数据的addtime分别是2019-12-25 23:39:28和2019-12-25 23:39:38,这两条数据会插入到intime=2019-12-25 23:40:00的分区中,等待10分钟后查看结果,~~~10分钟过去了,截图如下,可以使用如下语句验证

note-104821.html

4.大功告成!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值