DataX異構數據源離線同步工具json文件配置說明


DataX 是阿里開源的一個異構數據源離線同步工具,致力於實現包括關系型數據庫(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各種異構數據源之間穩定高效的數據同步功能。

DataX工具是用json文件作為配置文件的,根據官方提供文檔我們構建Json文件如下:

{

    "job": {

        "content": [

            {

                "reader": {

                    "name": "mysqlreader",

                    "parameter": {

                        "username": "root",

                        "password": "123456", 

                        "column": ["name","age"],

                        "where": "age<100",

                        "connection": [

                            {

                                "table": [

                                    "person"

                                ],

                                "jdbcUrl": [

                                    "jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8"

                                ]

                            }

                        ]

                    }

                },

                "writer": {

                    "name": "mysqlwriter",

                    "parameter": {

                        "username": "root",

                        "password": "123456",

                        "column": ["name","age_true"],

                        "connection": [

                            {

                                "table": [

                                    "person"

                                ],

                                "jdbcUrl":"jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8"                             

                            }

                        ]  

                    }

                }

            }

        ],

        "setting": {

                 "speed": {

                         "channel": 1,

                         "byte": 104857600

                 },

                 "errorLimit": {

                         "record": 10,

                         "percentage": 0.05

      }

    }

}

它由三部分組成,分別是讀插件,寫插件和通用配置。

1、Reader插件即讀插件,常用參數如下:

name: 與要讀取的數據庫一致,字符串

jdbcUrl: 數據庫鏈接 ,數組

username :數據庫用戶名,字符串

password:數據庫密碼, 字符串

table :要同步的表名,數組,需保證表結構一致

column:     要同步的列名, 數組

where :選取的條件,字符串

querySql:自定義查詢語句, 會自動忽略上述的同步條件

 

 2、Writer插件即寫插件,常用參數如下:

name:與要讀取的數據庫一致 ,字符串

jdbcUrl:數據庫鏈接,字符串

username:數據庫用戶名         字符串,數據庫的用戶名

password: 數據庫密碼 ,字符串,數據庫的密碼

table:要同步的表名,數組,需保證表結構一致

column :列名可以不對應,但是類型和總的個數要一致     數組,需保證表結構一致

preSql: 寫入前執行的語句,數組,比如清空表等,如TRUNCATE TABLE @table(或指定表名)

postSql : 寫入后執行的語句 ,數組

writeMode:寫入方式,默認為insert       insert/replace/update

session:DataX在獲取Mysql連接時,執行session指定的SQL語句,修改當前connection session屬性

batchSize 默認值:1024,一次性批量提交的記錄數大小,該值可以極大減少DataX與Mysql的網絡交互次數,並提升整體吞吐量。但是該值設置過大可能會造成DataX運行進程OOM情況。

 

3、通用配置:

(1)、job.setting.speed(流量控制)

Job支持用戶對速度的自定義控制,channel的值可以控制同步時的並發數,byte的值可以控制同步時的速度

(2)、job.setting.errorLimit(臟數據控制)

Job支持用戶對於臟數據的自定義監控和告警,包括對臟數據最大記錄數閾值(record值)或者臟數據占比閾值(percentage值),當Job傳輸過程出現的臟數據大於用戶指定的數量/百分比,DataX Job報錯退出。

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM