一、全量同步
1.簡單字段同步
本次測試的表為mysql的系統庫-sakila中的actor表,由於不支援目的端自動建表,此處預先建立目的表:
create table`actor_copy` (
`actor_id`smallint(5) unsigned not nullauto_increment,
`first_name`varchar(45) not null,
`last_name`varchar(45) not null,
`last_update`timestamp not null default current_timestamp on update current_timestamp,primary key(`actor_id`),key`idx_actor_last_name` (`last_name`)
) engine=innodb auto_increment=201 default charset=utf8;
通過官方快速開始提供的命令,可以檢視配置模板:
python datax.py -r -w
python datax.py-r streamreader -w streamwriter
開啟datax的mysqlreader以及mysqlwriter文件,編寫json配置檔案:(此處經過試驗,即使是自增主鍵,同樣需要配置,否則會報輸入輸出不匹配的錯),加上json配置檔案的x許可權:
"job": ,"errorlimit":
},"content": [
,"writer": ,"errorlimit":
},"content": [
'","'$'"],"splitpk": "actor_id","connection": [
,"writer": -p \"-dsrc='' -dsystime=''\"".format( configfilepath, src, currenttime)
os.system(script2execute)
在srcipts下的啟動命令為:
python ./datax_start.py '/opt/datax/job/mysql_actor_copy_arg.json'
二、增量同步
增量同步的核心思路是時間戳,需要同步的表中要有update_time欄位:
增量資料和全量資料如何合併?使用full join
當然如果有例如更新時間,修改時間字段,可以直接將增量表into入昨日全量,然後根據id去重,取最新時間也是可以的
datax 模板 datax模板
datax 是乙個異構資料來源離線同步工具,致力於實現包括關係型資料庫 mysql oracle等 hdfs hive odps hbase ftp等各種異構資料來源之間穩定高效的資料同步功能。1.mysql2mysql.json job username userpassword dbname d...
datax 模板 DataX引擎
datax 引擎 一 datax簡介 datax採用的是framework plugin架構,資料來源讀取和寫入分別對應reader與writer外掛程式,每一種資料來源會有對應的reader或者writer,datax預設地提供了豐富的reader與writer支援,用於適配多種主流資料來源。fr...
datax 如何使用datax
content fielddelimiter writer 在當前目錄下執行python datax.py test.json命令,即可將datax執行起來 三 引數說明 1 datax使用json作為配置檔案,檔案可以是本地的也可以是遠端http伺服器上面 2 json配置檔案最外層是乙個job,...