天天看點

dataworks分鐘級别資料增量同步方案一、目的二、配置三、驗證

一、目的

本文實作的是,十分鐘排程的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}'            

分區資訊為

dataworks分鐘級别資料增量同步方案一、目的二、配置三、驗證

含義是将最近十分鐘的資料過濾出來,同步到maxcompute表的最新分區中(每十分鐘建立一個分區)。

4.同步任務排程配置(主要是參數配置和時間間隔,以及生成執行個體方式),截圖如下

dataworks分鐘級别資料增量同步方案一、目的二、配置三、驗證

其中參數為

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.确定十分鐘的周期執行個體已經生成,可以在運維中心檢視

dataworks分鐘級别資料增量同步方案一、目的二、配置三、驗證

2.向mysql的表mysql_test插入兩條資料,具體sql如下

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

資料如下

dataworks分鐘級别資料增量同步方案一、目的二、配置三、驗證

(上面兩條資料是之前插入的,忽略就好)

3.之前插入資料的addtime分别是2019-12-25 23:39:28和2019-12-25 23:39:38,這兩條資料會插入到intime=2019-12-25 23:40:00的分區中,等待10分鐘後檢視結果,~~~10分鐘過去了,截圖如下,可以使用如下語句驗證

dataworks分鐘級别資料增量同步方案一、目的二、配置三、驗證

4.大功告成!