请先关注 [低调大师] 公众号 优秀的自媒体个人博客,低调大师,许军

低调大师

您现在的位置是:首页>文章详情

文章详情

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

2019-12-24 1489热度

一、目的

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

二、配置

  1. 创建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}' 

分区信息为dataworks1

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

4.同步任务调度配置(主要是参数配置和时间间隔,以及生成实例方式),截图如下
dataworks2
其中参数为
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.确定十分钟的周期实例已经生成,可以在运维中心查看
dataworks3

2.向mysql的表mysql_test插入两条数据,具体sql如下

Insert into mysql_test values(2,date_add(now(), interval 10 MINUTE_SECOND));

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

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

dataworks5

4.大功告成!

收藏 (0)

相关文章

    文章评论

    共有0条评论来说两句吧...