增量數(shù)據(jù)同步
通過(guò)選擇已注冊(cè)的數(shù)據(jù)源端數(shù)據(jù)和目標(biāo)端,實(shí)現(xiàn)增量任務(wù)自動(dòng)建表的方式創(chuàng)建離線同步周期任務(wù),本文介紹如何創(chuàng)建MySQL to MaxCompute離線增量數(shù)據(jù)同步周期調(diào)度的任務(wù)。
前提條件
已新建工作組“信息中心(xxzx)”,具體操作,請(qǐng)參見(jiàn)新建工作組。
已在工作組中分別添加數(shù)據(jù)源類型為MaxCompute、RDS MySQL的數(shù)據(jù)源,具體操作,請(qǐng)參見(jiàn)新建云計(jì)算資源。
已獲取數(shù)據(jù)源的物理表,具體操作,請(qǐng)參見(jiàn)獲取物理表。
RDS MySQL數(shù)據(jù)源已有ys_yhkh表作為數(shù)據(jù)同步來(lái)源表,表結(jié)構(gòu)及數(shù)據(jù)獲取請(qǐng)參見(jiàn)RDS腳本。
操作步驟
在頁(yè)面左上角,選擇 > 協(xié)同。
在頂部菜單欄,單擊圖標(biāo),選擇目標(biāo)工作組。
在左側(cè)導(dǎo)航欄,單擊> 離線數(shù)據(jù)同步。
在離線數(shù)據(jù)同步頁(yè)面,單擊新增任務(wù),
在離線數(shù)據(jù)同步管理頁(yè)面,配置離線同步周期任務(wù)。
填寫基本信息,任務(wù)名稱“信用卡客戶數(shù)據(jù)上云_增量”。
在源端配置區(qū)域,配置數(shù)據(jù)源端。
參數(shù)
說(shuō)明
示例
數(shù)據(jù)源
必選項(xiàng),數(shù)據(jù)來(lái)源端的數(shù)據(jù)源類型以及該類型下已添加的數(shù)據(jù)源。
MySQL/dataq_dws_rds
數(shù)據(jù)表
必選項(xiàng),數(shù)據(jù)源中數(shù)據(jù)實(shí)際來(lái)源表或文件。
ys_yhkh(未上云)
同步模式
必選項(xiàng),數(shù)據(jù)進(jìn)行同步的方式,可根據(jù)實(shí)際情況選擇全量數(shù)據(jù)同步或者根據(jù)增量字段進(jìn)行增量數(shù)據(jù)同步。
本文因介紹增量離線同步任務(wù),此處需點(diǎn)選增量。
增量
增量字段
數(shù)據(jù)進(jìn)行增量同步時(shí)依據(jù)的字段。針對(duì)數(shù)值、時(shí)間日期、字符串類型字段,或者自增主鍵。根據(jù)所選字段進(jìn)行最新點(diǎn)位查詢和記錄(select max(column)),并據(jù)此拼接數(shù)據(jù)過(guò)濾語(yǔ)句,實(shí)現(xiàn)數(shù)據(jù)增量同步。如當(dāng)前數(shù)據(jù)源不具備符合要求增量字段,請(qǐng)使用全量同步或?qū)崟r(shí)同步。
zjzdjyrq
說(shuō)明zjzdjyrq(最近主動(dòng)交易日期)字段為Date類型。
字段數(shù)據(jù)類型
若增量字段為字符串類型,該項(xiàng)必填。
根據(jù)字符串類型,將字符串分為時(shí)間字符串、整數(shù)字符串、浮點(diǎn)字符串以及字符串,您可根據(jù)該字段的實(shí)際數(shù)據(jù)進(jìn)行選擇。
無(wú)
取數(shù)規(guī)則
非必填,只針對(duì)日期數(shù)據(jù)做取數(shù)規(guī)則,其中yyyy表示4位的年份、yy表示2位的年份、mm(MM)表示月、dd表示天、hh24表示小時(shí)(12進(jìn)制使用hh)、mi表示分鐘、ss表示秒。您可以任意組合參數(shù),例如$[yyyymmdd]、$[yyyy-mm-dd]、$[hh24miss]、$[hh24:mi:ss]和$[yyyymmddhh24miss]等。
${}表達(dá)式可取業(yè)務(wù)日期數(shù)據(jù),最小單位為天,例:${yyyyMMdd},表示取前一天數(shù)據(jù),${yyyyMM-1}表示取前一個(gè)月數(shù)據(jù)。
$[]表達(dá)式取調(diào)度時(shí)間,最小單位為天,例:$[yyyyMMdd-1/24],表示取當(dāng)前時(shí)間前一小時(shí)數(shù)據(jù)。
支持時(shí)間戳取數(shù)函數(shù)sysMillis(毫秒)、sysSeconds(秒),單位為天,例:${sysMillis},表示取前一天數(shù)據(jù)。
$[yyyyMMdd-1]
說(shuō)明取調(diào)度時(shí)間前一天的數(shù)據(jù),例如本示例調(diào)度時(shí)間為2022-12-24,那么實(shí)際同步時(shí)會(huì)同步zjzdjyrq字段2022-12-23的數(shù)據(jù)。
配置自定義條件
非必填,支持輸入自定義SQL查詢條件,根據(jù)條件進(jìn)行全量數(shù)據(jù)同步。
gz>10000
說(shuō)明同步工資大于10000的銀行客戶數(shù)據(jù)。
在目標(biāo)端配置區(qū)域,配置目標(biāo)端數(shù)據(jù)。
參數(shù)
說(shuō)明
示例
目標(biāo)端
數(shù)據(jù)寫入目標(biāo)端的數(shù)據(jù)源類型以及該類型下已添加的數(shù)據(jù)源。
MaxCompute/dataq_odps_dev
數(shù)據(jù)表
數(shù)據(jù)源中數(shù)據(jù)實(shí)際寫入的表。
若目標(biāo)端數(shù)據(jù)源中已有該表,單擊數(shù)據(jù)表下拉框進(jìn)行選中即可。若無(wú)目標(biāo)表,可參考以下步驟進(jìn)行創(chuàng)建。
單擊數(shù)據(jù)表下拉列表,選擇創(chuàng)建目標(biāo)對(duì)象。
在創(chuàng)建表對(duì)話窗中,系統(tǒng)會(huì)根據(jù)上一步配置的數(shù)據(jù)源數(shù)據(jù)對(duì)象自動(dòng)生成表名、備注以及字段。您需要將表名修改為“stg_base_yhkh_demo_di“,分區(qū)信息為“非分區(qū)表”。
配置完成,單擊確定,返回任務(wù)配置頁(yè)面。
stg_base_yhkh_demo_di
初始化全量同步
非必填。
勾選該項(xiàng),本同步任務(wù)首次運(yùn)行將會(huì)全量同步數(shù)據(jù)。
不勾選
在字段映射區(qū)域默認(rèn)選擇同名映射。
在解析配置區(qū)域,可編寫解析腳本,該步驟為可選項(xiàng),本文不做設(shè)置。
說(shuō)明配置完解析腳本后,將不再對(duì)源端配置的增量字段作解析,直接使用配置腳本在源端查詢數(shù)據(jù)。
在頁(yè)面右側(cè)單擊調(diào)度配置,配置任務(wù)調(diào)度。任務(wù)調(diào)度支持兩種類型,分別為周期調(diào)度和一次性調(diào)度,本示例選擇周期調(diào)度,詳情內(nèi)容參考下表。
參數(shù)
說(shuō)明
示例
周期調(diào)度
打開(kāi)周期調(diào)度開(kāi)關(guān)。
周期調(diào)度
生效日期
必選項(xiàng),自定義任務(wù)的生效范圍。
2022-12-14到9999-01-01
調(diào)度周期
全量和增量的調(diào)度周期均分為分鐘,小時(shí),日,周,月。
分鐘:設(shè)置間隔時(shí)間,指的是每隔多少分鐘任務(wù)運(yùn)行一次。
小時(shí):設(shè)置間隔時(shí)間和指定時(shí)間。
間隔時(shí)間:指的是每隔多少小時(shí)任務(wù)運(yùn)行一次。
指定時(shí)間:任務(wù)在指定的時(shí)間點(diǎn)運(yùn)行,可多選。
天:設(shè)置運(yùn)行的具體時(shí)間。
周:選擇每周星期幾運(yùn)行,并設(shè)置運(yùn)行的具體時(shí)間,可多選。
月:選擇每月幾號(hào)運(yùn)行,并設(shè)置運(yùn)行的具體時(shí)間,可多選。
天,13:15
說(shuō)明意為每日13:15調(diào)度該增量同步任務(wù)。
配置完成后,在離線數(shù)據(jù)同步管理頁(yè)面左上角,單擊圖標(biāo)。
在離線數(shù)據(jù)同步管理頁(yè)面,選擇新增的全量離線數(shù)據(jù)同步任務(wù),操作列中單擊上線。
預(yù)期結(jié)果
在離線數(shù)據(jù)同步管理頁(yè)面,選擇上線狀態(tài)的“信用卡客戶數(shù)據(jù)上云_增量”同步任務(wù),操作列中單擊監(jiān)控,跳轉(zhuǎn)至運(yùn)維監(jiān)控,單擊左側(cè)導(dǎo)航欄中的離線計(jì)算實(shí)例,查看今天運(yùn)行的周期任務(wù),可見(jiàn)增量離線周期同步任務(wù)已在設(shè)置的調(diào)度時(shí)間“2022-12-14 13:15:00”運(yùn)行并在“2022-12-14 13:16:31”運(yùn)行成功。
前往數(shù)據(jù)查詢模塊,單擊物理表查詢,選擇目標(biāo)端數(shù)據(jù)源及表“dataq_odps_dev/stg_base_yhkh_demo_di”,在數(shù)據(jù)預(yù)覽中可查看“stg_base_yhkh_demo_di”表中已寫入zjzdjyrq(最近主動(dòng)交易日期)為2022-12-13且gz(工資)大于10000元的數(shù)據(jù)。