datax 模板 datax實戰

2021-10-13 04:30:30 字數 1252 閱讀 2541

一、全量同步

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,...