datax 模板 DataX引擎

2021-10-16 18:54:11 字數 2230 閱讀 3488

datax 引擎

一、datax簡介

datax採用的是framework + plugin架構,資料來源讀取和寫入分別對應reader與writer外掛程式,每一種資料來源會有對應的reader或者writer,datax預設地提供了豐富的reader與writer支援,用於適配多種主流資料來源。framework用於連線reader和writer,並負責同步任務中的資料處理、扭轉等核心過程。

datax的資料同步任務,主要通過乙個配置檔案進行控制,其中最主要的配置是reader與writer的配置,這兩者分別代表如何從資料來源抽取資料,以及如何將抽取的資料寫入資料來源。通過在配置檔案中使用對應資料來源的reader與writer,即可完成異構資料來源的同步。

在ta-tool中,我們整合了datax引擎,並且編寫了ta集群的外掛程式(即ta集群的reader與writer),藉由ta集群外掛程式,可以將ta集群的作為datax的資料來源。

通過ta-tool中的datax引擎,您可以完成以下資料同步:

將其他資料庫中的資料,匯入到ta集群,需要使用datax的已有reader外掛程式與ta writer

將ta集群的資料,匯出到其他資料庫中,需要使用ta reader與datax的已有writer外掛程式

二、datax引擎的使用方式

如果需要使用ta-tool中的datax引擎進行多資料來源同步任務,那麼首先需要在ta集群中編寫datax任務的config檔案,其次是執行二次開發元件中的datax命令,讀取config檔案執行資料同步任務。

2.1 配置檔案樣例

datax的任務config檔案需要是乙個json檔案,json配置的模板如下:

"job": {

"content": [

"reader": {

"name": "streamreader",

"parameter": {

"slicerecordcount": 10,

"column": [

"type": "long",

"value": "10"

"type": "string",

"value": "hello,你好,世界-datax"

"writer": {

"name": "streamwriter",

"parameter": {

"encoding": "utf-8",

"print": true

"setting": {

"speed": {

"channel": 5

整個配置檔案是乙個json,最外層"job"元素,其中包含兩個元素,分別為"content"和"setting","content"內的元素中包含reader和writer的資訊,可以在本文後續部分檢視ta集群的reader和writer。"setting"中的"speed"內的"channel"是同時執行的任務數。

2.2 執行datax命令

完成配置檔案的編寫後,可以執行以下命令讀取配置檔案,並開始資料同步任務。

ta-tool datax_engine -conf [--date ]

傳入的引數為配置檔案所在路徑。

三、ta集群的datax外掛程式說明

3.1 集群內使用的外掛程式

型別資料來源

reader(讀)

writer(寫)

文件ta系統

ta自定義表

tajson文字

ta3.2 集群外使用的外掛程式

型別資料來源

reader(讀)

writer(寫)

文件ta系統

ta3.3 datax原生外掛程式

型別資料來源

reader(讀)

writer(寫)

文件rdbms 關係型資料庫

mysql

oracle

sqlserver

postgresql

drds

通用rdbms

阿里雲數倉資料儲存

odps

adsoss

ocsnosql資料儲存

otshbase0.94

hbase1.1

phoenix4.x

phoenix5.x

mongodb

hive

cassandra

無結構化資料儲存

txtfile

ftphdfs

elasticsearch

時間序列資料庫

opentsdb

tsdb

datax 模板 datax模板

datax 是乙個異構資料來源離線同步工具,致力於實現包括關係型資料庫 mysql oracle等 hdfs hive odps hbase ftp等各種異構資料來源之間穩定高效的資料同步功能。1.mysql2mysql.json job username userpassword dbname d...

datax 模板 datax實戰

一 全量同步 1.簡單字段同步 本次測試的表為mysql的系統庫 sakila中的actor表,由於不支援目的端自動建表,此處預先建立目的表 create table actor copy actor id smallint 5 unsigned not nullauto increment,fir...

datax 如何使用datax

content fielddelimiter writer 在當前目錄下執行python datax.py test.json命令,即可將datax執行起來 三 引數說明 1 datax使用json作為配置檔案,檔案可以是本地的也可以是遠端http伺服器上面 2 json配置檔案最外層是乙個job,...